Ejecutar escaneo UDP con Nmap

NmapBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a ejecutar un escaneo UDP con Nmap. Comenzará realizando un escaneo UDP básico en una dirección IP objetivo utilizando la opción -sU. Luego, escaneará puertos UDP específicos, combinará escaneos UDP y TCP y agregará la detección de versiones. Finalmente, verá los resultados del escaneo UDP en la terminal Xfce y comparará las salidas en el editor de texto Xfce.

Ejecutar un escaneo UDP con nmap -sU 192.168.1.1

En este paso, realizaremos un escaneo UDP básico utilizando Nmap. UDP (User Datagram Protocol) es un protocolo sin conexión, lo que significa que, a diferencia de TCP, no hay un handshake para establecer una conexión antes de enviar datos. Esto hace que los escaneos UDP sean diferentes de los escaneos TCP. La opción -sU de Nmap se utiliza para iniciar un escaneo UDP.

Antes de comenzar, es importante entender que los escaneos UDP pueden ser menos confiables que los escaneos TCP. Debido a que UDP es sin conexión, Nmap puede no recibir siempre una respuesta de un puerto, incluso si está abierto. Los firewall y las condiciones de red también pueden afectar la precisión de los escaneos UDP.

Comencemos escaneando la dirección IP objetivo 192.168.1.1 utilizando el siguiente comando:

sudo nmap -sU 192.168.1.1

Este comando le dice a Nmap que realice un escaneo UDP (-sU) en la dirección IP 192.168.1.1. Necesitará sudo porque los escaneos UDP a menudo requieren privilegios elevados para enviar paquetes crudos.

Después de ejecutar el comando, verá una salida similar a la siguiente:

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.0010s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf

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

Explicación de la salida:

  • Starting Nmap...: Muestra la versión de Nmap y la hora de inicio del escaneo.
  • Nmap scan report for 192.168.1.1: Indica la dirección IP objetivo.
  • Host is up: Confirma que el host objetivo es alcanzable.
  • Not shown: 997 closed udp ports: Indica que Nmap no mostró los 997 puertos UDP cerrados. Por defecto, Nmap solo muestra los puertos abiertos, abiertos|filtrados o filtrados.
  • PORT STATE SERVICE: Lista el número de puerto, su estado y el servicio que se ejecuta en ese puerto (si se conoce).
    • open: Indica que Nmap recibió una respuesta del puerto, lo que sugiere que un servicio está escuchando en ese puerto.
    • open|filtered: Indica que el puerto está abierto o filtrado. Nmap no pudo determinar en qué estado se encuentra. Esto a menudo significa que un firewall está bloqueando las sondas de Nmap.
    • filtered: Indica que un firewall está bloqueando las sondas de Nmap y Nmap no puede determinar si el puerto está abierto o cerrado.
  • Nmap done: Muestra la hora de finalización del escaneo y el número de direcciones IP escaneadas.

Consideraciones importantes:

  • Reemplace 192.168.1.1 con la dirección IP real del objetivo que desea escanear.
  • Los resultados de un escaneo UDP pueden variar dependiendo de las condiciones de red y las configuraciones de firewall.
  • Escanear una red sin permiso es ilegal y poco ético. Solo escanear redes que usted posea o tenga permiso explícito para escanear.

Escanear puertos UDP con nmap -sU -p 53,123 127.0.0.1

En este paso, centraremos nuestro escaneo UDP en puertos específicos. Esto es útil cuando quieres comprobar si determinados servicios están en ejecución en una máquina objetivo sin escanear todos los puertos UDP, lo que puede ser muy tiempo consumidor. Vamos a escanear los puertos 53 (DNS) y 123 (NTP) en el localhost (127.0.0.1).

La opción -p en Nmap te permite especificar los puertos que quieres escanear. Puedes proporcionar un solo puerto, un rango de puertos (por ejemplo, 1-100), o una lista separada por comas de puertos (por ejemplo, 21,22,80).

Para escanear los puertos UDP 53 y 123 en 127.0.0.1, utiliza el siguiente comando:

sudo nmap -sU -p 53,123 127.0.0.1

Este comando le dice a Nmap que realice un escaneo UDP (-sU) en los puertos 53 y 123 (-p 53,123) de la dirección IP 127.0.0.1 (localhost). Una vez más, sudo a menudo es necesario para los escaneos UDP.

Después de ejecutar el comando, es posible que veas una salida similar a esta:

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

PORT    STATE         SERVICE
53/udp  open|filtered domain
123/udp closed        ntp

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

Explicación de la salida:

  • Nmap scan report for localhost (127.0.0.1): Indica que el objetivo es el localhost.
  • PORT STATE SERVICE: Lista el número de puerto, su estado y el servicio que se ejecuta en ese puerto (si se conoce).
    • 53/udp open|filtered domain: El puerto 53 (DNS) está abierto o filtrado. Esto significa que Nmap no pudo determinar con certeza si el puerto está abierto debido a posibles reglas de firewall o condiciones de red.
    • 123/udp closed ntp: El puerto 123 (NTP) está cerrado. Esto significa que ningún servicio está escuchando en ese puerto.

Conclusiones clave:

  • La opción -p te permite dirigirte a puertos específicos, lo que hace que tus escanos sean más eficientes.
  • La salida proporciona información sobre el estado de cada puerto escaneado (abierto, cerrado, filtrado, etc.).
  • Comprender los servicios asociados a los puertos comunes (como 53 para DNS y 123 para NTP) te ayuda a interpretar los resultados del escaneo.

Combinar UDP y TCP con nmap -sU -sT 192.168.1.1

En este paso, combinaremos los escaneos UDP y TCP en un solo comando de Nmap. Esto nos permite obtener una vista más completa de los servicios que se ejecutan en una máquina objetivo, ya que algunos servicios utilizan UDP mientras que otros utilizan TCP.

La opción -sT de Nmap realiza un escaneo de conexión TCP. Esta es la forma más básica de escanear TCP, donde Nmap intenta establecer una conexión TCP completa con el puerto objetivo. En general, es confiable pero puede ser fácilmente detectado.

Para realizar un escaneo UDP y un escaneo de conexión TCP en 192.168.1.1, utiliza el siguiente comando:

sudo nmap -sU -sT 192.168.1.1

Este comando le dice a Nmap que realice un escaneo UDP (-sU) y un escaneo de conexión TCP (-sT) en la dirección IP 192.168.1.1. sudo a menudo es necesario, especialmente para la parte UDP del escaneo.

Después de ejecutar el comando, verá una salida que incluye los resultados de los escaneos UDP y TCP. La salida puede verse así:

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.0010s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http

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

Explicación de la salida:

  • La salida es similar a los escaneos anteriores, pero ahora incluye los resultados para los puertos UDP y TCP.
  • La primera sección muestra los resultados del escaneo UDP, con los puertos y sus estados (abierto, cerrado, filtrado, etc.).
  • La segunda sección muestra los resultados del escaneo TCP, también con los puertos y sus estados.
  • Observe que la misma dirección IP puede tener diferentes servicios que se ejecutan en diferentes protocolos (UDP y TCP).

Beneficios de combinar los escaneos UDP y TCP:

  • Resultados más completos: Obtiene una imagen más completa de los servicios que se ejecutan en el objetivo.
  • Identificación de diferentes tipos de servicios: Puede identificar los servicios que utilizan UDP (por ejemplo, DNS, NTP) y los servicios que utilizan TCP (por ejemplo, HTTP, SSH).

Nota importante:

Combinar los tipos de escaneo puede aumentar el tiempo de escaneo. Considere dirigirse a puertos específicos si necesita resultados más rápidos.

Agregar detección de versión con nmap -sUV 192.168.1.1

En este paso, agregaremos la detección de versiones a nuestro escaneo UDP. La detección de versiones permite que Nmap intente determinar el nombre de la aplicación y el número de versión que se ejecutan en los puertos abiertos. Esto puede proporcionar información valiosa sobre posibles vulnerabilidades.

La opción -sV en Nmap habilita la detección de versiones. Cuando se combina con -sU para el escaneo UDP, se convierte en -sUV. Nmap enviará sondas a los puertos UDP abiertos para tratar de identificar el servicio y su versión.

Para realizar un escaneo UDP con detección de versiones en 192.168.1.1, utiliza el siguiente comando:

sudo nmap -sUV 192.168.1.1

Este comando le dice a Nmap que realice un escaneo UDP (-sU) y la detección de versiones (-sV) en la dirección IP 192.168.1.1. La opción combinada es -sUV. Como antes, sudo a menudo es necesario para los escaneos UDP.

Después de ejecutar el comando, es posible que veas una salida similar a esta:

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.00088s latency).
Not shown: 997 closed udp ports
PORT      STATE         SERVICE VERSION
137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf  Apple Bonjour
Service Info: OS: Apple embedded

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

Explicación de la salida:

  • La salida ahora incluye una columna VERSION, que muestra la versión del servicio detectada (si está disponible).
  • 5353/udp open|filtered zeroconf Apple Bonjour: Nmap identificó el servicio que se ejecuta en el puerto 5353 como Apple Bonjour.
  • Service Info: OS: Apple embedded: Nmap también intenta determinar el sistema operativo basado en la información del servicio.

Conclusiones clave:

  • La opción -sV (o -sUV cuando se combina con el escaneo UDP) habilita la detección de versiones.
  • La detección de versiones puede ayudar a identificar las aplicaciones y versiones específicas que se ejecutan en los puertos abiertos.
  • Esta información se puede utilizar para evaluar posibles vulnerabilidades y planificar acciones posteriores.

Consideraciones importantes:

  • La detección de versiones puede tomar más tiempo que un simple escaneo de puertos, ya que Nmap necesita enviar sondas adicionales a cada puerto abierto.
  • La precisión de la detección de versiones depende del servicio y de las firmas de Nmap disponibles. A veces, Nmap puede no ser capaz de identificar el servicio o su versión con precisión.

Ver los resultados UDP en la terminal Xfce

En este paso, nos centraremos en ver y analizar los resultados del escaneo UDP directamente dentro de la terminal Xfce. Si bien Nmap proporciona la salida directamente a la terminal, a veces es útil guardar la salida en un archivo para una revisión y análisis más fáciles. Usaremos comandos de terminal para filtrar y ver las partes específicas de UDP del escaneo.

Primero, ejecutemos un escaneo UDP y guardemos la salida en un archivo. Esto nos permitirá trabajar con los resultados más fácilmente. Usaremos la opción -oN para guardar la salida en un formato "normal".

sudo nmap -sUV 192.168.1.1 -oN udp_scan_results.txt

Este comando realiza un escaneo UDP con detección de versiones en 192.168.1.1 y guarda la salida en un archivo llamado udp_scan_results.txt en tu directorio actual (~/proyecto).

Ahora que tenemos los resultados guardados en un archivo, podemos usar comandos de terminal para ver y filtrar la información específica de UDP.

Para ver todo el contenido del archivo, puedes usar el comando cat:

cat udp_scan_results.txt

Esto mostrará el informe completo del escaneo de Nmap en la terminal. Sin embargo, estamos principalmente interesados en los resultados UDP. Podemos usar el comando grep para filtrar la salida y mostrar solo las líneas que contienen "udp".

grep "udp" udp_scan_results.txt

Este comando buscará el archivo udp_scan_results.txt en busca de líneas que contengan la cadena "udp" y mostrará esas líneas en la terminal. La salida te mostrará los puertos UDP abiertos o filtrados, junto con cualquier información de versión que Nmap haya podido detectar.

Salida de ejemplo:

137/udp   open|filtered netbios-ns
138/udp   open|filtered netbios-dgm
5353/udp  open|filtered zeroconf  Apple Bonjour

También puedes usar el comando less para ver el archivo página a página:

less udp_scan_results.txt

Dentro de less, puedes buscar "udp" escribiendo /udp y presionando Enter. Presiona n para ir a la siguiente coincidencia. Presiona q para salir de less.

Al usar estos comandos de terminal simples, puedes ver y analizar efectivamente los resultados del escaneo UDP generados por Nmap. Esto te permite identificar rápidamente los puertos UDP abiertos y cualquier información de servicio asociada.

Comparar las salidas en el editor de texto Xfce

En este paso, usaremos el editor de texto Xfce para comparar las salidas de diferentes escaneos de Nmap. Esto es útil para identificar cambios en los puertos abiertos, servicios o versiones con el tiempo, o para comparar los resultados de escaneos con diferentes opciones.

Primero, supongamos que ya has realizado dos escaneos de Nmap y guardado las salidas en archivos separados. Por ejemplo, podrías haber ejecutado un escaneo UDP básico y un escaneo UDP con detección de versiones, guardando los resultados en udp_scan_basic.txt y udp_scan_version.txt respectivamente. Si no tienes estos archivos, créalos usando los siguientes comandos:

sudo nmap -sU 192.168.1.1 -oN udp_scan_basic.txt
sudo nmap -sUV 192.168.1.1 -oN udp_scan_version.txt

Ahora, usaremos el comando xfce4-terminal para abrir el editor de texto Xfce (mousepad) y cargar ambos archivos para la comparación.

mousepad udp_scan_basic.txt udp_scan_version.txt

Este comando abrirá dos instancias de mousepad, cada una mostrando uno de los archivos de salida de Nmap.

Comparando las Salidas:

  1. Examina la Salida del Escaneo Básico (udp_scan_basic.txt): Este archivo contendrá los resultados del escaneo UDP básico, mostrando los puertos UDP abiertos o filtrados.

  2. Examina la Salida del Escaneo con Detección de Versiones (udp_scan_version.txt): Este archivo contendrá los resultados del escaneo UDP con detección de versiones. Además de los puertos UDP abiertos o filtrados, también puede mostrar las versiones de servicio detectadas.

  3. Compara Lado a Lado: Al tener ambos archivos abiertos en ventanas separadas, puedes comparar fácilmente los resultados lado a lado. Busca diferencias en los puertos abiertos, el estado de los puertos (abierto, filtrado, cerrado) y la información del servicio.

Comparación de Ejemplo:

  • udp_scan_basic.txt podría mostrar:

    137/udp   open|filtered netbios-ns
    138/udp   open|filtered netbios-dgm
    5353/udp  open|filtered zeroconf
  • udp_scan_version.txt podría mostrar:

    137/udp   open|filtered netbios-ns
    138/udp   open|filtered netbios-dgm
    5353/udp  open|filtered zeroconf  Apple Bonjour
    Service Info: OS: Apple embedded

En este ejemplo, el escaneo con detección de versiones fue capaz de identificar el servicio que se ejecuta en el puerto 5353 como "Apple Bonjour" y proporcionar información del sistema operativo, que no estaba disponible en el escaneo básico.

Al comparar las salidas en el editor de texto Xfce, puedes entender mejor las diferencias entre los escaneos y la información adicional proporcionada por diferentes opciones de Nmap. Esto puede ser valioso para identificar posibles vulnerabilidades y planificar acciones posteriores.

Resumen

En este laboratorio, los participantes aprendieron a ejecutar un escaneo UDP con Nmap. Emprendieron con un escaneo UDP básico usando la opción -sU en la IP 192.168.1.1, comprendiendo que UDP es sin conexión y que los escaneos pueden ser menos confiables que los escaneos TCP. También escanearon puertos UDP específicos, combinaron escaneos UDP y TCP, agregaron detección de versiones y vieron y compararon los resultados en la terminal Xfce y el editor de texto.