SCANYX es una herramienta para automatizar escaneos de red con Nmap. Soporta ejecución paralela, workflows secuenciales, sesiones, hosts sensibles y excluidos, y persistencia de estado, entre otras.
- ✅ Ejecución paralela - Escanea múltiples hosts simultáneamente
- ✅ Workflows secuenciales - Encadena múltiples perfiles de escaneo
- ✅ Gestión de sesiones - Crea, lista y reanuda sesiones con nombres personalizados
- ✅ Persistencia de estado - Reanuda escaneos interrumpidos
- ✅ Hosts sensibles - Timing y scripts personalizados para hosts críticos
- ✅ Exclusiones inteligentes - CIDR, IPs individuales, hostnames
- ✅ Carga remota - Ejecuta desde URL sin descargar archivos
- ✅ ConfigFile - Carga perfiles de configuración remotos o locales
- ✅ Límite de fallos - Detiene escaneos tras N fallos consecutivos
- ✅ Modo Wizard - Configuración interactiva paso a paso
git clone "https://github.com/xtormin/scanyx.git"
cd scanyx
. .\scanyx.ps1iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/xtormin/Scanyx/refs/heads/main/scanyx.ps1'))notepad "nmap-profiles-workflows.json"echo "192.168.1.0/24" > hosts.txt# Un tipo de escaneo
scanyx -Hosts "192.168.1.2" -ScanType "tcp-1000"
# Multiples tipos de escaneo secuenciales
scanyx -HostFile hosts.txt -Workflow "full-discovery" -MaxConcurrent 5Un tipo de escaneo:
scanyx `
-HostFile "networks.txt" `
-SensitiveFile "sensitive.txt" `
-ExcludeFile "excluded.txt" `
-ConfigFile "nmap-profiles-workflows.json" `
-ScanType "tcp-1000"
-SessionName "scan-01" `
-OutputDir "scans" `
-SensitiveTiming T1 `
-SensitiveScripts default `
-MaxConcurrent 5 `
-MaxRetries 1 `
-ResolveHostnames `
-VerboseModeCon varios tipos de escaneo secuenciales:
scanyx `
-SessionName "workflow-01" `
-OutputDir "scans" `
-Workflow "full-discovery" `
-HostFile "networks.txt" `
-SensitiveFile "sensitive.txt" `
-ExcludeFile "excluded.txt" `
-ConfigFile "nmap-profiles-workflows.json" `
-SensitiveTiming T1 `
-SensitiveScripts default `
-MaxConcurrent 5 `
-MaxRetries 1 `
-ResolveHostnames `
-OverwriteMode Skip `
-VerboseMode# Reanuda la sesión continuando el escaneo con todos los hosts que no se han completado
scanyx `
-ResumeSession "workflow-01" `
-OutputDir "scans" `
-Resume
-VerboseMode- PowerShell: 5.1 o superior
- Nmap: Instalado y en PATH (descargar)
# Verificar instalación
nmap --version
$PSVersionTable.PSVersion# Escaneo básico
scanyx -HostFile hosts.txt -ScanType "tcp-1000"
# Escaneo directo sin archivo
scanyx -Hosts "192.168.1.0/24","10.0.0.50" -ScanType "tcp-1000"# Exclusiones desde archivo
scanyx -HostFile hosts.txt -ExcludeFile gateways.txt -ScanType "tcp-1000"
# Exclusiones sin archivo
scanyx -Hosts "192.168.1.0/24" -ExcludeHosts "192.168.1.1","192.168.1.254" -ScanType "tcp-1000"# Escaneo diferenciado: normal (T4) vs sensible (T2)
scanyx `
-HostFile all_hosts.txt `
-SensitiveFile production_servers.txt `
-ScanType "tcp-1000" `
-SensitiveTiming T2 `
-MaxConcurrent 5# Workflow progresivo (tcp-1000 → tcp-full → udp-common)
scanyx -HostFile hosts.txt -Workflow full-discovery -MaxConcurrent 5# Crear sesión con nombre personalizado
scanyx -HostFile targets.txt -ScanType tcp-1000 -SessionName "pentest-cliente-2025"
# Listar todas las sesiones
scanyx -ListSessions -OutputDir "C:\Pentest\PROYECTO\scans"
# Reanudar sesión específica
scanyx -ResumeSession "pentest-cliente-2025" -Resume -OutputDir "C:\Pentest\PROYECTO\scans"# Continuar escaneo interrumpido (solo pendientes)
scanyx -HostFile hosts.txt -ScanType tcp-1000 -Resume
# Continuar y reintentar fallidos
scanyx -HostFile hosts.txt -ScanType tcp-1000 -ResumeRetryFailed
# Empezar desde cero (ignora estado previo)
scanyx -HostFile hosts.txt -ScanType tcp-1000 -Force# Configuración guiada paso a paso
scanyx -Wizard# Cargar desde cualquier servidor web
iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/xtormin/Scanyx/refs/heads/main/scanyx.ps1'))
# Usar la función
scanyx -HostFile hosts.txt -ScanType tcp-1000# Verificar que la función está disponible
Get-Command Invoke-Scanyx
Get-Command scanyx
# Ver ayuda
Get-Help Invoke-Scanyx -Examples# Usar configuración remota
scanyx -HostFile hosts.txt -ScanType tcp-1000 -ConfigFile "https://raw.githubusercontent.com/xtormin/Scanyx/refs/heads/main/nmap-profiles-workflows.json"# Combinación: Script remoto + ConfigFile remoto
iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/xtormin/Scanyx/refs/heads/main/scanyx.ps1'))
scanyx -Hosts "10.0.0.0/24" -ScanType tcp-full -ConfigFile "https://raw.githubusercontent.com/xtormin/Scanyx/refs/heads/main/nmap-profiles-workflows.json"⚠️ El script NO se ejecuta automáticamente al cargarse coniex- solo define las funciones- ✅ Funciona en la sesión actual - al cerrar PowerShell se debe recargar
| Perfil | Descripción | Velocidad |
|---|---|---|
tcp-100 |
Top 100 puertos TCP | ⚡⚡⚡ Muy rápido |
tcp-1000 |
Top 1000 puertos TCP | ⚡⚡⚡ Rápido |
tcp-full |
Todos los 65535 puertos TCP | ⚡ Lento |
udp-common |
Puertos UDP comunes | ⚡⚡ Medio |
udp-1000 |
Top 1000 puertos UDP | ⚡ Lento |
udp-full |
Todos los 65535 puertos UDP | 🐢 Muy lento |
Nota: Configura perfiles personalizados editando nmap-profiles-workflows.json
Para documentación exhaustiva, todos los parámetros, casos de uso avanzados, troubleshooting y cheatsheet completo:
➡️ Ver WIKI
Incluye:
- Tabla completa de parámetros (30+ parámetros)
- Modos de reanudación detallados (6 modos)
- Gestión avanzada de hosts y CIDR
- Troubleshooting completo
- Cheatsheet de 30+ comandos
- Casos de uso completos (pentesting, auditorías, automatización)
- Configuración personalizada de perfiles y workflows
Usa XtremeNmapParser (XNP) para fusionar y analizar resultados:
# Fusionar todos los XMLs con salida en Excel, CSV y JSON
python3 xnp.py -d nmap/ -M -R --open -C all- ✨ Carga remota via IEX optimizada: El script puede cargarse directamente desde URL sin descargar archivos:
- Eliminado bloque
param()del nivel script (solo en funciónInvoke-Scanyx) - Reemplazadas 22 sentencias
exitporreturnpara evitar cerrar la sesión - Deshabilitada auto-ejecución del script al cargarlo
- Detección automática de contexto de ejecución (IEX vs local)
- No se ejecuta automáticamente cuando se carga via IEX
- Funciones y aliases disponibles tras la carga
- Compatible con
iex ((New-Object Net.WebClient).DownloadString('url'))
- Eliminado bloque
- ✨ ConfigFile desde URL: Soporte para cargar perfiles de configuración desde HTTP/HTTPS
- Fallback automático a configuración por defecto si falla la descarga
- Mensajes informativos sobre el origen de la configuración
- 📚 Documentación: README ampliado con ejemplos detallados de carga remota.
- ✨ Nueva función
scanyx: Carga en memoria y ejecución desde URL - ✅ Testing completo: 118 de 118 tests (100%)
- 🔧 Archivo de configuración: Renombrado a
nmap-profiles-workflows.json - 📚 Documentación: README simplificado + WIKI completa
- ✨ Sistema de workflows para encadenar múltiples perfiles secuencialmente
- ✨ Gestión de sesiones
- ✨ Configuración externa en JSON (
scan-profiles.json) - ✨ Modo verbose (
-VerboseMode) para debugging - ✨ Condiciones de ejecución para pasos de workflow
- 🔧 Mejoras en detección de escaneos fallidos
- 📚 README optimizado y simplificado
- 🐛 Corrección de clasificación de hosts sensibles
- ⚡ Optimización con hashtables para búsquedas
- ✨ Soporte completo para notación CIDR
- ✨ Sistema de exclusión de hosts (
-ExcludeFile) - ✨ Resolución de hostnames (
-ResolveHostnames) - ✨ Expansión automática de CIDR con deduplicación
- ✨ Detección de conflictos entre listas
- 📊 Logging mejorado
Este script se proporciona con fines educativos y de pruebas de seguridad autorizadas únicamente. Escanea redes y sistemas para los que tienes permiso explícito.
Este proyecto está licenciado bajo la licencia GPL v3.0 - ver el archivo LICENSE para más detalles.
- Website: https://xtormin.com
- Linkedin: https://www.linkedin.com/in/xtormin/
- Instagram: https://www.instagram.com/xtormin/
