La primera fase de cualquier pentest o ejercicio Red Team sólido es reconocer lo que está expuesto. Si no mapeas la superficie externa, sólo atacarás a ciegas. Ahí entra en juego Leviathan, el framework open-source de Utku Şen que unifica en un único CLI todo el toolbox necesario para descubrir, clasificar y, si procede, explotar activos presentes en Internet. Aunque el repositorio se archivó en 2019, sigue siendo perfectamente funcional y un excelente punto de partida para automatizar recon masivo.github.comgithub.com
⚙️ ¿Qué hace Leviathan realmente?
Módulo | Descripción | Backend/herramientas |
---|---|---|
Discovery | Enumera subdominios, puertos y servicios (FTP, SSH, Telnet, RDP, MySQL…) a gran escala mediante Shodan, Censys o escaneo directo con masscan. | masscan , APIs Shodan/Censys |
Tech Fingerprint | Detecta frameworks, CMS, banners y tecnologías web para priorizar vectores. | httpx , whatweb |
Brute-Force | Ataques de diccionario contra servicios encontrados con ncrack y listas de credenciales pre-cargadas. | ncrack |
Vuln Scanning | Detección de SQLi, LFI, RCE y plantillas personalizadas de nuclei. | nuclei , dsss |
Screenshotting | Capturas de pantalla masivas de hosts web para revisión visual rápida. | gowitness |
Takeover Check | Identifica subdominios susceptibles de secuestro por CNAME huérfano o servicios SaaS mal dados de baja. | Heurística interna + subjack |
🔄 Todo orquestado desde un solo menú interactivo, con resultados guardados en carpetas bien estructuradas (
assets/
).
🚀 Flujo típico en 4 pasos
- Configuración inicial
git clone https://github.com/utkusen/leviathan.git && cd leviathan && bash scripts/install.sh
- Descubrimiento masivo
python leviathan.py --discover --country EC --service http,ssh
- Ataque selectivo (opcional)
python leviathan.py --bruteforce ssh --threads 50
- Reporte & hardening
Revisaassets/discovery
yassets/compromised
→ genera tu informe y abre tickets de remediación.
🏹 Casos de uso en el mundo real
- Cartografiar la huella externa antes de un Red Team para evitar “zonas grises” no contempladas.
- Caza de activos huérfanos (subdominios de proyectos olvidados, puertos queda-abiertos en la nube).
- Vigilancia continua low-cost: se programa en CRON + SIEM y alerta cuando aparece un host nuevo.
- Bug Bounty / Recon: filtrar rápidamente qué dominios merecen fuzzing o explotación manual.
🛠️ Pros destacados
- Modularidad: puedes integrar tus propios exploits o plantillas nuclei.
- Velocidad: masscan cubre /8 en minutos; ideal para rangos enormes.
- Portabilidad: puro Python + binarios conocidos; corre en Kali, Parrot, macOS o contenedor Docker.
- Zero-cost: 100 % FOSS bajo GPL-3.0.
⚠️ Limitaciones
- Proyecto archivado → no esperes pull requests activos ni soporte oficial.
- No sustituye a plataformas EASM comerciales con paneles, scoring de riesgo o enriquecimiento SaaS.
- Usa APIs externas (Shodan/Censys) → necesitas claves y respetar sus TOS.
🧩 Buenas prácticas de uso ético
- Scope definido: obtén autorización escrita del cliente o del owner de los rangos.
- Tasa de peticiones: limita masscan para no disparar IDS de terceros ni saturar redes.
- Gestión de credenciales: usa diccionarios internos, nunca contraseñas reales filtradas sin permiso.
- Reporte responsable: si hallas vulnerabilidades fuera de scope, sigue políticas de divulgación coordinada.
📜 Conclusión
Leviathan condensa lo esencial del recon ofensivo en un framework ligero: descubre, clasifica y ataca. Perfecto para pentesters que quieran acelerar la fase de reconocimiento y para equipos de Defensa que necesiten validar su superficie externa sin invertir en suites comerciales.
🔗 Repositorio: https://github.com/utkusen/leviathan