Encontrar un puerto UDP abierto

NmapBeginner
Practicar Ahora

Introducción

En este desafío, investigarás una posible brecha de seguridad mediante el escaneo de servicios UDP no autorizados en un servidor. El reto consiste en configurar un servidor UDP malicioso que escuche en el puerto 9995 y, a continuación, utilizar Nmap para realizar un escaneo UDP en el host local (localhost), centrándote específicamente en el rango de puertos del 9990 al 10000. Los resultados del escaneo de Nmap se guardarán en ~/project/udp_scan_results.txt.

Tu tarea es identificar e informar el número del puerto UDP abierto dentro del rango especificado mostrándolo en la consola. Utilizarás grep para analizar la salida de Nmap y awk o sed para extraer el número del puerto. Si no se encuentra ningún puerto UDP abierto, deberás imprimir "No open UDP port found". El desafío también incluye pasos de verificación para asegurar que el archivo de resultados del escaneo de Nmap existe y contiene la información esperada.

Este es un Desafío (Challenge), que a diferencia de un Laboratorio Guiado, requiere que intentes completar la tarea de forma independiente en lugar de seguir pasos de aprendizaje estructurados. Los desafíos suelen tener una dificultad mayor. Si encuentras dificultades, puedes consultar con Labby o revisar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 100%. Ha recibido una valoración positiva del 99% por parte de los estudiantes.

Encontrar un puerto UDP abierto

Investiga una posible brecha de seguridad escaneando servicios UDP no autorizados en el servidor.

Tareas

  • Realiza un escaneo UDP en localhost, apuntando específicamente a los puertos 9990-10000, utilizando Nmap y guarda los resultados en ~/project/udp_scan_results.txt.
  • Identifica el número del puerto UDP abierto dentro del rango especificado y almacénalo en una variable de entorno llamada OPEN_UDP_PORT.

Requisitos

  1. Utiliza el comando nmap para realizar el escaneo UDP.
  2. Guarda los resultados del escaneo de Nmap en un archivo llamado udp_scan_results.txt dentro del directorio ~/project.
  3. El comando Nmap debe escanear los puertos del 9990 al 10000 en localhost (127.0.0.1).
  4. Utiliza grep para analizar el archivo udp_scan_results.txt e identificar el puerto abierto.
  5. Almacena el número del puerto abierto más bajo en una variable de entorno llamada OPEN_UDP_PORT. Si no hay ningún puerto abierto, establece la variable como "NONE".

Ejemplos

Si el puerto 1234 está abierto:

echo $OPEN_UDP_PORT
1234

Si no hay ningún puerto UDP abierto dentro del rango especificado:

echo $OPEN_UDP_PORT
NONE

Consejos

  • Recuerda usar sudo al ejecutar Nmap para realizar escaneos UDP.
  • Utiliza la opción -sU en Nmap para especificar un escaneo de tipo UDP.
  • Usa grep para buscar líneas que contengan la palabra open en el archivo de salida de Nmap.
  • Emplea awk o sed para extraer el número del puerto de la salida de grep.
  • Utiliza export OPEN_UDP_PORT=valor para configurar la variable de entorno.
✨ Revisar Solución y Practicar

Resumen

En este desafío, el objetivo ha sido identificar un puerto UDP abierto dentro del rango 9990-10000 en localhost, simulando una investigación de seguridad sobre servicios UDP no autorizados. Esto ha implicado la configuración de un servidor UDP mediante Python, la ejecución de un escaneo UDP con Nmap utilizando la opción -sU y el almacenamiento de los resultados en un archivo.

La solución requiere el procesamiento del archivo de salida de Nmap mediante grep para localizar las líneas que indican un puerto abierto, y la posterior extracción del número de puerto con awk o sed. Finalmente, el número del puerto identificado se muestra en la consola, o se indica "No open UDP port found" si no se detecta ninguno en el rango establecido. El desafío subraya la importancia del uso de Nmap para escaneos UDP y de las herramientas de procesamiento de texto para analizar los resultados obtenidos.