Realizar un Escaneo Agresivo en Nmap

NmapBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a realizar un escaneo agresivo con Nmap. El laboratorio aborda la ejecución de un escaneo agresivo en una dirección IP objetivo, el escaneo de puertos específicos, la adición de detalle al escaneo, la guardado de los resultados del escaneo, el análisis de la salida detallada y la comparación con un escaneo básico. Utilizará comandos como nmap -A, nmap -A -p, nmap -v -A y nmap -A -oN en la terminal Xfce para realizar estas tareas.

Ejecutar un escaneo agresivo con nmap -A 192.168.1.1

En este paso, realizaremos un escaneo agresivo utilizando Nmap. Un escaneo agresivo combina varias técnicas de escaneo para recopilar información exhaustiva sobre un objetivo. La opción -A habilita la detección del sistema operativo, la detección de versiones, la exploración de scripts y la trazabilidad (traceroute). Este tipo de escaneo es útil para identificar puertos abiertos, servicios que se ejecutan en esos puertos y el sistema operativo del objetivo.

Antes de comenzar, aclaramos qué es una dirección IP. Una dirección IP es una etiqueta numérica asignada a cada dispositivo conectado a una red informática que utiliza el Protocolo de Internet para la comunicación. En nuestro caso, 192.168.1.1 es una dirección IP privada, comúnmente utilizada en redes domésticas o de pequeñas oficinas.

Ahora, ejecutemos el escaneo agresivo. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Luego, ejecute el siguiente comando de Nmap:

sudo nmap -A 192.168.1.1

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

Este comando iniciará un escaneo agresivo contra la dirección IP objetivo 192.168.1.1. Nmap intentará identificar el sistema operativo, detectar las versiones de los servicios en ejecución, ejecutar los scripts predeterminados y realizar un traceroute.

La salida mostrará un informe detallado de los resultados del escaneo, incluyendo puertos abiertos, versiones de servicios y otra información recopilada durante el escaneo. La salida exacta dependerá del sistema objetivo y su configuración. Aquí hay un ejemplo de cómo podría verse la salida (aunque sus resultados probablemente varíen):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
| ssh-hostkey:
|   2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp  open  http     Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
443/tcp open  ssl/http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2018-08-22T12:20:36
| Not valid after:  2028-08-19T12:20:36
| ...
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.00 ms 192.168.1.1

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

Esta salida muestra los puertos abiertos (22, 80 y 443 en este ejemplo), los servicios que se ejecutan en esos puertos (SSH y HTTP) y información sobre el sistema operativo (Linux). La sección de traceroute muestra la ruta hacia el objetivo.

Escanear puertos específicos con nmap -A -p 22,80 127.0.0.1

En este paso, centraremos nuestro escaneo de Nmap en puertos específicos. En lugar de escanear todos los puertos o confiar en la selección predeterminada de puertos de Nmap, especificaremos que Nmap solo debe escanear los puertos 22 y 80 en la dirección IP objetivo 127.0.0.1. Esto es útil cuando desea comprobar rápidamente el estado de servicios conocidos o reducir el tiempo de escaneo.

Antes de continuar, entendamos qué son los puertos. En la red, un puerto es un punto virtual donde comienzan y terminan las conexiones de red. Los puertos son basados en software y administrados por el sistema operativo. Permiten que múltiples aplicaciones utilicen simultáneamente una sola conexión de red. El puerto 22 se utiliza comúnmente para SSH (Secure Shell), un protocolo seguro para el acceso remoto, y el puerto 80 se utiliza típicamente para HTTP (Hypertext Transfer Protocol), la base de la comunicación de datos en la World Wide Web.

127.0.0.1 es la dirección de bucle (loopback), también conocida como localhost. Se refiere a la máquina actual en la que está trabajando. Escanear 127.0.0.1 es útil para probar los servicios que se ejecutan en su propia máquina.

Ahora, ejecutemos el comando de Nmap para escanear puertos específicos. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Luego, ejecute el siguiente comando de Nmap:

sudo nmap -A -p 22,80 127.0.0.1

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

Este comando iniciará un escaneo agresivo, pero solo en los puertos 22 y 80 de 127.0.0.1. Nmap intentará identificar los servicios que se ejecutan en estos puertos y recopilar otra información.

La salida mostrará un informe de los resultados del escaneo, específicamente para los puertos 22 y 80. Aquí hay un ejemplo de cómo podría verse la salida (aunque sus resultados pueden variar):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

Esta salida muestra que el puerto 22 está abierto y ejecutando SSH, y el puerto 80 está abierto y ejecutando Apache HTTP Server. También se muestra la información de versión de cada servicio.

Agregar detalle con nmap -v -A 192.168.1.1

En este paso, agregaremos detalle a nuestro escaneo agresivo de Nmap. El detalle en Nmap significa aumentar la cantidad de información mostrada durante el escaneo. Esto puede ser útil para entender lo que está haciendo Nmap y para solucionar cualquier problema. La opción -v aumenta el nivel de detalle. Usar -v múltiples veces (por ejemplo, -vv o -vvv) aumenta aún más el nivel de detalle, proporcionando una salida aún más detallada.

Aclarémos por qué el detalle es útil. Por defecto, Nmap proporciona un resumen de los resultados del escaneo. Sin embargo, cuando se está solucionando problemas o se intenta entender el proceso de escaneo, información más detallada puede ser invaluable. La salida detallada muestra el progreso del escaneo, las sondas que se están enviando y las respuestas recibidas.

Ahora, ejecutemos el comando de Nmap con detalle. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Luego, ejecute el siguiente comando de Nmap:

sudo nmap -v -A 192.168.1.1

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

Este comando iniciará un escaneo agresivo contra la dirección IP objetivo 192.168.1.1, con mayor detalle. Nmap mostrará más información sobre el proceso de escaneo a medida que avanza.

La salida será más detallada que el escaneo agresivo anterior. Verá información sobre las sondas que se están enviando, las respuestas recibidas y el progreso de cada etapa del escaneo. Aquí hay un ejemplo de cómo podría verse la salida (aunque sus resultados probablemente varíen):

Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 3) scan.
NSE: Executing script msrpc-enum on 192.168.1.1
NSE: Starting runlevel 2 (of 3) scan.
NSE: Starting runlevel 3 (of 3) scan.
NSE: Finished script pre-scanning.
Initiating Ping Scan at 14:35
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 14:35, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:35
Completed Parallel DNS resolution of 1 host. at 14:35, 0.00s elapsed
Initiating SYN Stealth Scan at 14:35
Scanning 192.168.1.1 [1000 ports]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 443/tcp on 192.168.1.1
Completed SYN Stealth Scan at 14:35, 0.15s elapsed (1000 total ports)
Initiating Service scan at 14:35
Scanning 3 services on 192.168.1.1
Completed Service scan at 14:35, 5.23s elapsed (3 services total)
Initiating OS detection at 14:35
Completed OS detection at 14:35, 5.18s elapsed
Nmap scan report for 192.168.1.1
Host is up (0.00078s latency).
Not shown: 997 closed ports
... (rest of the output) ...

La salida detallada muestra las diferentes etapas del escaneo, como el escaneo de ping, el escaneo de puertos, la detección de servicios y la detección del sistema operativo. También muestra los scripts que se están ejecutando por el Motor de Scripting de Nmap (NSE).

Guardar el escaneo agresivo con nmap -A -oN agresivo.txt 127.0.0.1

En este paso, aprenderemos a guardar la salida de un escaneo agresivo de Nmap en un archivo. Esto es útil para un análisis posterior, informes o comparaciones con otros escaneos. Nmap ofrece varias opciones para guardar la salida en diferentes formatos. Usaremos la opción -oN, que guarda la salida en un formato legible por humanos "normal".

La opción -oN seguida de un nombre de archivo le dice a Nmap que guarde los resultados del escaneo en el archivo especificado usando el formato de salida normal. Este formato está diseñado para ser fácilmente leído por humanos.

Ahora, ejecutemos el comando de Nmap para guardar la salida del escaneo agresivo en un archivo. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Luego, ejecute el siguiente comando de Nmap:

sudo nmap -A -oN agresivo.txt 127.0.0.1

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

Este comando iniciará un escaneo agresivo contra la dirección IP objetivo 127.0.0.1, y guardará la salida en formato normal en un archivo llamado agresivo.txt en el directorio ~/project.

Después de que el escaneo se complete, puede ver el contenido del archivo agresivo.txt usando un editor de texto como nano o cat.

Para ver el contenido del archivo usando nano, ejecute el siguiente comando:

nano agresivo.txt

Esto abrirá el archivo agresivo.txt en el editor de texto nano. Puede desplazarse por el archivo para ver los resultados del escaneo.

Opcionalmente, puede usar el comando cat para mostrar el contenido del archivo en la terminal:

cat agresivo.txt

Esto imprimirá el contenido del archivo agresivo.txt en la terminal.

El contenido del archivo agresivo.txt será similar a la salida que ve en la pantalla al ejecutar Nmap sin la opción -oN, pero ahora está guardado en un archivo para su uso posterior.

## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN agresivo.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
| ssh-hostkey:
|   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
|_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

Analizar la salida detallada en la terminal Xfce

En este paso, analizaremos la salida detallada del escaneo agresivo que guardamos en el paso anterior. Comprender la salida de los escaneos de Nmap es crucial para identificar posibles vulnerabilidades y configuraciones incorrectas en un sistema. Usaremos el comando cat para ver el contenido del archivo agresivo.txt en la terminal Xfce y discutiremos las secciones clave de la salida.

El escaneo agresivo (nmap -A) realiza varios tipos de escaneos, incluyendo:

  • Escaneo de conexión TCP: Verifica si los puertos están abiertos completando el trío de intercambio de mensajes TCP.
  • Detección de versión de servicio: Determina la versión del software que se ejecuta en los puertos abiertos.
  • Detección de sistema operativo: Intenta identificar el sistema operativo del host objetivo.
  • Traceroute: Mapea el camino de red hacia el objetivo.
  • Motor de scripting de Nmap (NSE): Ejecuta scripts para identificar vulnerabilidades y recopilar más información.

Ahora, analicemos la salida. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Luego, use el comando cat para mostrar el contenido del archivo agresivo.txt:

cat agresivo.txt

La salida se mostrará en la terminal. Analicemos las secciones clave:

  1. Informe de escaneo de Nmap: Esta sección proporciona información general sobre el escaneo, incluyendo la dirección IP objetivo, el nombre de host (si está disponible) y las fechas y horas de inicio y finalización del escaneo.

    ## Nmap 7.80 scan initiated Mon Nov 21 14:45:32 2023 as: nmap -A -oN agresivo.txt 127.0.0.1
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000028s latency).
    Other addresses for localhost (not scanned): ::1
  2. Resultados del escaneo de puertos: Esta sección enumera los puertos abiertos, cerrados y filtrados en el host objetivo. Para cada puerto abierto, Nmap intenta identificar el servicio que se ejecuta en ese puerto y su versión.

    PORT   STATE SERVICE VERSION
    22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
    | ssh-hostkey:
    |   3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
    |   256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
    |_  256 SHA256:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz (ED25519)
    80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
    |_http-server-header: Apache/2.4.41 (Ubuntu)
    • PORT: El número de puerto y el protocolo (por ejemplo, 22/tcp).
    • STATE: El estado del puerto (open, closed, filtered).
    • SERVICE: El servicio identificado que se ejecuta en el puerto (por ejemplo, ssh, http).
    • VERSION: La versión del servicio (por ejemplo, OpenSSH 8.2p1, Apache httpd 2.4.41).
    • ssh-hostkey: La huella digital de la clave del host SSH.
    • http-server-header: El encabezado del servidor HTTP.
  3. Información del servicio: Esta sección proporciona información adicional sobre los servicios que se ejecutan en el host objetivo, como el sistema operativo.

    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  4. Detección de sistema operativo: Esta sección muestra los resultados de los intentos de detección de sistema operativo de Nmap. Nmap compara las respuestas que recibe del host objetivo con una base de datos de huellas digitales de sistemas operativos conocidos para identificar el sistema operativo.

    OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  5. Resultados del Motor de scripting de Nmap (NSE): Esta sección muestra la salida de cualquier script NSE que se ejecutó durante el escaneo. Estos scripts pueden proporcionar una amplia variedad de información, como la identificación de vulnerabilidades, la recopilación de información de usuario y la detección de configuraciones incorrectas. (Esta sección puede no estar presente si no se ejecutaron scripts o si no produjeron ninguna salida.)

  6. Resumen del escaneo: Esta sección resume los resultados del escaneo, incluyendo el número de direcciones IP escaneadas y el tiempo total de escaneo.

    ## Nmap done at Mon Nov 21 14:45:35 2023 -- 1 IP address (1 host up) scanned in 2.57 seconds

Al analizar la salida detallada del escaneo agresivo, puede obtener una comprensión integral de los servicios de red, el sistema operativo y las posibles vulnerabilidades del sistema objetivo.

Comparar con el escaneo básico en la terminal Xfce

En este paso, realizaremos un escaneo básico de Nmap y compararemos su salida con el escaneo agresivo que realizamos anteriormente. Esta comparación resaltará las diferencias en el nivel de detalle y los tipos de información recolectados por cada escaneo. Un escaneo básico generalmente solo realiza un escaneo de conexión TCP, que es más rápido pero proporciona menos información que un escaneo agresivo.

Un escaneo básico de Nmap, sin ninguna opción específica, realiza un escaneo de conexión TCP en los 1000 puertos más comunes. Identifica si estos puertos están abiertos, cerrados o filtrados. Por defecto, no realiza la detección de versión de servicio, la detección de sistema operativo o ejecuta scripts NSE.

Ahora, ejecutemos un escaneo básico de Nmap y comparemos los resultados. Abra su terminal Xfce. Asegúrese de estar en el directorio ~/project.

cd ~/project

Ejecute el siguiente comando de Nmap para realizar un escaneo básico contra la dirección IP objetivo 127.0.0.1:

sudo nmap 127.0.0.1

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

La salida del escaneo básico se mostrará en la terminal. Mostrará los puertos abiertos, cerrados y filtrados en el host objetivo.

Starting Nmap 7.80 ( https://nmap.org ) at Mon Nov 21 15:00:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
631/tcp  open  ipp

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

Ahora, comparemos esta salida con la salida del escaneo agresivo que guardamos en el archivo agresivo.txt. Puede usar el comando cat para ver el contenido del archivo agresivo.txt nuevamente:

cat aggressive.txt

Compare la salida del escaneo básico con el contenido del archivo agresivo.txt. Notará las siguientes diferencias:

  • Detección de versión de servicio: El escaneo agresivo identifica las versiones específicas de los servicios que se ejecutan en los puertos abiertos (por ejemplo, OpenSSH 8.2p1, Apache httpd 2.4.41), mientras que el escaneo básico solo identifica el nombre del servicio (por ejemplo, ssh, http).
  • Detección de sistema operativo: El escaneo agresivo intenta identificar el sistema operativo del host objetivo, mientras que el escaneo básico no.
  • Scripts NSE: El escaneo agresivo puede ejecutar scripts NSE para recopilar información adicional, mientras que el escaneo básico no.
  • Número de puertos escaneados: El escaneo básico solo escanea los 1000 puertos más comunes, mientras que el escaneo agresivo puede escanear más puertos dependiendo de las opciones utilizadas.

En resumen, el escaneo agresivo proporciona una vista más detallada y completa del sistema objetivo que el escaneo básico. Sin embargo, también tarda más en completarse y es más probable que sea detectado por los sistemas de detección de intrusiones. La elección de qué tipo de escaneo utilizar depende de los objetivos específicos de la evaluación y las restricciones del entorno.

Resumen

En este laboratorio, los participantes aprendieron a realizar un escaneo agresivo utilizando Nmap. Ejecutaron comandos como nmap -A para realizar escaneos exhaustivos que combinan la detección de sistema operativo, la detección de versiones, la exploración de scripts y el Traceroute. También aprendieron a escanear puertos específicos con -p, agregar detalle con -v y guardar los resultados del escaneo en un archivo utilizando -oN. Además, analizaron las salidas detalladas del escaneo y las compararon con los escaneos básicos en la terminal Xfce.