Escáner de puerto de alta velocidad
"Clase de la hoja"
########################################################################################################################################################################################################################################################## Copiar todos los comandos
########################################################################################################################################################################################################################################################## Generar PDF seleccionado/button
■/div titulada
"Notificación" clase="notificación" ¡Todos los comandos masivos copiados para el portapapeles! ■/div titulada
Masscan es un escáner de puerto extremadamente rápido diseñado para escanear todo el Internet en menos de 6 minutos. Es asincrónico y puede transmitir paquetes a tasas de 10 millones de paquetes por segundo, lo que lo hace ideal para el reconocimiento de red a gran escala y evaluaciones de seguridad.
Uso básico
Escáner de puerto sencillo
# Scan single host for specific port
masscan 192.168.1.1 -p80
masscan 192.168.1.1 -p443
masscan 192.168.1.1 -p22
# Scan subnet for specific port
masscan 192.168.1.0/24 -p80
masscan 10.0.0.0/8 -p443
masscan 172.16.0.0/12 -p22
# Scan multiple ports
masscan 192.168.1.0/24 -p80,443
masscan 192.168.1.0/24 -p80,443,22,21,25
masscan 192.168.1.0/24 -p1-1000
# Scan all ports
masscan 192.168.1.0/24 -p1-65535
masscan 192.168.1.0/24 -p0-65535
Control de tarifas
# Set transmission rate (packets per second)
masscan 192.168.1.0/24 -p80 --rate 100
masscan 192.168.1.0/24 -p80 --rate 1000
masscan 192.168.1.0/24 -p80 --rate 10000
# Maximum rate limiting
masscan 192.168.1.0/24 -p80 --max-rate 1000
# Conservative scanning (slow)
masscan 192.168.1.0/24 -p80 --rate 10
# Aggressive scanning (fast)
masscan 192.168.1.0/24 -p80 --rate 100000
Formatos de salida
Formatos de salida estándar
# XML output (nmap compatible)
masscan 192.168.1.0/24 -p80 -oX scan_results.xml
# Grepable output
masscan 192.168.1.0/24 -p80 -oG scan_results.gnmap
# JSON output
masscan 192.168.1.0/24 -p80 -oJ scan_results.json
# List output (simple format)
masscan 192.168.1.0/24 -p80 -oL scan_results.list
# Binary output (for resuming)
masscan 192.168.1.0/24 -p80 -oB scan_results.binary
# Multiple output formats
masscan 192.168.1.0/24 -p80 -oX results.xml -oG results.gnmap -oJ results.json
Procesamiento de productos
# Parse XML output
cat scan_results.xml|grep "open"
# Parse JSON output
cat scan_results.json|jq '.[]|select(.ports[].status == "open")'
# Parse list output
cat scan_results.list|grep "open"
# Convert to nmap format
masscan 192.168.1.0/24 -p80 -oX results.xml
# Then use with nmap scripts: nmap -iL <(grep -oP '(?<=addr=")[^"]*' results.xml) -sV
Opciones avanzadas de exploración
Banner Grabbing
# Enable banner grabbing
masscan 192.168.1.0/24 -p80,443,22,21 --banners
# Banner grabbing with specific source port
masscan 192.168.1.0/24 -p80 --banners --source-port 61000
# Banner grabbing with rate limiting
masscan 192.168.1.0/24 -p80,443 --banners --rate 1000
# Banner grabbing for web services
masscan 192.168.1.0/24 -p80,443,8080,8443 --banners
Configuración de interfaz de red
# Specify network adapter
masscan 192.168.1.0/24 -p80 --adapter eth0
masscan 192.168.1.0/24 -p80 --adapter wlan0
# Set adapter IP address
masscan 192.168.1.0/24 -p80 --adapter-ip 192.168.1.100
# Set adapter MAC address
masscan 192.168.1.0/24 -p80 --adapter-mac 00:11:22:33:44:55
# Set router MAC address
masscan 192.168.1.0/24 -p80 --router-mac 00:11:22:33:44:55
Configuración de fuentes
# Specify source IP address
masscan 192.168.1.0/24 -p80 --source-ip 192.168.1.100
# Specify source port
masscan 192.168.1.0/24 -p80 --source-port 61000
# Random source port
masscan 192.168.1.0/24 -p80 --source-port 60000-65000
# Multiple source IPs
masscan 192.168.1.0/24 -p80 --source-ip 192.168.1.100,192.168.1.101
Tiempo y rendimiento
Tiempo de conexión
# Set connection timeout (seconds)
masscan 192.168.1.0/24 -p80 --connection-timeout 30
masscan 192.168.1.0/24 -p80 --connection-timeout 10
# Set wait time after scan completion
masscan 192.168.1.0/24 -p80 --wait 3
masscan 192.168.1.0/24 -p80 --wait 10
# Set number of retries
masscan 192.168.1.0/24 -p80 --retries 3
masscan 192.168.1.0/24 -p80 --retries 1
Optimización del rendimiento
# High-performance scanning
masscan 192.168.1.0/24 -p80 --rate 100000 --connection-timeout 5 --retries 1
# Balanced performance
masscan 192.168.1.0/24 -p80 --rate 10000 --connection-timeout 10 --retries 2
# Conservative scanning
masscan 192.168.1.0/24 -p80 --rate 1000 --connection-timeout 30 --retries 3
Escáner de gran escala
Escáner de Internet-Wide
# Scan entire IPv4 space for HTTP
masscan 0.0.0.0/0 -p80 --rate 1000
# Scan for common web ports
masscan 0.0.0.0/0 -p80,443,8080,8443 --rate 10000
# Scan for common services
masscan 0.0.0.0/0 -p80,443,22,21,25,53,110,143,993,995 --rate 5000
# Scan specific regions
masscan 8.8.0.0/16 -p80,443 --rate 1000 # Google's range
masscan 1.1.0.0/16 -p80,443 --rate 1000 # Cloudflare's range
Escaneo de redes privadas
# Scan all RFC 1918 networks
masscan 10.0.0.0/8 -p80,443,22 --rate 10000
masscan 172.16.0.0/12 -p80,443,22 --rate 10000
masscan 192.168.0.0/16 -p80,443,22 --rate 10000
# Scan common enterprise ranges
masscan 10.0.0.0/8 -p80,443,22,21,25,53,135,139,445 --rate 5000
Stealth y Randomization
Aleatoria de rehenes
# Randomize host order
masscan 192.168.1.0/24 -p80 --randomize-hosts
# Set random seed for reproducible results
masscan 192.168.1.0/24 -p80 --seed 12345
# Combine randomization with rate limiting
masscan 192.168.1.0/24 -p80 --randomize-hosts --rate 100
Técnicas de Stealth
# Slow scan to avoid detection
masscan 192.168.1.0/24 -p80 --rate 10 --randomize-hosts
# Use common source port
masscan 192.168.1.0/24 -p80 --source-port 53 # DNS
masscan 192.168.1.0/24 -p80 --source-port 80 # HTTP
# Fragmented scanning
masscan 192.168.1.0/24 -p80 --rate 100 --wait 5
Exclusiones y Filtros
Excluir objetivos
# Exclude single host
masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1
# Exclude multiple hosts
masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1,192.168.1.2
# Exclude from file
echo "192.168.1.1" > exclude.txt
echo "192.168.1.2" >> exclude.txt
masscan 192.168.1.0/24 -p80 --excludefile exclude.txt
# Exclude ranges
masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1-192.168.1.10
Listas de objetivos
# Scan from target file
echo "192.168.1.1" > targets.txt
echo "192.168.1.2" >> targets.txt
masscan -iL targets.txt -p80
# Combine ranges and files
masscan 192.168.1.0/24 -iL additional_targets.txt -p80
Escaneo IPv6
Alcances de direcciones IPv6
# Scan IPv6 subnet
masscan 2001:db8::/32 -p80,443
# Scan entire IPv6 space (be very careful!)
masscan ::0/0 -p80 --rate 1000
# Scan specific IPv6 addresses
masscan 2001:db8::1 -p80,443,22
# Scan IPv6 with rate limiting
masscan 2001:db8::/64 -p80,443 --rate 100
Archivos de configuración
Crear archivos de configuración
# Generate configuration template
masscan --echo > masscan.conf
# Edit configuration file
# masscan.conf example:
# rate = 1000
# output-format = xml
# output-filename = scan_results.xml
# ports = 80,443,22
# range = 192.168.1.0/24
# Use configuration file
masscan -c masscan.conf
Función de reasumo
# Create resumable scan
masscan 192.168.1.0/24 -p1-65535 --rate 1000 -oB scan.binary
# Resume interrupted scan
masscan --resume scan.binary
# Resume with different parameters
masscan --resume scan.binary --rate 2000
Integración con otras herramientas
Combinando con Nmap
# Use masscan for discovery, nmap for detailed scanning
masscan 192.168.1.0/24 -p80,443 --rate 1000 -oL live_hosts.txt
nmap -iL live_hosts.txt -sV -sC
# Extract IPs from masscan XML output
masscan 192.168.1.0/24 -p80 -oX results.xml
grep -oP '(?<=addr=")[^"]*' results.xml > live_ips.txt
nmap -iL live_ips.txt -sV
Resultados de procesamiento
# Count open ports
masscan 192.168.1.0/24 -p1-1000 -oL results.txt
grep "open" results.txt|wc -l
# Extract unique IPs
masscan 192.168.1.0/24 -p80,443 -oL results.txt
grep "open" results.txt|awk '\\\\{print $4\\\\}'|sort -u
# Create target list for further scanning
masscan 192.168.1.0/24 -p80 -oL results.txt
grep "open" results.txt|awk '\\\\{print $4\\\\}' > web_servers.txt
Ejemplos prácticos
Web Server Discovery
# Find web servers in network
masscan 192.168.1.0/24 -p80,443,8080,8443,8000,8888 --rate 1000
# Find web servers with banners
masscan 192.168.1.0/24 -p80,443 --banners --rate 500
# Comprehensive web service scan
masscan 192.168.1.0/24 -p80,443,8080,8443,8000,8888,9000,9090 --banners --rate 1000
Service Discovery
# Find SSH servers
masscan 192.168.1.0/24 -p22 --banners --rate 1000
# Find mail servers
masscan 192.168.1.0/24 -p25,110,143,993,995 --rate 1000
# Find database servers
masscan 192.168.1.0/24 -p3306,5432,1433,1521,27017 --rate 1000
# Find file sharing services
masscan 192.168.1.0/24 -p21,22,139,445,2049 --rate 1000
Evaluación de la seguridad
# Quick network overview
masscan 192.168.1.0/24 -p1-1000 --rate 5000 -oX quick_scan.xml
# Comprehensive service discovery
masscan 192.168.1.0/24 -p1-65535 --rate 2000 --banners -oX full_scan.xml
# Focus on common vulnerable services
masscan 192.168.1.0/24 -p21,22,23,25,53,80,110,111,135,139,143,443,445,993,995,1433,3306,3389,5432 --banners --rate 1000
Performance Tuning
Optimización de tarifas
# Test network capacity
masscan 192.168.1.1 -p80 --rate 1000 # Start conservative
masscan 192.168.1.1 -p80 --rate 10000 # Increase gradually
masscan 192.168.1.1 -p80 --rate 100000 # Maximum performance
# Adjust based on network conditions
# Local network: --rate 10000-100000
# WAN: --rate 1000-10000
# Internet: --rate 100-1000
Optimización de memoria y CPU
# Reduce memory usage for large scans
masscan 0.0.0.0/0 -p80 --rate 1000 --connection-timeout 5 --retries 1
# Balance CPU and network usage
masscan 192.168.1.0/24 -p1-65535 --rate 5000 --wait 1
Manejo de errores y solución de problemas
Cuestiones comunes
# Permission errors (need root for raw sockets)
sudo masscan 192.168.1.0/24 -p80
# Network interface issues
masscan --echo|grep adapter
masscan 192.168.1.0/24 -p80 --adapter eth0
# Rate limiting issues
masscan 192.168.1.0/24 -p80 --rate 100 # Reduce rate
# Timeout issues
masscan 192.168.1.0/24 -p80 --connection-timeout 30 # Increase timeout
Debugging
# Verbose output
masscan 192.168.1.0/24 -p80 --echo
# Test configuration
masscan --selftest
# Check network configuration
masscan --echo|grep -E "(adapter|router-mac|source-ip)"
Consideraciones de seguridad
Uso jurídico y ético
- Sólo las redes de escaneado que posee o tiene permiso explícito para probar
- Tenga en cuenta las leyes y reglamentos locales en relación con el escaneo de redes
- Considerar el impacto en el rendimiento de la red y la disponibilidad
- Documente sus actividades de escaneo para el cumplimiento
Medidas de defensa
# Detect masscan activity (on target systems)
# Look for high-rate SYN packets from single source
netstat -an|grep SYN_RECV|wc -l
# Monitor for scanning patterns
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'|head -100
Buenas prácticas
Scanning Strategy
- Comience con pequeñas subredes para probar el rendimiento
- Utilice la tarifa adecuada límite para su red
- Guardar resultados en múltiples formatos para el análisis
- Combinar con otros instrumentos para una evaluación integral
- Documente su metodología y sus hallazgos
Directrices de ejecución
- Redes locales: Use altas tasas (10.000-100,000 pps)
- Redes remotas: Use tarifas moderadas (1,000-10.000 pps)
- Escaneo de Internet: Use tasas conservadoras (100-1,000 pps)
- Siempre prueba con pequeños rangos primero
Gestión de productos
- Use nombres de archivo descriptivos con timetamps
- Guardar en múltiples formatos para diferentes herramientas de análisis
- Comprime archivos de salida grandes para guardar espacio
- Respaldo importantes resultados de la exploración
Masscan es una herramienta increíblemente poderosa para el reconocimiento de redes y la evaluación de seguridad. Su velocidad lo hace ideal para el escaneo a gran escala, pero este poder debe ser utilizado responsable y éticamente. Siempre asegúrate de tener una autorización adecuada antes de escanear redes, y ten en cuenta el impacto que tu escaneado puede tener en el rendimiento de la red y sistemas de monitoreo de seguridad.