También se puede usar p0f para averiguar los sistemas operativos que están en una determinada zona física de dos formas:
- Bien lanzando p0f y especificando la interface ath0 (mi interfaz expuesta al tráfico en este caso) . Empezaremos a recoger y analizar el trafico que circula por el aire de nuestro alrededor.
- analizando algún fichero tipo .cap o .pcap. Este tipo de ficheros suelen ser la salida de una sesión de sniffing. En este caso, es un fichero que guarda unos minutos de sniffing en la biblioteca de la facultad…
Se puede analizar el tráfico guardado en un archivo cap o pcap con la opción –s.
En concreto –s hará:
-s file read packets from tcpdump snapshot; this is an alternate mode of operation, in which p0f reads packet from pcapdata capture file, instead of a live network. Useful for forensics (this will parse tcpdump -w output,f.e).
La red con la que vamos a trabajar en este caso se puede parecer a la siguiente figura:
A continuación muestro el resultado de la herramienta ante esta nueva situación:
# p0f -s ‘/home/joseda/capturas/15_5_2008v1′
p0f – passive os fingerprinting utility, version 2.0.8
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on ‘/home/joseda/capturas/15_5_2008v1′, 262 sigs (14 generic, cksum 0F1F5CA2), rule: ‘all’.
10.101.6.107:51636 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 72.14.221.91:80 (distance 0, link: ethernet/modem)
10.101.6.107:50615 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 91.189.90.132:80 (distance 0, link: ethernet/modem)
10.101.6.107:50616 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 91.189.90.132:80 (distance 0, link: ethernet/modem)
10.101.6.107:33916 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 91.189.88.31:80 (distance 0, link: ethernet/modem)
10.101.6.107:33916 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 91.189.88.31:80 (distance 0, link: ethernet/modem)
:4202 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.5.179:4202 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
… Muchas trazas que dicen la misma información que la expuesta
10.101.6.107:54864 – Linux 2.6 (newer, 2) (up: 0 hrs)
-> 72.5.124.55:80 (distance 0, link: ethernet/modem)
10.101.5.179:4573 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.5.165:4573 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.5.165:4623 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.5.179:4623 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.5.179:4623 – Windows 2000 SP2+, XP SP1+ (seldom 98)
-> 10.101.5.120:445 (distance 0, link: ethernet/modem)
10.101.6.107:33859 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 72.5.124.55:80 (distance 0, link: ethernet/modem)
10.101.6.107:46258 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 72.5.124.55:80 (distance 0, link: ethernet/modem)
10.101.6.107:39107 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 10.101.0.1:443 (distance 0, link: ethernet/modem)
10.101.6.107:48759 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 10.101.0.1:443 (distance 0, link: ethernet/modem)
[+] End of input file.
El archivo .cap se creó con la herramienta wireshark. Aunque podía haberse creado con cualquier otra como ettercap o ethereal… En este ejemplo en concreto se pueden apreciar dos sistemas operativos que son Windows 2000 SP2+ y Linux 2.6; esto es por que a la hora del sniffing no había cerca más portátiles y la tarjeta no “coge” mucho tráfico lejano (solo cercano), aunque como vemos algo si coge(además de lo de mi máquina).
Lo que quiero reflejar con este ejemplo, es que un administrador o atacante que quisiera obtener diversa información de un grupo de personas, las cuales están conectadas a la misma red en la que está él, mediante un sniffer podría capturar la información y luego realizar diversos procesos; entre ellos averiguar los sistemas operativos que utilizan mediante p0f. Veo mejor esta forma que lanzar al principio p0f directamente, ya que podemos realizar otros tratamientos que nos pueden revelar mayor información sobre las víctimas.
Decir también, que podemos lanzar p0f y luego guardar lo que ha capturado en formato para el programa tcpdump y derivados, pero soy más partidario de utilizar por ej. Wireshark y a partir de ahí, lo que haga falta.
Una mejora con respecto a las anteriores versiones es que puedes incluir la opción de que te visualice el trafico que está leyendo con marcas de tiempo “entendibles para los humanos”. Esto se hace con la opción -t:
root@joseda-mindlap:~# p0f -s ‘/home/joseda/capturas/13_5_2008v2′ -t
p0f – passive os fingerprinting utility, version 2.0.8
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on ‘/home/joseda/capturas/13_5_2008v2′, 262 sigs (14 generic, cksum 0F1F5CA2), rule: ‘all’.
<Thu May 15 17:12:33 2008> 10.101.7.191:50443 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 72.14.221.91:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:14 2008> 10.101.7.191:41236 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 72.5.124.55:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:15 2008> 10.101.7.191:33373 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 72.5.124.55:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:33 2008> 10.101.7.191:43181 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 74.125.39.104:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:33 2008> 10.101.7.191:35136 – Linux 2.6 (newer, 2) (up: 2 hrs)
-> 74.125.39.99:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:54 2008> 10.101.7.191:35137 – Linux 2.6 (newer, 2) (up: 3 hrs)
-> 74.125.39.99:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:13:59 2008> 10.101.7.191:56301 – Linux 2.6 (newer, 2) (up: 3 hrs)
-> 216.93.175.73:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:14:00 2008> 10.101.7.191:56302 – Linux 2.6 (newer, 2) (up: 3 hrs)
-> 216.93.175.73:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:14:02 2008> 10.101.7.191:43227 – Linux 2.6 (newer, 2) (up: 3 hrs)
-> 72.14.217.104:80 (distance 0, link: ethernet/modem)
<Thu May 15 17:14:02 2008> 10.101.7.191:56304 – Linux 2.6 (newer, 2) (up: 3 hrs)
-> 216.93.175.73:80 (distance 0, link: ethernet/modem)
Esto siempre nos puede resultar útil a la hora de obtener información. Podemos saber a qué usuarios pertenecen las conexiones si tenemos suerte…
Posts relacionados:
Fingerprinting
Fingerprinting activo y pasivo
La herramienta de fingerprinting P0F
Usando P0f (I)- Un ordenador en una LAN cualquiera
Usando P0f (II)- Trabajando con un archivo de capturas.
Usando P0f (III) – P0f para OS Guessing remoto.
Usando P0f (IV) – P0f para OS Guessing de máquinas que rechazan nuestras conexiones.










