Introducción
Bienvenido al laboratorio de Huella digital del sistema operativo (Operating System Fingerprinting).
La identificación de la huella digital de un sistema operativo es una técnica de reconocimiento crítica utilizada tanto por profesionales de la seguridad como por atacantes para determinar el sistema operativo que ejecuta un objetivo remoto. Al enviar paquetes TCP y UDP específicos, a veces malformados, a un objetivo y analizar las diferencias sutiles en cómo responde la pila TCP/IP del mismo (como los valores de Time-To-Live, tamaños de ventana y combinaciones de flags), herramientas como Nmap pueden adivinar con precisión el sistema operativo subyacente.
Esta es una técnica de inferencia, no una verdad absoluta. Nmap compara el comportamiento de red observado con una base de datos de huellas digitales. El resultado puede ser muy útil, pero debe tratarse como una estimación fundamentada que puede verse afectada por firewalls, proxies o pilas de red inusuales.
En este laboratorio, aprenderás a aprovechar las potentes capacidades de identificación de SO de Nmap para identificar sistemas remotos y combinar estas técnicas con la detección de versiones para obtener un perfil de red completo.
Habilitar la identificación de la huella digital del SO
En este paso, aprenderemos los conceptos básicos de la identificación de sistemas operativos mediante Nmap. La identificación de la huella digital del SO es una técnica utilizada para determinar el sistema operativo que ejecuta un objetivo remoto. Nmap logra esto enviando una serie de paquetes TCP y UDP cuidadosamente elaborados al objetivo y analizando las respuestas. Dado que los diferentes sistemas operativos implementan la pila TCP/IP de forma ligeramente distinta, Nmap puede comparar estas respuestas con su extensa base de datos para encontrar una coincidencia.
Esto funciona porque las pilas de red son implementaciones escritas por humanos, y las implementaciones difieren en muchos valores predeterminados sutiles. La identificación de huellas digitales convierte esas diferencias en pistas.
Para habilitar la identificación de SO en Nmap, utilizamos el flag -O. Es importante tener en cuenta que la creación de paquetes sin procesar (raw packets) requiere privilegios administrativos, por lo que debemos ejecutar este comando usando sudo.
Ejecutemos un escaneo de identificación de SO contra nuestra máquina local (localhost) y guardemos la salida en un archivo llamado os_scan.txt en nuestro directorio de proyecto.
sudo nmap -O -p 22,80 localhost > /home/labex/project/os_scan.txt
Una vez que el escaneo se complete, puedes ver los resultados usando el comando cat.
cat /home/labex/project/os_scan.txt
Verás una salida similar a la siguiente. Busca las líneas que comienzan con "Device type", "Running" y "OS details".
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:53 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds
La salida revela que el objetivo está ejecutando un kernel de Linux, lo cual coincide con nuestro entorno de LabEx.
Analizar las estimaciones del SO
En este paso, exploraremos cómo Nmap maneja la incertidumbre durante la identificación de la huella digital del SO. A veces, un objetivo puede tener un firewall que descarta ciertos paquetes, o puede estar ejecutando un sistema operativo oscuro o altamente personalizado. En estos casos, es posible que Nmap no encuentre una coincidencia perfecta en su base de datos.
Cuando Nmap no puede determinar el sistema operativo exacto, puede proporcionar una lista de estimaciones junto con un porcentaje de confianza. Podemos forzar a Nmap a adivinar de manera más agresiva utilizando el flag --osscan-guess (que también es equivalente a --fuzzy). Esto le indica a Nmap que imprima las coincidencias de SO incluso si no son casi perfectas.
Esto nos recuerda que los resultados de reconocimiento a menudo contienen incertidumbre. Los buenos analistas registran esa incertidumbre en lugar de pretender que cada detección es exacta.
Ejecutemos otro escaneo contra localhost, esta vez habilitando la adivinación agresiva de SO, y guardemos los resultados en un archivo llamado guess_scan.txt.
sudo nmap -O --osscan-guess -p 22,80 localhost > /home/labex/project/guess_scan.txt
Ahora, visualiza el contenido del nuevo archivo.
cat /home/labex/project/guess_scan.txt
La salida se verá similar al paso anterior, pero si el objetivo fuera más oscuro, verías una lista separada por comas de estimaciones de SO con porcentajes, como Aggressive OS guesses: Linux 5.0 (96%), Linux 4.15 (95%).
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
...
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...
Incluso en un sistema estándar, usar --osscan-guess es una técnica valiosa cuando se trata de objetivos reforzados que intentan ocultar el comportamiento de su pila TCP/IP.
Combinar la detección de SO y de versiones (-A)
En este paso, combinaremos la detección de SO con otras funciones potentes de Nmap utilizando el flag -A. El flag -A significa "opciones de escaneo agresivo" (Aggressive scan options).
Cuando utilizas el flag -A, Nmap habilita automáticamente varias funciones avanzadas a la vez:
- Detección de SO (
-O) - Detección de versiones (
-sV), que sondea los puertos abiertos para determinar las versiones de servicios y aplicaciones - Escaneo de scripts (
-sC), que ejecuta un conjunto predeterminado de scripts del Nmap Scripting Engine (NSE) - Traceroute (
--traceroute), que determina la ruta de red hacia el objetivo
Este enfoque combinado proporciona un perfil completo del sistema objetivo, lo que lo convierte en uno de los favoritos entre los profesionales de la seguridad para el reconocimiento inicial.
Realicemos un escaneo agresivo contra localhost y guardemos la salida en aggressive_scan.txt. Este escaneo puede tardar un poco más porque realiza muchas más comprobaciones.
sudo nmap -A -p 22,80 localhost > /home/labex/project/aggressive_scan.txt
Una vez que el escaneo esté completo, inspecciona los resultados.
cat /home/labex/project/aggressive_scan.txt
Notarás una salida mucho más rica. Junto con los detalles del SO, ahora verás las versiones exactas de los servicios que se ejecutan en los puertos abiertos (como OpenSSH y nginx), así como información adicional recopilada por los scripts predeterminados.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000019s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...
Al combinar estas técnicas, puedes recopilar una gran cantidad de información sobre un sistema objetivo con un solo comando.
Resumen
¡Felicidades! Has completado con éxito el laboratorio de Huella digital del sistema operativo.
En este laboratorio, aprendiste a:
- Usar el flag
-Ode Nmap para realizar la identificación remota de la huella digital del sistema operativo analizando las respuestas de la pila TCP/IP. - Aplicar el flag
--osscan-guesspara forzar a Nmap a proporcionar estimaciones probabilísticas cuando el SO del objetivo no coincide perfectamente. - Utilizar el flag
-Apara combinar la detección de SO con la detección de versiones de servicios, el escaneo de scripts y el traceroute para obtener un perfil completo del objetivo.
Estas habilidades son fundamentales para el reconocimiento de redes y la evaluación de vulnerabilidades, permitiendo a los profesionales de la seguridad comprender el entorno que están analizando y adaptar sus medidas de seguridad en consecuencia.



