P0f (acronimo di Passive OS fingerprinting) è un Software Open Source (licenza GPL) che attraverso la tecnica fingerprinting passivo riesce a determinare il sistema operativo di un host remoto.[1][2]

P0f
software
Schermata di esempio
Schermata di esempio
GenereUtility
SviluppatoreMichał Zalewski
Data prima versione2000
Ultima versione3.09b
Sistema operativoMultipiattaforma
LinguaggioC
Sito weblcamtuf.coredump.cx/p0f3/

Metodi di identificazione modifica

Esistono sostanzialmente due tecniche per determinare da remoto il sistema operativo di un target.[3]

Metodo tradizionale modifica

Metodo utilizzato in programmi quali queso e nmap, consiste nel trasmettere una sequenza di pacchetti anomali e analizzarne le risposte. Ogni sistema operativo caratterizzerà le risposte.

Metodo passivo modifica

Consiste nell'analizzare il traffico presente sulla rete (Sniffing) notando le caratterizzazioni presenti nei pacchetti.

  • TTL (Intestazione IP)
  • WIN (Finestra)
  • DF (Intestazione IP)
  • TOS (Intestazione IP)

Il TTL (Time to live) è il numero massimo di router che il pacchetto può attraversare prima di essere rimosso dalla rete (operazione di drop); quando il valore raggiunge 0, il pacchetto viene rimosso dalla rete, e un messaggio ICMP è restituito al mittente. L'insieme di valori TTL differisce a seconda del sistema operativo utilizzato. Per esempio i sistemi Windows avranno un valore di 32, mentre per Linux avrà un TTL di 64. Il formato della finestra è l'opzione di controllo di flusso usata nel TCP.

Quando un ospite inizia un collegamento, esso rende noto lo spazio messo a disposizione in modo da non essere sommerso da dati troppo consistenti. Il DF è l'insieme di valori di frammentazione del pacchetto. Il TOS (tipo di servizio) è regolato da quattro valori: minimizzare, elevare il rendimento, elevare l'affidabilità, minimizzare il costo. Per esempio i pacchetti del Telnet hanno il valore "minimizzare", mentre l'SNMP ha l'opzione di elevare l'affidabilità.

Vantaggi modifica

Il vantaggio principale della tecnica passiva risiede nella sua metodologia non invasiva. Questa caratteristica permette di non essere facilmente individuabili da software di controllo Intrusion detection system/Firewall.[4]

Note modifica

  1. ^ (EN) Passive OS Fingerprinting, su Netresec. URL consultato il 3 giugno 2020.
  2. ^ (EN) p0f, su lcamtuf.coredump.cx. URL consultato il 3 giugno 2020.
  3. ^ (EN) Passive Fingerprinting - an overview, su sciencedirect.com. URL consultato il 3 giugno 2020.
  4. ^ (EN) CAPEC - CAPEC-313: Passive OS Fingerprinting, su capec.mitre.org. URL consultato il 3 giugno 2020.

Voci correlate modifica

Collegamenti esterni modifica