Realizar un Escaneo Exhaustivo 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 exhaustivo utilizando Nmap. El laboratorio se centra en la combinación de diferentes tipos de escaneo para recopilar información detallada sobre un objetivo.

Ejecutará escaneos completos utilizando opciones como -sS (escaneo TCP SYN), -sU (escaneo UDP), -O (detección del sistema operativo) y -sV (detección de la versión del servicio). También explorará cómo agregar scripts con -sC, ajustar la velocidad con -T3, aumentar la verbosidad con -v y guardar los resultados del escaneo en un archivo con -oN. Finalmente, analizará la salida exhaustiva generada por estos escaneos en la terminal Xfce.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/udp_scanning("UDP Scanning Techniques") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") nmap/NmapGroup -.-> nmap/script_management("Script Categories and Updating") subgraph Lab Skills nmap/save_output -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/port_scanning -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/timing_performance -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/verbosity -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/syn_scan -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/udp_scanning -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/os_version_detection -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/service_detection -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} nmap/script_management -.-> lab-547104{{"Realizar un Escaneo Exhaustivo en Nmap"}} end

Ejecutar un escaneo completo con nmap -sS -sU -O -sV 192.168.1.1

En este paso, realizaremos un escaneo completo de una dirección IP objetivo utilizando Nmap. Un escaneo completo combina varios tipos de escaneo para recopilar información exhaustiva sobre el objetivo. Esto incluye el escaneo TCP SYN (-sS), el escaneo UDP (-sU), la detección del sistema operativo (-O) y la detección de la versión del servicio (-sV).

Antes de comenzar, explique brevemente cada una de estas opciones de Nmap:

  • -sS: Escaneo TCP SYN (también conocido como escaneo sigiloso o escaneo semi-abierto). Es un escaneo rápido y sigiloso que no completa la conexión TCP.
  • -sU: Escaneo UDP. Envía paquetes UDP al objetivo y escucha las respuestas para determinar qué puertos UDP están abiertos.
  • -O: Detección del sistema operativo. Intenta identificar el sistema operativo del host objetivo analizando su huella digital del stack TCP/IP.
  • -sV: Detección de la versión del servicio. Determina la versión del software que se ejecuta en los puertos abiertos.

Ahora, ejecutemos el comando de escaneo completo. Estaremos escanendiendo la dirección IP 192.168.1.1. Asegúrese de que la dirección IP objetivo sea alcanzable desde su máquina virtual LabEx. Si no tiene un objetivo específico en mente, puede usar la dirección IP de su propia máquina o una dirección IP de prueba en su red local.

Abra su terminal Xfce y navegue hasta el directorio ~/project. Luego, ejecute el siguiente comando:

nmap -sS -sU -O -sV 192.168.1.1

Este comando iniciará un escaneo completo de la dirección IP objetivo 192.168.1.1. Nmap realizará un escaneo TCP SYN, un escaneo UDP, la detección del sistema operativo y la detección de la versión del servicio.

La salida mostrará los puertos abiertos, los servicios que se ejecutan en esos puertos, el sistema operativo del objetivo y otras información relevante.

Salida de ejemplo (la salida real variará según el 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.0012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD

OS details: Linux 3.2 - 4.9
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   1.20 ms 192.168.1.1

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

Esta salida muestra los puertos abiertos (por ejemplo, 22, 80, 139, 445), los servicios que se ejecutan en esos puertos (por ejemplo, ssh, http, netbios-ssn, microsoft-ds) y el sistema operativo del objetivo (Linux). El resultado del escaneo UDP muestra que el puerto 5353 está abierto.

Agregar scripts con nmap -sS -sU -sC -p 22,80 127.0.0.1

En este paso, mejoraremos nuestro escaneo de Nmap incorporando scripts de Nmap. Los scripts de Nmap son herramientas poderosas que pueden automatizar varias tareas, como la detección de vulnerabilidades, la enumeración de servicios y más. La opción -sC le indica a Nmap que use el conjunto predeterminado de scripts. También especificaremos los puertos a escanear utilizando la opción -p.

Antes de continuar, aclaremos el propósito de las opciones -sC y -p:

  • -sC: Esta opción le indica a Nmap que ejecute el conjunto predeterminado de scripts en el objetivo. Estos scripts están diseñados para proporcionar información básica sobre los servicios que se ejecutan en el objetivo.
  • -p: Esta opción le permite especificar los puertos que desea escanear. En este caso, estamos especificando los puertos 22 y 80.

Ahora, ejecutemos el comando. Estaremos escanendiendo 127.0.0.1 (localhost) en los puertos 22 y 80, utilizando los scripts predeterminados.

Abra su terminal Xfce y navegue hasta el directorio ~/project. Luego, ejecute el siguiente comando:

nmap -sS -sU -sC -p 22,80 127.0.0.1

Este comando realizará un escaneo SYN (-sS) y un escaneo UDP (-sU) en los puertos 22 y 80 del localhost (127.0.0.1), y también ejecutará los scripts predeterminados (-sC) contra esos puertos.

La salida mostrará los puertos abiertos, los servicios que se ejecutan en esos puertos y los resultados de los scripts que se ejecutaron.

Salida de ejemplo (la salida real variará según los servicios que se ejecuten en su localhost):

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).

PORT   STATE SERVICE
22/tcp open  ssh
| ssh-hostkey:
|   2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|_  256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
80/tcp closed http

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

En este ejemplo, el puerto 22 (SSH) está abierto y el script ssh-hostkey ha proporcionado información sobre la clave del host SSH. El puerto 80 (HTTP) está cerrado. El escaneo UDP no reveló ningún puerto abierto.

Ajustar el tiempo con nmap -sS -sU -T3 192.168.1.1

En este paso, aprenderemos a ajustar el tiempo de los escaneos de Nmap utilizando la opción -T. La opción -T controla la agresividad del escaneo, lo que afecta la velocidad y la precisión de los resultados. Un modelo de tiempo más alto puede hacer que los escaneos sean más rápidos, pero también aumenta las posibilidades de ser detectado o de perder algunos resultados.

La opción -T acepta valores de 0 a 5, y cada valor representa un modelo de tiempo diferente:

  • -T0: Paranoico (muy lento, utilizado para sistemas de detección de intrusiones)
  • -T1: Astuto (lento, evita la detección)
  • -T2: Cortés (ralentiza el escaneo para evitar abrumar el objetivo)
  • -T3: Normal (predeterminado, velocidad y precisión equilibradas)
  • -T4: Agresivo (rápido, puede aumentar el riesgo de detección o de resultados inexactos)
  • -T5: Insano (muy rápido, alto riesgo de detección y resultados inexactos)

En este paso, usaremos la opción -T3, que representa el modelo de tiempo "Normal". Esta es la configuración predeterminada, pero la especificaremos explícitamente a efectos de demostración. También realizaremos un escaneo SYN (-sS) y un escaneo UDP (-sU) en la dirección IP objetivo 192.168.1.1.

Abra su terminal Xfce y navegue hasta el directorio ~/project. Luego, ejecute el siguiente comando:

nmap -sS -sU -T3 192.168.1.1

Este comando realizará un escaneo SYN y un escaneo UDP en la dirección IP objetivo 192.168.1.1 utilizando el modelo de tiempo "Normal".

La salida mostrará los puertos abiertos y los servicios que se ejecutan en esos puertos, similar a los escaneos anteriores. La principal diferencia es que el escaneo se realizará con las configuraciones de tiempo predeterminadas.

Salida de ejemplo (la salida real variará según el objetivo):

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.0012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh     OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD

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

Esta salida es similar a la salida del primer paso, pero demuestra cómo establecer explícitamente el modelo de tiempo utilizando la opción -T.

Añadir detalle con nmap -v -sS -sU -O 127.0.0.1

En este paso, agregaremos detalle a nuestro escaneo de Nmap utilizando la opción -v. La detalle aumenta la cantidad de información mostrada durante el escaneo, proporcionando más detalles sobre el proceso y los resultados. Esto puede ser útil para la depuración o para obtener una comprensión más profunda de lo que está haciendo Nmap.

La opción -v aumenta el nivel de detalle. Puede utilizarla varias veces (por ejemplo, -vv) para aumentar aún más el detalle.

En este paso, realizaremos un escaneo SYN (-sS), un escaneo UDP (-sU) y la detección del sistema operativo (-O) en la dirección IP objetivo 127.0.0.1 (localhost), y agregaremos detalle utilizando la opción -v.

Abra su terminal Xfce y navegue hasta el directorio ~/project. Luego, ejecute el siguiente comando:

nmap -v -sS -sU -O 127.0.0.1

Este comando realizará los escaneos especificados con mayor detalle. Verá una salida más detallada sobre el proceso de escaneo, incluyendo las sondas que se envían, las respuestas que se reciben y los intentos de detección del sistema operativo.

Salida de ejemplo (la salida real variará según el objetivo y los servicios que se ejecuten en él):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Completed SYN Stealth Scan
Initiating UDP Scan
Scanning localhost (127.0.0.1) [1000 ports]
Completed UDP Scan
Initiating OS detection.
Scanning localhost (127.0.0.1)
Completed OS detection.
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
5353/udp open  mdns

Device type: General purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.15

Read data files from: /usr/bin/../share/nmap
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.24 seconds

Observe la información adicional mostrada sobre el proceso de escaneo, como "Initiating SYN Stealth Scan", "Completed UDP Scan" y "Initiating OS detection". Esto es el resultado del aumento del detalle.

Guardar un escaneo completo con nmap -sS -sU -sV -oN full.txt 192.168.1.1

En este paso, aprenderemos a guardar la salida de un escaneo de Nmap en un archivo utilizando la opción -oN. Esto es útil para un análisis posterior o para documentar los resultados de un escaneo.

La opción -oN especifica que la salida debe guardarse en formato "normal" en el archivo especificado. El formato "normal" es un formato legible por humanos que es fácil de analizar.

En este paso, realizaremos un escaneo SYN (-sS), un escaneo UDP (-sU) y la detección de la versión del servicio (-sV) en la dirección IP objetivo 192.168.1.1, y guardaremos la salida en un archivo llamado full.txt en el directorio ~/project.

Abra su terminal Xfce y navegue hasta el directorio ~/project. Luego, ejecute el siguiente comando:

nmap -sS -sU -sV -oN full.txt 192.168.1.1

Este comando realizará los escaneos especificados y guardará la salida en el archivo full.txt.

Una vez que se complete el escaneo, puede ver el contenido del archivo full.txt utilizando el comando cat o un editor de texto como nano.

cat full.txt

o

nano full.txt

El archivo full.txt contendrá la salida del escaneo de Nmap en un formato legible por humanos.

Contenido de ejemplo de full.txt (el contenido real variará según el objetivo):

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
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)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD
Service Info: Host: MYSERVER; OS: Linux; CPE: cpe:/o:linux:linux_kernel

## Nmap done at Fri Oct 27 10:20:10 2023 -- 1 IP address (1 host up) scanned in 10.24 seconds

Esta salida es similar a la salida mostrada en la terminal, pero ahora está guardada en un archivo para su uso posterior.

Analizar la salida detallada en la terminal Xfce

En este paso, analizaremos la salida detallada generada por los escaneos de Nmap realizados en los pasos anteriores. Comprender la salida es fundamental para identificar posibles vulnerabilidades y recopilar información sobre el sistema objetivo. Nos centraremos en interpretar los elementos clave de la salida de Nmap dentro de la terminal Xfce.

Primero, repasemos los diferentes tipos de escaneos que hemos realizado y la información que proporcionan:

  • Escaneo SYN (-sS): Este es un escaneo sigiloso que identifica rápidamente los puertos abiertos sin completar el handshake TCP. Es útil para mapear rápidamente los puertos abiertos en un objetivo.
  • Escaneo UDP (-sU): Este escaneo identifica los puertos UDP abiertos. UDP es un protocolo sin conexión, por lo que este escaneo puede ser menos confiable y más lento que un escaneo TCP.
  • Detección del sistema operativo (-O): Esto intenta determinar el sistema operativo que se está ejecutando en el objetivo.
  • Detección de la versión del servicio (-sV): Esto intenta determinar la versión de los servicios que se están ejecutando en los puertos abiertos.
  • Escaneo de scripts (-sC): Esto ejecuta un conjunto de scripts de Nmap para identificar vulnerabilidades y recopilar más información sobre el objetivo.

Ahora, analicemos la salida. Puedes referirte al archivo full.txt creado en el paso anterior o volver a ejecutar un escaneo y observar la salida directamente en la terminal. Por ejemplo, puedes ver el contenido de full.txt utilizando el comando cat:

cat ~/project/full.txt

O, puedes volver a ejecutar el comando de escaneo completo del paso 1:

nmap -sS -sU -O -sV 192.168.1.1

Elementos clave a buscar en la salida:

  • Puertos abiertos: Nmap listará los puertos abiertos en el sistema objetivo. Este es el primer paso para identificar los posibles servicios que se están ejecutando.
  • Información del servicio: Nmap intentará identificar el servicio que se está ejecutando en cada puerto abierto. Esta información se puede utilizar para identificar vulnerabilidades conocidas en esos servicios.
  • Sistema operativo: Nmap intentará identificar el sistema operativo que se está ejecutando en el objetivo. Esta información se puede utilizar para identificar vulnerabilidades específicas del sistema operativo.
  • Latencia del escaneo: La salida muestra la latencia, que es el tiempo que tarda Nmap en comunicarse con el objetivo. Una latencia mayor puede indicar congestión de red o una conexión lenta.

Salida de ejemplo (la salida real variará según el objetivo):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:25 UTC
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)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD
Service Info: Host: MYSERVER; OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS CPE: cpe:/o:linux:linux_kernel
Aggressive OS guesses: Linux 3.10 - 4.11 (95%), Linux 3.16 (95%), Linux 4.4 (95%), Linux 4.6 - 4.7 (95%), Linux 4.8 (95%), Linux 4.9 (95%), Linux 4.12 (95%), Linux 4.13 (95%), Linux 4.14 (95%), Linux 4.15 (95%)
No exact OS matches for host.

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

En esta salida de ejemplo:

  • El puerto 22 está abierto y se está ejecutando OpenSSH 7.6p0.
  • El puerto 80 está abierto y se está ejecutando Apache httpd 2.4.29.
  • Los puertos 139 y 445 están abiertos y se están ejecutando Samba.
  • El puerto 5353 está abierto y se está ejecutando Avahi mDNS/DNS-SD.
  • Nmap ha hecho conjeturas agresivas sobre el sistema operativo, sugiriendo que es probable que sea un kernel de Linux entre las versiones 3.10 y 4.15.

Al analizar detenidamente la salida de Nmap, puedes obtener información valiosa sobre la postura de seguridad del sistema objetivo.

Resumen

En este laboratorio, realizamos un escaneo exhaustivo con Nmap, combinando el escaneo TCP SYN (-sS), el escaneo UDP (-sU), la detección del sistema operativo (-O) y la detección de la versión del servicio (-sV) para recopilar amplia información sobre una dirección IP objetivo. Aprendimos cómo ejecutar un escaneo completo utilizando el comando nmap -sS -sU -O -sV 192.168.1.1 y cómo interpretar la salida, que incluye los puertos abiertos, los servicios en ejecución y el sistema operativo del objetivo.

Además, en el laboratorio se cubrió la adición de scripts con -sC, el ajuste de la temporización con -T3, el aumento de la verbosidad con -v y la guardado de los resultados del escaneo en un archivo utilizando -oN. Estas técnicas mejoran las capacidades de Nmap para el análisis y el informe detallados de la red.