Identificar Sistemas Operativos con Nmap

NmapNmapBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a identificar los sistemas operativos utilizando Nmap. El laboratorio aborda varios comandos de Nmap para la detección de sistemas operativos, incluyendo la ejecución de escanos básicos de sistemas operativos, la activación del modo de conjetura, la combinación de escanos de sistemas operativos y puertos, la refinamiento de escanos y la exportación de resultados. Ejecutará comandos como nmap -O <target_ip> en la terminal Xfce y verá los detalles del sistema operativo en la salida.

Estos pasos prácticos lo ayudarán a adquirir habilidades prácticas en el uso de Nmap para detectar los sistemas operativos de máquinas objetivo, con ejemplos que demuestran cómo Nmap analiza las respuestas para proporcionar información sobre el sistema operativo.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") subgraph Lab Skills nmap/basic_syntax -.-> lab-530180{{"Identificar Sistemas Operativos con Nmap"}} nmap/output_formats -.-> lab-530180{{"Identificar Sistemas Operativos con Nmap"}} nmap/save_output -.-> lab-530180{{"Identificar Sistemas Operativos con Nmap"}} nmap/port_scanning -.-> lab-530180{{"Identificar Sistemas Operativos con Nmap"}} nmap/os_version_detection -.-> lab-530180{{"Identificar Sistemas Operativos con Nmap"}} end

Ejecutar la detección de sistema operativo con nmap -O 192.168.1.1

En este paso, usaremos Nmap para realizar la detección de sistema operativo en una máquina objetivo. La detección de sistema operativo es una técnica utilizada para identificar el sistema operativo que se está ejecutando en un host remoto. Nmap envía una serie de paquetes especialmente elaborados al objetivo y analiza las respuestas para determinar el sistema operativo.

Antes de comenzar, entendamos la sintaxis básica del comando que usaremos:

nmap -O <target_ip>
  • nmap: Este es el comando de línea de comandos que estamos usando.
  • -O: Esta opción le indica a Nmap que habilite la detección de sistema operativo.
  • <target_ip>: Esta es la dirección IP de la máquina objetivo que desea escanear. En este caso, es 192.168.1.1.

Ahora, ejecutemos el comando para realizar la detección de sistema operativo en la máquina objetivo con la dirección IP 192.168.1.1. Abra su terminal Xfce y escriba el siguiente comando:

nmap -O 192.168.1.1

Después de ejecutar el comando, Nmap enviará varios sondeos a la máquina objetivo y analizará las respuestas. La salida mostrará los detalles del sistema operativo si Nmap es exitoso en identificarlo. La salida puede verse así (la salida exacta variará según el sistema operativo objetivo):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

En el ejemplo anterior, Nmap ha identificado la máquina objetivo como ejecutando un sistema operativo Linux. La salida también proporciona detalles sobre la versión del kernel.

Si Nmap no es capaz de determinar el sistema operativo exacto, es posible que proporcione una lista de posibles candidatos a sistema operativo. En algunos casos, Nmap puede no ser capaz de detectar el sistema operativo en absoluto. Esto puede suceder si la máquina objetivo está detrás de un firewall o si el sistema operativo está configurado para ocultar su identidad.

Habilitar la conjetura con nmap -O --osscan-guess 127.0.0.1

En este paso, usaremos Nmap para realizar la detección de sistema operativo con la opción --osscan-guess en el localhost (127.0.0.1). Esta opción fuerza a Nmap a ser más agresivo en sus intentos de detección de sistema operativo. Cuando Nmap no está seguro del sistema operativo, esta opción puede ayudar a hacer una conjetura más informada.

Analicemos el comando:

nmap -O --osscan-guess 127.0.0.1
  • nmap: Este es el comando de línea de comandos que estamos usando.
  • -O: Esta opción le indica a Nmap que habilite la detección de sistema operativo.
  • --osscan-guess: Esta opción le indica a Nmap que adivine el sistema operativo de manera más agresiva.
  • 127.0.0.1: Esta es la dirección IP de la máquina objetivo que desea escanear, que en este caso es el localhost.

Ahora, ejecutemos el comando para realizar la detección de sistema operativo con la opción --osscan-guess en el localhost. Abra su terminal Xfce y escriba el siguiente comando:

nmap -O --osscan-guess 127.0.0.1

Después de ejecutar el comando, Nmap enviará varios sondeos a la máquina objetivo y analizará las respuestas. La salida mostrará los detalles del sistema operativo si Nmap es exitoso en identificarlo. Debido a que estamos escanneando el localhost, la detección de sistema operativo debería ser relativamente precisa. La salida puede verse así (la salida exacta variará según su sistema):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
631/tcp  open  ipp
9929/tcp open  nping-echo

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.23 seconds

Tenga en cuenta que la salida no siempre mostrará explícitamente el nombre del sistema operativo. A veces, solo mostrará los puertos abiertos y otra información. Sin embargo, Nmap todavía realiza la detección de sistema operativo en segundo plano, y la opción --osscan-guess aumenta la probabilidad de obtener un resultado más preciso.

Combinar detección de sistema operativo y puertos con nmap -O -p 1-100 192.168.1.1

En este paso, combinaremos la detección de sistema operativo con la exploración de puertos usando Nmap. Esto nos permite identificar el sistema operativo de una máquina objetivo y también descubrir qué puertos están abiertos en esa máquina. Al combinar estas dos técnicas, podemos obtener una comprensión más integral del sistema objetivo.

Analicemos el comando:

nmap -O -p 1-100 192.168.1.1
  • nmap: Este es el comando de línea de comandos que estamos usando.
  • -O: Esta opción le indica a Nmap que habilite la detección de sistema operativo.
  • -p 1-100: Esta opción le indica a Nmap que explore los puertos del 1 al 100.
  • 192.168.1.1: Esta es la dirección IP de la máquina objetivo que desea escanear.

Ahora, ejecutemos el comando para realizar la detección de sistema operativo y la exploración de puertos en la máquina objetivo con la dirección IP 192.168.1.1. Abra su terminal Xfce y escriba el siguiente comando:

nmap -O -p 1-100 192.168.1.1

Después de ejecutar el comando, Nmap enviará varios sondeos a la máquina objetivo y analizará las respuestas. La salida mostrará los detalles del sistema operativo y una lista de puertos abiertos. La salida puede verse así (la salida exacta variará según el sistema operativo objetivo y los puertos abiertos):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

En el ejemplo anterior, Nmap ha identificado la máquina objetivo como ejecutando un sistema operativo Linux y ha descubierto que los puertos 22 (SSH) y 80 (HTTP) están abiertos.

Al combinar la detección de sistema operativo y la exploración de puertos, puede identificar rápidamente el sistema operativo y los servicios que se están ejecutando en una máquina objetivo. Esta información puede ser valiosa para las evaluaciones de seguridad y la solución de problemas de red.

Ver detalles del sistema operativo en la terminal Xfce

En los pasos anteriores, ejecutó comandos de Nmap para detectar el sistema operativo de máquinas objetivo. Los resultados de estos escaneos se mostraron directamente en la terminal Xfce. Este paso se centra en entender cómo interpretar los detalles del sistema operativo presentados en la salida de la terminal.

Cuando Nmap identifica con éxito el sistema operativo, generalmente mostrará información como el nombre del sistema operativo, la versión y, a veces, incluso la versión del kernel. También puede proporcionar un identificador CPE (Common Platform Enumeration), que es un esquema de nombres estándar para software y hardware.

Revisemos un ejemplo de salida de un paso anterior:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

En este ejemplo, la línea OS details: Linux 3.2 - 4.9 indica que Nmap ha detectado un sistema operativo Linux con una versión del kernel entre 3.2 y 4.9. La línea Device type: general purpose sugiere que el dispositivo es una computadora estándar. La línea Running: Linux 3.X|4.X proporciona información similar. Las líneas OS CPE proporcionan identificadores más específicos para el sistema operativo y el kernel.

Si Nmap no puede determinar exactamente el sistema operativo, puede proporcionar una "conjetura" basada en la información disponible. En tales casos, la salida puede incluir una declaración como "OS details: Unknown" o "OS details: Possibly Windows". La opción --osscan-guess utilizada en un paso anterior puede ayudar a mejorar la precisión de estas conjeturas.

Para ver los detalles del sistema operativo, simplemente examine la salida de los comandos de Nmap que ejecutó en los pasos anteriores. La información del sistema operativo generalmente se mostrará cerca de la parte superior de la salida, después de los resultados del escaneo de puertos.

Recuerde que la detección de sistema operativo no siempre es perfecta y los resultados de Nmap deben interpretarse con precaución. Factores como los firewall y las configuraciones de red pueden interferir con la detección de sistema operativo.

Este paso no requiere que se ejecuten nuevos comandos. Se trata de entender e interpretar la salida que ya ha generado.

Refinar el escaneo con nmap -O --osscan-limit 192.168.1.1

En este paso, refinaremos nuestro escaneo de detección de sistema operativo usando la opción --osscan-limit. Esta opción le indica a Nmap que solo intente la detección de sistema operativo en hosts que tienen al menos un puerto TCP abierto y uno cerrado. Esto puede acelerar significativamente el escaneo y reducir la probabilidad de falsos positivos, especialmente cuando se escanean grandes redes.

La opción --osscan-limit es útil porque la detección de sistema operativo se basa en analizar las respuestas a varios sondeos TCP. Si un host solo tiene puertos abiertos o solo tiene puertos cerrados, Nmap puede no ser capaz de recopilar suficiente información para determinar con precisión el sistema operativo.

Ejecutemos el comando para realizar un escaneo de detección de sistema operativo refinado en la máquina objetivo con la dirección IP 192.168.1.1. Abra su terminal Xfce y escriba el siguiente comando:

nmap -O --osscan-limit 192.168.1.1

Después de ejecutar el comando, Nmap realizará la detección de sistema operativo, pero solo en hosts que cumplan con los criterios de tener al menos un puerto TCP abierto y uno cerrado. La salida mostrará los detalles del sistema operativo si Nmap es capaz de identificar el sistema operativo. La salida puede verse así (la salida exacta variará según el sistema operativo objetivo y los puertos abiertos/cerrados):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

En este ejemplo, Nmap ha identificado la máquina objetivo como ejecutando un sistema operativo Linux. La línea "Not shown: 999 closed ports" indica que Nmap solo escaneó el puerto abierto (22) y determinó el sistema operativo basado en eso y los puertos cerrados que encontró.

Usar la opción --osscan-limit puede hacer que sus escaneos de detección de sistema operativo sean más eficientes y precisos, especialmente cuando se trata de grandes redes o hosts con configuraciones de puerto inusuales.

Exportar resultados con nmap -O -oN os.txt 127.0.0.1

En este paso, aprenderemos a exportar los resultados de un escaneo de detección de sistema operativo de Nmap a un archivo. Esto es útil para un análisis posterior, informes o integración con otras herramientas. Usaremos la opción -oN, que especifica que la salida debe estar en formato "normal".

El nombre de archivo os.txt es arbitrario; puede elegir cualquier nombre que desee, pero es buena práctica usar un nombre descriptivo. El archivo de salida se creará en su directorio de trabajo actual, que es ~/project.

Para exportar los resultados del escaneo de detección de sistema operativo a un archivo, abra su terminal Xfce y escriba el siguiente comando:

nmap -O -oN os.txt 127.0.0.1

Este comando realizará un escaneo de detección de sistema operativo en la máquina objetivo con la dirección IP 127.0.0.1 (localhost) y guardará los resultados en formato normal en el archivo os.txt en su directorio ~/project.

Después de que se complete el escaneo, puede ver el contenido del archivo os.txt usando el comando cat:

cat os.txt

La salida mostrará los resultados del escaneo de Nmap, incluyendo los detalles del sistema operativo, en un formato legible para humanos. La salida puede verse así (la salida exacta variará según el sistema operativo objetivo):

## Nmap 7.80 scan initiated Tue Oct 27 10:20:00 2023 as: nmap -O -oN os.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000043s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
OS details: Linux 3.2 - 4.9
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Tue Oct 27 10:20:05 2023 -- 1 IP address (1 host up) scanned in 5.23 seconds

También puede usar un editor de texto como nano para ver o modificar el archivo os.txt:

nano os.txt

Esto abrirá el archivo os.txt en el editor de texto nano, lo que le permitirá examinar los resultados con más detalle.

Exportar los resultados de Nmap a un archivo es una habilidad valiosa para documentar sus hallazgos y compartirlos con otros.

Resumen

En este laboratorio, los participantes aprenden a usar Nmap para la detección de sistemas operativos. Comienzan ejecutando la detección básica de sistema operativo con el comando nmap -O <target_ip>, usando 192.168.1.1 como ejemplo. También aprenden a habilitar la suposición con nmap -O --osscan-guess, combinar la detección de sistema operativo y el escaneo de puertos con nmap -O -p 1-100, refinar los escaneos con nmap -O --osscan-limit y exportar los resultados a un archivo de texto con nmap -O -oN os.txt. Además, ven los detalles del sistema operativo en la terminal Xfce.