28Aug
¿Sabía que puede averiguar qué sistema operativo está ejecutando un dispositivo en red simplemente observando la forma en que se comunica en la red? Echemos un vistazo a cómo podemos descubrir qué sistema operativo están ejecutando nuestros dispositivos.
¿Por qué harías esto?
Determinar qué OS está ejecutando una máquina o dispositivo puede ser útil por muchas razones. Primero, echemos un vistazo a la perspectiva cotidiana, imaginemos que desea cambiarse a un nuevo ISP que ofrece Internet sin límite por $ 50 al mes, por lo que prueba su servicio. Al utilizar la huella digital del sistema operativo, pronto descubrirá que tienen enrutadores de basura y ofrecen un servicio PPPoE que se ofrece en un montón de máquinas con Windows Server 2003.Ya no suena tan bien, ¿eh?
Otro uso para esto, aunque no tan ético, es el hecho de que los agujeros de seguridad son específicos del sistema operativo. Por ejemplo, si haces un escaneo de puertos y encuentras que el puerto 53 está abierto y la máquina está ejecutando una versión desfasada y vulnerable de Bind, tienes una ÚNICA oportunidad de explotar el agujero de seguridad ya que un intento fallido colisionaría con el daemon.
¿Cómo funciona la huella digital del sistema operativo?
Cuando se realiza un análisis pasivo del tráfico actual o incluso se observan antiguas capturas de paquetes, una de las formas más sencillas y efectivas de hacer la huella digital del sistema operativo es simplemente mirando el tamaño de la ventana TCP y Time To Live( TTL) en el encabezado IP delprimer paquete en una sesión TCP.
Estos son los valores para los sistemas operativos más populares:
Sistema operativo | Time To Live | TCP Tamaño de la ventana |
Linux( Kernel 2.4 y 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista y 7( Servidor 2008) | 128 | 8192 |
iOS12.4( Cisco Routers) | 255 | 4128 |
La razón principal por la que los sistemas operativos tienen valores diferentes se debe al hecho de que los RFC para TCP / IP no estipulan valores predeterminados. Otra cosa importante que debe recordar es que el valor TTL no siempre coincidirá con uno de la tabla, incluso si su dispositivo ejecuta uno de los sistemas operativos enumerados, verá cuando envíe un paquete IP a través de la red al sistema operativo del dispositivo emisorestablece el TTL en el TTL predeterminado para ese sistema operativo, pero a medida que el paquete atraviesa los enrutadores, el TTL se reduce en 1. Por lo tanto, si ve un TTL de 117, se puede esperar que sea un paquete que se envió con un TTL de 128 yha atravesado 11 enrutadores antes de ser capturado.
El uso de tshark.exe es la manera más fácil de ver los valores, así que una vez que haya obtenido una captura de paquetes, asegúrese de tener instalado Wireshark, luego vaya a:
C: \ Program Files \
Ahora sostenga el botón Shift y haga clic derechoen la carpeta wireshark y seleccione abrir la ventana de comandos aquí desde el menú contextual
Ahora escriba:
tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T campos -e ip.src -e ip.ttl -e tcp.window_size
Asegúrese de reemplazar "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" con la ruta absoluta a su captura de paquetes. Una vez que pulses enter, se te mostrarán todos los paquetes SYN de tu captura
, un formato de tabla más fácil de leer. Ahora bien, esta es una captura aleatoria de paquetes que hice de mí al conectarme al sitio web How-To Geek, entre todas las otras conversaciones que está haciendo WindowsPuedo decirte dos cosas con seguridad:
- Mi red local es 192.168.0.0/24
- Estoy en una caja de Windows 7
Si miras la primera línea de la tabla verás que no estoy mintiendo, mi dirección IP es192.168.0.84 mi TTL es 128 y mi tamaño de ventana TCP es 8192, que coincide con los valores de Windows 7.
Lo siguiente que veo es una dirección 74.125.233.24 con un TTL de 44 y un tamaño de ventana TCP de 5720,si miro mi mesa no hay un sistema operativo con un TTL de 44, sin embargo, dice que el Linux que ejecutan los servidores de Google tiene un tamaño de ventana TCP 5720. Después de hacer una búsqueda web rápida de la dirección IP verá que esde hecho, un servidor de Google.
¿Para qué más usas tshark.exe? Cuéntanos en los comentarios.