¿Sabía que puede averiguar qué sistema operativo está ejecutando un dispositivo de red con solo mirar la forma en que se comunica a través de la red? Echemos un vistazo a cómo podemos averiguar qué sistema operativo están ejecutando nuestros dispositivos.
Por qué querrías hacer esto?
Determinar qué sistema operativo está ejecutando una máquina o dispositivo puede ser útil por muchas razones. Primero echemos un vistazo a una perspectiva cotidiana, imagine que desea cambiarse a un nuevo ISP que ofrece acceso ilimitado a Internet por $ 50 por mes para que pueda probar su servicio. Usando las huellas digitales del sistema operativo, pronto descubrirá que tienen enrutadores inútiles y ofrecen el servicio PPPoE que se ofrece en un montón de máquinas con Windows Server 2003. Ya no suena tan bien.
Otro uso de esto, aunque menos ético, es que las vulnerabilidades de seguridad son específicas del sistema operativo. Por ejemplo, si realiza un escaneo de puertos y encuentra el puerto 53 abierto y la máquina está ejecutando una versión obsoleta y vulnerable de Bind, tiene una ÚNICA posibilidad de explotar el agujero de seguridad porque un intento fallido colapsaría el demonio.
¿Cómo funciona la huella dactilar del sistema operativo?
Al analizar pasivamente el tráfico actual o incluso examinar las capturas de paquetes antiguos, una de las formas más fáciles y efectivas de realizar las huellas dactilares del sistema operativo es simplemente examinar el tamaño de la ventana TCP y el Tiempo de vida (TTL) en el encabezado IP del primer paquete en una sesión TCP.
Estos son los valores para los sistemas operativos más populares:
Sistema operativo | Tiempo para vivir | Tamaño de la ventana TCP |
Linux (kernel 2.4 y 2.6) | 64 | 5840 |
Google linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista y 7 (Server 2008) | 128 | 8192 |
iOS 12.4 (enrutadores Cisco) | 255 | 4128 |
La razón principal por la que los sistemas operativos tienen valores diferentes es porque las RFC para TCP / IP no establecen valores predeterminados. Otra cosa importante para recordar es que el valor TTL no siempre coincidirá con uno en la tabla, incluso si su dispositivo está ejecutando uno de los sistemas operativos enumerados, verá cuando envía un paquete IP a través de la red el sistema d El funcionamiento del El dispositivo de envío establece el TTL en el TTL predeterminado para ese sistema operativo, pero cuando el paquete pasa a través de los enrutadores, el TTL se reduce en 1. Por lo tanto, si ve un TTL de 117, puede esperar que sea un paquete enviado con un TTL de 128 y pasó a través de 11 enrutadores antes de ser capturado.
Usar tshark.exe es la forma más sencilla de ver los valores. Una vez que tenga una captura de paquetes, asegúrese de tener Wireshark instalado, luego navegue hasta:
C: Archivos de programa
Ahora mantenga presionado el botón Shift y haga clic con el botón derecho en la carpeta Wireshark y seleccione abrir la ventana de comandos aquí desde el menú contextual
Ahora escriba:
tshark -r "C:UsersTaylor GibbDesktopblah.pcap" "tcp.flags.syn eq 1" -T fields -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 de su captura de paquetes. Una vez que presione Enter, todos los paquetes SYN en su captura se mostrarán en un formato de tabla más fácil de leer.
Ahora bien, esta es una captura de paquetes aleatoria que hice desde mi inicio de sesión en el sitio web How-To Geek, entre todas las otras charlas que hace Windows, puedo decirles dos cosas con seguridad:
- Mi red local es 192.168.0.0/24
- Estoy en una caja de Windows 7
Si miras la primera fila de la tabla, verás que no estoy mintiendo, mi dirección IP es 192.168.0.84, mi TTL es 128 y el tamaño de mi ventana TCP es 8192, que corresponde a los valores en 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 de TCP de 5720, si miro mi tabla no hay ningún 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 de 5720. Después de hacer una búsqueda rápida en la web de la dirección IP, verá que en realidad es un servidor de Google.
Para qué más estás usando tshark.exe, cuéntanos en los comentarios.