Detección de sistema operativo
Uno de los aspectos más conocidos de Nmap es la detección
del sistema operativo (SO) en base a la comprobación de huellas
TCP/IP. Nmap envía una serie de paquetes TCP y UDP al sistema
remoto y analiza prácticamente todos los bits de las
respuestas. Nmap compara los resultados de una docena de pruebas como puedan
ser el análisis de ISN de TCP, el soporte de opciones TCP y su
orden, el análisis de IPID y las comprobaciones de tamaño inicial
de ventana, con su base de datos
nmap-os-fingerprints
. Esta
base de datos consta de más de 1500 huellas de sistema operativo
y cuando existe una coincidencia se presentan los detalles del
sistema operativo. Cada huella contiene una descripción en texto
libre del sistema operativo, una clasificación que indica el
nombre del proveedor (por ejemplo, Sun), el sistema operativo
subyacente (por ejemplo, Solaris), la versión del SO (por
ejemplo, 10) y el tipo de dispositivo (propósito general,
encaminador, conmutador, consola de videojuegos, etc.).
Nmap le indicará una URL donde puede enviar las huellas si conoce (con seguridad) el sistema operativo que utiliza el equipo si no puede adivinar el sistema operativo de éste y las condiciones son óptimas (encontró al menos un puerto abierto y otro cerrado). Si envía esta información contribuirá al conjunto de sistemas operativos que Nmap conoce y la herramienta será así más exacta para todo el mundo.
La detección de sistema operativo activa, en cualquier caso,
una serie de pruebas que hacen uso de la información que ésta
recoge. Una de estas pruebas es la medición de tiempo de
actividad, que utiliza la opción de marca de tiempo TCP (RFC 1323)
para adivinar cuánto hace que un equipo fue reiniciado. Esta
prueba sólo funciona en sistemas que ofrecen esta
información. Otra prueba que se realiza es la clasificación de
predicción de número de secuencia TCP. Esta prueba mide de forma
aproximada cuánto de difícil es crear una conexión TCP falsa
contra el sistema remoto. Se utiliza cuando se quiere hacer uso de
relaciones de confianza basadas en la dirección IP origen (como es
el caso de rlogin, filtros de cortafuegos, etc.) para ocultar la
fuente de un ataque. Ya no se hace habitualmente este tipo de
malversación pero aún existen muchos equipos que son vulnerables a
ésta. Generalmente es mejor utilizar la clasificación en inglés
como: “worthy challenge” («desafío difícil», N. del
T.) o “trivial joke” («broma fácil», N. del T.). Esta
información sólo se ofrece en la salida normal en el modo
detallado (-v
). También se informa de la
generación de números de secuencia IPID cuando se activa el modo
detallado conjuntamente con la opción -O
. La
mayoría de los equipos estarán en la clase
“incremental”, lo que significa que incrementan el
campo ID en la cabecera IP para cada paquete que envían. Esto hace
que sean vulnerables a algunos ataques avanzados de obtención de
información y de falseo de dirección.
Puede encontrar un trabajo traducido a una docena de idiomas
que detalla el modo de funcionamiento, utilización y ajuste de la
detección de versiones en https://nmap.org/osdetect/
.
La detección de sistema operativo se activa y controla con las siguientes opciones:
-
-O
(Activa la detección de sistema operativo) Tal y como se indica previamente, activa la detección de sistema operativo. También se puede utilizar la opción
-A
para activar la detección de sistema operativo y de versiones.-
--osscan-limit
(Limitar la detección de sistema operativo a los objetivos prometedores) La detección de sistema operativo funcionará mejor si se dispone de un puerto TCP abierto y otro cerrado. Defina esta opción si no quiere que Nmap intente siquiera la detección de sistema operativo contra sistemas que no cumplan este criterio. Esta opción puede ahorrar mucho tiempo, sobre todo si está realizando sondeos
-P0
sobre muchos sistemas. Sólo es de aplicación cuando se ha solicitado la detección de sistema operativo con la opción-O
o-A
.-
--osscan-guess
;--fuzzy
(Aproximar los resultados de la detección de sistema operativo) Cuando Nmap no puede detectar un sistema operativo que encaje perfectamente a veces ofrecerá posibilidades que se aproximen lo suficiente. Las opciones tienen que aproximarse mucho al detectado para que Nmap haga esto por omisión. Cualquiera de estas dos opciones (equivalentes) harán que Nmap intente aproximar los resultados de una forma más agresiva.