Saltar a contenido

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

# 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

  1. Comience con pequeñas subredes para probar el rendimiento
  2. Utilice la tarifa adecuada límite para su red
  3. Guardar resultados en múltiples formatos para el análisis
  4. Combinar con otros instrumentos para una evaluación integral
  5. 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.