Combinar escaneo TCP y UDP 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 combinar la exploración TCP y UDP en Nmap. El laboratorio aborda la ejecución de una exploración combinada en una dirección IP objetivo, la exploración de puertos específicos, la adición de detalle a la exploración, la conservación de los resultados combinados, la comparación de las salidas TCP y UDP y el análisis de los resultados en la terminal Xfce. Utilizará comandos como nmap -sS -sU con diferentes opciones para realizar diversas tareas de exploración.

Tenga en cuenta que en los escenarios del mundo real, solo debe explorar redes y hosts con permiso explícito. Para este laboratorio, puede utilizar 192.168.1.1 o sustituirlo por la dirección IP de su máquina virtual LabEx si es necesario.

Ejecutar una exploración combinada con nmap -sS -sU 192.168.1.1

En este paso, aprenderá a realizar una exploración combinada de TCP SYN (sigilo) y UDP utilizando Nmap. Este tipo de exploración es útil para identificar tanto los servicios TCP como UDP que se ejecutan en un host objetivo.

Antes de comenzar, explique brevemente las banderas utilizadas en el comando:

  • -sS: Esta bandera le indica a Nmap que realice una exploración TCP SYN, también conocida como exploración de sigilo. Se llama "sigilo" porque no completa el intercambio de mensajes TCP completo, lo que hace que sea menos probable que se registre en el objetivo.
  • -sU: Esta bandera le indica a Nmap que realice una exploración UDP. Las exploraciones UDP generalmente son más lentas y menos confiables que las exploraciones TCP porque UDP es un protocolo sin conexión.
  • 192.168.1.1: Esta es la dirección IP objetivo que estará explorando. Nota: En un escenario del mundo real, solo debe explorar redes y hosts para los que tenga permiso explícito para explorar. Para este laboratorio, asumiremos que 192.168.1.1 es un objetivo válido dentro de su entorno de prueba. Si no tiene un host en esta dirección, puede sustituirla por la dirección IP de su máquina virtual LabEx (generalmente 127.0.0.1 o localhost).

Ahora, ejecutemos la exploración combinada. Abra su terminal Xfce y escriba el siguiente comando:

sudo nmap -sS -sU 192.168.1.1

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

La salida mostrará los puertos abiertos, cerrados o filtrados para ambos protocolos TCP y UDP en el host objetivo. Puede tardar unos minutos en completarse, especialmente la exploración UDP.

Salida de ejemplo (la salida real variará según el host 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.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

En este ejemplo, Nmap encontró los puertos TCP 22 y 80 abiertos, y los puertos UDP 53, 67 y 137 abiertos o filtrados. El estado open|filtered significa que Nmap no pudo determinar si el puerto está abierto o filtrado debido a las condiciones de red o las reglas de firewall.

Explorar puertos específicos con nmap -sS -sU -p 22,53 127.0.0.1

En el paso anterior, realizó una exploración combinada de TCP y UDP en un host objetivo. Ahora, aprenderá a explorar puertos específicos utilizando Nmap. Esto es útil cuando desea centrar su exploración en servicios o vulnerabilidades particulares.

La opción -p en Nmap le permite especificar los puertos que desea explorar. Puede especificar un solo puerto, un rango de puertos o una lista separada por comas de puertos.

En este paso, explorará los puertos 22 (SSH) y 53 (DNS) en el localhost (127.0.0.1).

Abra su terminal Xfce y escriba el siguiente comando:

sudo nmap -sS -sU -p 22,53 127.0.0.1

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

Este comando le indica a Nmap que realice una exploración TCP SYN y una exploración UDP en los puertos 22 y 53 del localhost.

Salida de ejemplo (la salida real puede variar):

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.000027s latency).

PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

En este ejemplo, Nmap encontró el puerto TCP 22 (SSH) abierto y el puerto UDP 53 (DNS) abierto o filtrado. El estado open|filtered significa que Nmap no pudo determinar si el puerto está abierto o filtrado debido a las condiciones de red o las reglas de firewall. Dado que estamos explorando el localhost, es probable que el servicio esté en ejecución, pero un firewall podría estar interfiriendo con la exploración.

Al especificar los puertos a explorar, puede reducir significativamente el tiempo de exploración y centrarse en los servicios que le interesan.

Agregar detalle con nmap -v -sS -sU 192.168.1.1

En este paso, aprenderá a aumentar el detalle de las exploraciones de Nmap. El detalle proporciona información más detallada sobre el proceso de exploración, lo que puede ser útil para la depuración o la comprensión del comportamiento de Nmap.

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

Agregemos detalle a la exploración combinada de TCP SYN y UDP que realizó en el primer paso. Abra su terminal Xfce y escriba el siguiente comando:

sudo nmap -v -sS -sU 192.168.1.1

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

Este comando realizará la misma exploración combinada que antes, pero con mayor detalle.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed SYN Stealth Scan at 10:10, 0.00s elapsed (1000 total ports)
Initiating UDP Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed UDP Scan at 10:10, 5.00s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

Observe que la salida ahora incluye información sobre la iniciación de la exploración, el número de puertos que se están explorando y el tiempo transcurrido para cada fase de la exploración. Esto puede ser útil para monitorear el progreso de la exploración e identificar cualquier problema potencial.

Guardar resultados combinados con nmap -sS -sU -oN tcpudp.txt 127.0.0.1

En este paso, aprenderá a guardar los resultados de una exploración de Nmap en un archivo. Esto es útil para un análisis posterior, informes o comparaciones con exploraciones anteriores.

Nmap ofrece varias opciones para guardar los resultados de la exploración en diferentes formatos. La opción -oN guarda los resultados en un formato legible para humanos "normal".

En este paso, guardará los resultados de una exploración combinada de TCP SYN y UDP del localhost (127.0.0.1) en un archivo llamado tcpudp.txt en su directorio ~/project.

Abra su terminal Xfce y escriba el siguiente comando:

sudo nmap -sS -sU -oN tcpudp.txt 127.0.0.1

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

Este comando realizará la exploración combinada y guardará los resultados en el archivo tcpudp.txt.

Una vez que la exploración esté completa, puede ver el contenido del archivo usando el comando cat:

cat tcpudp.txt

Salida de ejemplo (la salida real puede variar):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023 as: nmap -sS -sU -oN tcpudp.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

La salida muestra los resultados de la exploración en un formato legible para humanos, incluyendo los puertos abiertos y sus servicios asociados. El archivo también incluye información sobre la versión de Nmap, la hora de inicio de la exploración y la duración de la exploración.

Ahora puede utilizar este archivo para un análisis o informe adicional.

Comparar las salidas de TCP y UDP en la terminal Xfce

En este paso, comparará los resultados de las exploraciones TCP y UDP para comprender las diferencias en los servicios que se ejecutan en cada protocolo. Utilizará el comando grep para filtrar la salida del archivo tcpudp.txt creado en el paso anterior y observará las diferencias.

Primero, mostremos el contenido del archivo tcpudp.txt usando el comando cat:

cat tcpudp.txt

Debería ver los resultados combinados de las exploraciones TCP y UDP del localhost (127.0.0.1).

Ahora, filtremos la salida para mostrar solo los resultados de la exploración TCP. Utilice el comando grep para buscar líneas que contengan "tcp":

grep "tcp" tcpudp.txt

Salida de ejemplo:

22/tcp open  ssh

Esto muestra los puertos TCP abiertos en el localhost. En este ejemplo, el puerto 22 (SSH) está abierto.

A continuación, filtremos la salida para mostrar solo los resultados de la exploración UDP. Utilice el comando grep para buscar líneas que contengan "udp":

grep "udp" tcpudp.txt

Salida de ejemplo:

53/udp open|filtered domain

Esto muestra los puertos UDP abiertos o filtrados en el localhost. En este ejemplo, el puerto 53 (dominio) está abierto o filtrado.

Al comparar las salidas de TCP y UDP, puede ver qué servicios se ejecutan en cada protocolo. TCP se utiliza típicamente para servicios confiables y orientados a la conexión como SSH, mientras que UDP se utiliza a menudo para servicios sin conexión como DNS (dominio). El estado open|filtered para UDP indica que Nmap no pudo determinar si el puerto está abierto o filtrado debido a la naturaleza del protocolo UDP.

En resumen, al usar grep para filtrar la salida de la exploración combinada de TCP y UDP, puede identificar fácilmente los servicios que se ejecutan en cada protocolo y obtener una mejor comprensión de los servicios de red disponibles en el host objetivo.

Analizar los resultados en la terminal Xfce

En este paso, analizará los resultados de la exploración de Nmap para identificar posibles vulnerabilidades y comprender los servicios que se ejecutan en el sistema objetivo. Utilizará la información recopilada en los pasos anteriores para extraer conclusiones sobre la postura de seguridad del objetivo.

Comencemos revisando el contenido del archivo tcpudp.txt, que contiene los resultados combinados de las exploraciones TCP y UDP del localhost (127.0.0.1):

cat tcpudp.txt

Basado en la salida, puede identificar lo siguiente:

  • Puertos abiertos: La exploración revela qué puertos están abiertos en el sistema objetivo. Los puertos abiertos indican servicios que están activamente escuchando conexiones.
  • Servicios: Nmap intenta identificar los servicios que se ejecutan en cada puerto abierto. Esta información se puede utilizar para comprender el propósito de cada puerto y las posibles vulnerabilidades asociadas con esos servicios.
  • TCP vs. UDP: La exploración distingue entre los servicios TCP y UDP. TCP es orientado a la conexión y se utiliza típicamente para la transferencia de datos confiable, mientras que UDP es sin conexión y se utiliza a menudo para una comunicación más rápida y menos confiable.
  • Puertos filtrados: Para las exploraciones UDP, Nmap puede reportar puertos como "abierto|filtrado". Esto significa que Nmap no pudo determinar si el puerto está abierto o filtrado porque UDP no requiere un handshake para establecer una conexión.

Ahora, analicemos los resultados en mayor detalle.

En los pasos anteriores, exploró el localhost (127.0.0.1) y encontró que el puerto 22/tcp (SSH) y 53/udp (dominio) estaban abiertos o filtrados.

  • Puerto 22 (SSH): SSH es un protocolo de shell seguro utilizado para la administración remota y la transferencia de archivos. Si SSH está en ejecución, es importante asegurarse de que esté configurado de manera segura con contraseñas fuertes o autenticación basada en claves para prevenir el acceso no autorizado.
  • Puerto 53 (dominio): El puerto 53 se utiliza típicamente para los servicios de DNS (Sistema de Nombres de Dominio). Si este puerto está abierto, indica que el sistema puede estar ejecutando un servidor DNS. Los servidores DNS pueden ser vulnerables a varios ataques, como el spoofing de DNS y la intoxicación de caché, por lo que es importante mantenerlos actualizados con las últimas correcciones de seguridad.

Para analizar aún más los resultados, puede utilizar el motor de scripting de Nmap (NSE) para realizar exploraciones de vulnerabilidad más detalladas. Sin embargo, esto está fuera del alcance de este laboratorio.

En resumen, al analizar los resultados de la exploración de Nmap, puede obtener información valiosa sobre los servicios que se ejecutan en el sistema objetivo y identificar posibles vulnerabilidades que deben ser abordadas. Recuerde siempre obtener la autorización adecuada antes de explorar cualquier red o sistema.

Resumen

En este laboratorio, aprendió a combinar la exploración TCP y UDP utilizando Nmap. Ejecutó una exploración combinada con el comando nmap -sS -sU en una IP objetivo, donde -sS realiza una exploración TCP SYN y -sU una exploración UDP. También aprendió a explorar puertos específicos, agregar detalle a la exploración y guardar los resultados combinados en un archivo.

Además, se le instruyó a comparar y analizar las salidas de TCP y UDP en la terminal Xfce. Recuerde, en los escenarios del mundo real, solo explore redes y hosts con permiso explícito.