Realizar un Escaneo Inactivo en 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 realizar un escaneo pasivo utilizando Nmap. El laboratorio lo guía a través del proceso de identificación de un host zombi en una red mediante un escaneo ping (nmap -sn). Este primer paso ayuda a descubrir hosts activos, lo cual es crucial para seleccionar un host zombi adecuado para el escaneo pasivo.

Luego, el laboratorio demuestra cómo ejecutar un escaneo pasivo (nmap -sI) contra un objetivo, utilizando el host zombi identificado. Explorará opciones para aumentar la verbosidad (-v), dirigirse a puertos específicos (-p) y guardar los resultados del escaneo en un archivo (-oN). Finalmente, analizará los resultados del escaneo pasivo dentro del terminal Xfce.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) 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/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") subgraph Lab Skills nmap/output_formats -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/save_output -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/port_scanning -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/host_discovery -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/scan_types -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/target_specification -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} nmap/verbosity -.-> lab-547105{{"Realizar un Escaneo Inactivo en Nmap"}} end

Identificar el host zombi con nmap -sn 192.168.1.0/24

En este paso, usaremos nmap para descubrir los hosts activos en la red 192.168.1.0/24. Este es un paso fundamental en la exploración y reconocimiento de redes. La opción -sn en nmap realiza un escaneo ping, lo que significa que solo intenta determinar si los hosts están activos, sin realizar un escaneo de puertos. Esto es útil para identificar rápidamente los hosts activos en una red.

Antes de comenzar, entendamos el comando:

  • nmap: La herramienta de mapeo de redes.
  • -sn: Esta opción le dice a Nmap que realice solo un escaneo ping (descubrimiento de hosts). Deshabilita el escaneo de puertos.
  • 192.168.1.0/24: Esta es la red objetivo en notación CIDR. /24 significa que los primeros 24 bits de la dirección IP son fijos, y los últimos 8 bits pueden variar, lo que nos da un rango de 256 direcciones IP (192.168.1.1 a 192.168.1.254, excluyendo las direcciones de red y de difusión).

Ahora, ejecutemos el comando. Abra su terminal Xfce y escriba lo siguiente:

sudo nmap -sn 192.168.1.0/24

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

La salida mostrará los hosts que están activos en la red. Podría verse así:

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.00023s latency).
Nmap scan report for 192.168.1.2
Host is up (0.00031s latency).
Nmap scan report for 192.168.1.100
Host is up (0.00045s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.50 seconds

Esta salida indica que 192.168.1.1, 192.168.1.2 y 192.168.1.100 están activos en la red. Las direcciones IP específicas que estén activas pueden variar en su entorno. Usaremos 192.168.1.2 como el host zombi en los siguientes pasos, y 192.168.1.1 como el objetivo.

Ejecutar un escaneo pasivo con nmap -sI 192.168.1.2 192.168.1.1

En este paso, realizaremos un escaneo pasivo utilizando nmap. El escaneo pasivo es una técnica de escaneo avanzada que te permite escanear un objetivo sin revelar tu propia dirección IP. Funciona aprovechando un host "zombi" para redirigir el escaneo.

Aquí es cómo funciona:

  1. Elegir un Host Zombi: Necesitas un host que esté en su mayoría inactivo y tenga una secuencia predecible de generación de ID de IP (Identificación de IP). En el paso anterior, identificamos 192.168.1.2 como un posible host zombi.
  2. Enviar un SYN-ACK al Zombi: Nmap envía un paquete SYN-ACK al host zombi. El host zombi responderá con un paquete RST si no estaba esperando el SYN-ACK, incrementando su ID de IP.
  3. Enviar un SYN al Objetivo a través del Zombi: Nmap crea un paquete SYN destinado al host objetivo, pero falsifica la dirección IP de origen para que sea la dirección IP del host zombi.
  4. Analizar el ID de IP del Zombi:
    • Si el puerto del host objetivo está cerrado, responderá con un paquete RST al zombi. El ID de IP del zombi aumentará en uno.
    • Si el puerto del host objetivo está abierto, responderá con un paquete SYN-ACK al zombi. Luego, el zombi enviará un paquete RST de vuelta al objetivo (ya que no inició la conexión). El ID de IP del zombi aumentará en dos.
  5. Determinar el Estado del Puerto: Al observar los cambios en el ID de IP del zombi, Nmap puede determinar si el puerto objetivo está abierto o cerrado.

Ahora, ejecutemos el comando de escaneo pasivo. Abra su terminal Xfce y escriba lo siguiente:

sudo nmap -sI 192.168.1.2 192.168.1.1

Aquí está una descripción del comando:

  • nmap: La herramienta de mapeo de redes.
  • -sI 192.168.1.2: Esta opción especifica el escaneo pasivo y establece 192.168.1.2 como el host zombi.
  • 192.168.1.1: Este es el host objetivo que queremos escanear.

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

La salida mostrará los puertos abiertos en el host objetivo (192.168.1.1), determinados por el escaneo pasivo. Los resultados podrían verse así:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00029s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 15.23 seconds

Esta salida indica que los puertos 22 (SSH) y 80 (HTTP) están abiertos en el host objetivo 192.168.1.1. Tenga en cuenta que los puertos abiertos específicos pueden variar según la configuración del sistema objetivo.

Agregar detalle con nmap -v -sI 192.168.1.2 192.168.1.1

En este paso, agregaremos detalle al comando de escaneo pasivo del paso anterior. El detalle en nmap proporciona información más detallada sobre el proceso de escaneo, lo que puede ser útil para entender lo que está sucediendo y resolver cualquier problema.

La opción -v aumenta el nivel de detalle. Puede usarlo varias veces (por ejemplo, -vv o -vvv) para obtener una salida aún más detallada. Para esta práctica, usaremos un solo -v.

Ejecutemos el comando con detalle. Abra su terminal Xfce y escriba lo siguiente:

sudo nmap -v -sI 192.168.1.2 192.168.1.1

Aquí está una descripción del comando:

  • nmap: La herramienta de mapeo de redes.
  • -v: Esta opción aumenta el nivel de detalle.
  • -sI 192.168.1.2: Esta opción especifica el escaneo pasivo y establece 192.168.1.2 como el host zombi.
  • 192.168.1.1: Este es el host objetivo que queremos escanear.

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

La salida será más detallada que el escaneo pasivo anterior. Mostrará información sobre los paquetes que se están enviando, los valores de ID de IP del host zombi y el razonamiento detrás de la determinación del estado del puerto. La salida podría verse así (la salida exacta variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Idle scan for 192.168.1.1
Scanning 192.168.1.1 [1000 ports]
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Sending TCP SYN to 192.168.1.1:22
Got SYN-ACK from 192.168.1.1:22
PORT   STATE SERVICE
22/tcp open  ssh
Sending TCP SYN to 192.168.1.1:80
Got SYN-ACK from 192.168.1.1:80
PORT   STATE SERVICE
80/tcp open  http
Nmap done: 1 IP address (1 host up) scanned in 16.54 seconds

La salida detallada brinda información sobre el proceso de escaneo, lo que facilita entender cómo funciona el escaneo pasivo y diagnosticar cualquier problema potencial.

Escanear un puerto específico con nmap -sI 192.168.1.2 -p 80 192.168.1.1

En este paso, centraremos nuestro escaneo pasivo en un puerto específico. Esto es útil cuando quieres comprobar rápidamente el estado de un servicio particular sin escanear todos los puertos. Vamos a escanear el puerto 80 (HTTP) en el host objetivo.

La opción -p en nmap te permite especificar el puerto (o puertos) que quieres escanear. Puedes especificar un solo puerto, un rango de puertos (por ejemplo, 1-100), o una lista separada por comas de puertos (por ejemplo, 22,80,443). En este caso, solo escanearemos el puerto 80.

Ejecutemos el comando para escanear el puerto 80 usando la técnica de escaneo pasivo. Abra su terminal Xfce y escriba lo siguiente:

sudo nmap -sI 192.168.1.2 -p 80 192.168.1.1

Aquí está una descripción del comando:

  • nmap: La herramienta de mapeo de redes.
  • -sI 192.168.1.2: Esta opción especifica el escaneo pasivo y establece 192.168.1.2 como el host zombi.
  • -p 80: Esta opción especifica que queremos escanear solo el puerto 80.
  • 192.168.1.1: Este es el host objetivo que queremos escanear.

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

La salida mostrará si el puerto 80 está abierto o cerrado en el host objetivo (192.168.1.1). Los resultados podrían verse así:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00031s latency).

PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 14.87 seconds

Esta salida indica que el puerto 80 (HTTP) está abierto en el host objetivo 192.168.1.1. Si el puerto estuviera cerrado, la salida mostraría closed en lugar de open.

Guardar los resultados del escaneo pasivo con nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1

En este paso, guardaremos los resultados de nuestro escaneo pasivo en un archivo. Esto es útil para un análisis posterior o con fines de informe. Usaremos la opción -oN para guardar los resultados en un formato "normal" en un archivo llamado idle.txt.

La opción -oN le indica a nmap que guarde la salida en un formato legible por humanos, que es fácil de leer y entender. Hay otros formatos de salida disponibles (por ejemplo, -oX para XML, -oG para salida grepable), pero para esta práctica, usaremos el formato normal.

Ejecutemos el comando para guardar los resultados del escaneo pasivo en un archivo. Abra su terminal Xfce y escriba lo siguiente:

sudo nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1

Aquí está una descripción del comando:

  • nmap: La herramienta de mapeo de redes.
  • -sI 192.168.1.2: Esta opción especifica el escaneo pasivo y establece 192.168.1.2 como el host zombi.
  • -oN idle.txt: Esta opción le indica a nmap que guarde la salida en formato normal en un archivo llamado idle.txt.
  • 192.168.1.1: Este es el host objetivo que queremos escanear.

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

Una vez finalizado el escaneo, los resultados se guardarán en un archivo llamado idle.txt en su directorio actual (~/proyecto). No verá ninguna salida en la terminal, ya que la salida se está redirigiendo al archivo.

Para verificar que el archivo se creó y contiene los resultados del escaneo, puede usar el comando cat para mostrar el contenido del archivo:

cat idle.txt

La salida mostrará los resultados del escaneo, similar a lo que vio en los pasos anteriores, pero ahora está guardado en un archivo. La salida podría verse así:

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023 as: nmap -sI 192.168.1.2 -oN idle.txt 192.168.1.1
Idle scan using zombie 192.168.1.2 (192.168.1.2:80); Class: Incremental
Nmap scan report for 192.168.1.1
Host is up (0.00031s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
## Nmap done at Fri Oct 27 10:20:15 2023 -- 1 IP address (1 host up) scanned in 15.00 seconds

Ahora tiene los resultados del escaneo pasivo guardados en un archivo para un análisis ulterior.

Analizar el escaneo pasivo en la terminal Xfce

En este paso, analizaremos los resultados del escaneo pasivo que guardamos en el archivo idle.txt en el paso anterior. Usaremos el comando grep para extraer información específica del archivo y discutiremos cómo interpretar los resultados.

Primero, mostremos el contenido del archivo idle.txt usando el comando cat para refrescar nuestra memoria sobre los resultados del escaneo. Abra su terminal Xfce y escriba lo siguiente:

cat idle.txt

Debería ver la salida del escaneo de nmap, incluyendo información sobre el host objetivo y el estado de los puertos escaneados.

Ahora, usemos grep para encontrar información específica. Por ejemplo, para saber qué puertos están abiertos, podemos usar grep para buscar líneas que contengan la palabra "open":

grep "open" idle.txt

Este comando mostrará todas las líneas del archivo idle.txt que contengan la palabra "open". La salida podría verse así:

80/tcp open  http

Esto nos dice que el puerto 80 (HTTP) está abierto en el host objetivo.

También puede usar grep para encontrar la dirección IP del host objetivo:

grep "Nmap scan report for" idle.txt

Este comando mostrará la línea que contiene la dirección IP del host objetivo:

Nmap scan report for 192.168.1.1

Interpretando los Resultados:

Los resultados del escaneo pasivo proporcionan información sobre los puertos abiertos del host objetivo. Esta información se puede usar para identificar posibles vulnerabilidades o servicios que se ejecutan en el host.

  • Puertos Abiertos: Un puerto abierto indica que un servicio está escuchando en ese puerto y está aceptando conexiones. Esto podría ser un servidor web (puerto 80), un servidor SSH (puerto 22) u otro servicio.
  • Puertos Cerrados: Un puerto cerrado indica que ningún servicio está escuchando en ese puerto.
  • Puertos Filtrados: Un puerto filtrado significa que nmap no puede determinar si el puerto está abierto o cerrado porque un firewall está bloqueando la conexión.

Al analizar los puertos abiertos, puede obtener información sobre los servicios que se ejecutan en el host objetivo y, potencialmente, identificar vulnerabilidades que se podrían explotar. Recuerde que el escaneo pasivo es una técnica sigilosa, pero no es infalible. Los administradores de red todavía pueden detectar el escaneo si están monitoreando el tráfico de red.

Con esto concluye la práctica sobre el escaneo pasivo con nmap. Ha aprendido cómo identificar un host zombi, realizar un escaneo pasivo, agregar detalle, escanear puertos específicos, guardar los resultados en un archivo y analizar los resultados en la terminal Xfce.

Resumen

En esta práctica, comenzamos identificando los hosts activos en la red 192.168.1.0/24 usando nmap -sn 192.168.1.0/24. Este escaneo de ping nos permitió descubrir rápidamente los hosts activos, como 192.168.1.1, 192.168.1.2 y 192.168.1.100, los cuales son esenciales para las actividades de escaneo subsiguientes. Luego, nos preparamos para realizar un escaneo pasivo usando 192.168.1.2 como el host zombi y 192.168.1.1 como el objetivo.