Ejecutar un escaneo de puertos de alta velocidad
Con Masscan instalado y tus objetivos definidos, estás listo para realizar un escaneo de puertos. En este paso, ejecutarás un escaneo de demostración en puertos comunes utilizando los rangos de IP reducidos que definimos, asegurando que el proceso sea rápido para facilitar el aprendizaje.
Asegúrate de estar en el directorio ~/project donde se encuentra tu archivo targets.txt.
cd ~/project
Ahora, ejecuta el siguiente comando de masscan. Este comando requiere sudo porque Masscan utiliza sockets sin procesar (raw sockets) para enviar paquetes, lo cual requiere privilegios elevados.
sudo masscan -p22,80,443,8080 -iL targets.txt --rate 1000 -oG scan_results.gnmap
Desglosemos las opciones del comando:
-p22,80,443,8080: Especifica los puertos comunes a escanear (SSH, HTTP, HTTPS y un puerto HTTP alternativo). Este enfoque selectivo garantiza una finalización más rápida.
-iL targets.txt: Indica a Masscan que lea los rangos de IP objetivos desde el archivo targets.txt.
--rate 1000: Establece la tasa de transmisión de paquetes en 1000 paquetes por segundo. Esta es una velocidad segura para un entorno de laboratorio.
-oG scan_results.gnmap: Guarda la salida en formato "grepable" en un archivo llamado scan_results.gnmap. Este formato es fácil de procesar con herramientas de línea de comandos.
Mientras el escaneo está en curso, Masscan mostrará su progreso. Con nuestros rangos de objetivos pequeños, el escaneo debería terminar en menos de un minuto.
Starting masscan 1.3.9-integration (http://bit.ly/14GZzcT) at 2025-08-29 03:20:16 GMT
Initiating SYN Stealth Scan
Scanning 768 hosts [4 ports/host]
Una vez que el escaneo se haya completado, aparecerá un nuevo archivo llamado scan_results.gnmap en tu directorio. Puedes ver su contenido con el comando cat.
cat scan_results.gnmap
La salida listará cualquier host encontrado con puertos abiertos. Dado que estamos escaneando rangos privados pequeños dentro de un entorno de contenedores, es posible que encuentres algunos puertos abiertos en la red de puente de Docker. Cualquier puerto abierto descubierto aparecerá en un formato similar a este:
## Masscan 1.3.9-integration scan initiated Fri Aug 29 03:20:16 2025
## Ports scanned: TCP(4;22-22,80-80,443-443,8080-8080) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Timestamp: 1756437619 Host: 172.17.0.1 () Ports: 22/open/tcp//ssh//
## Masscan done at Fri Aug 29 03:20:31 2025
Los resultados del escaneo muestran que analizamos 768 hosts en 4 puertos específicos (22, 80, 443, 8080) y completamos la tarea en unos 15 segundos. En este ejemplo, Masscan encontró un puerto abierto: SSH (puerto 22) en la puerta de enlace del puente de Docker en 172.17.0.1. Esto demuestra la capacidad de Masscan para descubrir rápidamente servicios abiertos en rangos de red.
Puntos clave sobre el formato de salida:
- La marca de tiempo (
Timestamp) indica cuándo se realizó cada descubrimiento.
- El formato
Host: IP () Ports: puerto/estado/protocolo//servicio// proporciona una identificación clara del servicio.
- Masscan encontró el servicio SSH ejecutándose en el puente de Docker, lo cual es un hallazgo típico en entornos contenedorizados.