
Genera listas de hosts activos y URLs para segmentación, automatizando el uso de MassDNS, Masscan y nmap para filtrar hosts inalcanzables y recopilar información de servicios.
Genera listas de hosts activos y URLs para objetivos, automatizando el uso de MassDNS, Masscan y nmap para filtrar hosts inalcanzables.
Dado un archivo de entrada con nombres de dominio, este script automatizará el uso de MassDNS para filtrar hosts no resolubles, y luego pasará los resultados a Masscan para confirmar que los hosts son alcanzables y en qué puertos. Luego, el script generará una lista de URLs completas para ser utilizadas en objetivos posteriores (pasándolas a herramientas como gobuster o dirsearch, o haciendo solicitudes HTTP), una lista de nombres de dominio alcanzables y una lista de direcciones IP alcanzables. Como paso opcional final, puede ejecutar un escaneo de versión con nmap en esta lista reducida de hosts, verificando que los hosts alcanzables anteriormente estén activos y recopilando información de servicio de sus puertos abiertos.
Este script es especialmente útil para conjuntos grandes de dominios, como enumeraciones de subdominios recopiladas de un dominio apex con miles de subdominios. Con estas listas grandes, un escaneo nmap simplemente llevaría demasiado tiempo. El objetivo aquí es usar primero el menos preciso pero mucho más rápido MassDNS para reducir rápidamente el tamaño de su lista de entrada eliminando dominios no resolubles. Luego, Masscan podrá tomar la salida de MassDNS y confirmar además que los hosts son alcanzables y en qué puertos. Luego, el script analizará estos resultados y generará listas de los hosts activos descubiertos.
Ahora, la lista de hosts debería estar lo suficientemente reducida para ser adecuada para más escaneos/pruebas. Si desea ir un paso más allá, puede indicarle al script que ejecute un escaneo nmap en la lista de hosts alcanzables, lo que debería tomar un tiempo más razonable con la lista más corta de hosts. Después de ejecutar nmap, cualquier falso positivo dado por Masscan será filtrado. La salida sin procesar de nmap se almacenará en el formato XML estándar de nmap, y la información adicional de la detección de versión se agregará a una base de datos SQLite.

Si utiliza la opción de escaneo nmap, esta herramienta asume que ya tiene nmap instalado
Nota: Ejecutar el script de instalación solo es necesario si aún no tiene MassDNS y Masscan instalados, o si desea reinstalarlos dentro de este repositorio. Si no ejecuta el script, puede proporcionar las rutas a los ejecutables respectivos como argumentos. El script además espera que la lista de resolutores incluida con MassDNS esté ubicada en {massDNS_directory}/lists/resolvers.txt.
git clone https://github.com/allyomalley/LiveTargetsFinder.git
cd LiveTargetsFinder
sudo pip3 install -r requirements.txt
(OPCIONAL)
chmod +x install_deps.sh
./install_deps.sh
Si aún no tiene MassDNS y Masscan instalados, y prefiere instalarlos usted mismo, consulte la documentación para obtener instrucciones:
Solo he probado este script en macOS y Linux; el script de Python en sí debería funcionar en una máquina con Windows, aunque creo que la instalación de MassDNS y Masscan será diferente.
python3 liveTargetsFinder.py [domainList] [options]
-s, (--hashmap-size) en particular fue elegido por razones de rendimiento; probablemente pueda aumentarlo.-c 25 -o J -r ./massdns/lists/resolvers.txt -s 100 -w massdnsOutput -t A targetHosts--max-rate para Masscan; probablemente querrá ajustarlo.
-iL ipFile -oD masscanOutput --open-only --max-rate 5000 -p80,443 --max-retries 10--script http-server-header.nse,http-devframework.nse,http-headers -sV -T4 -p80,443 -oX {output.xml}Se ejecutó el script de instalación:
python3 liveTargetsFinder.py --target-list victim_domains.txt
NO se ejecutó el script de instalación:
python3 liveTargetsFinder.py --target-list victim_domains.txt --massdns-path ../massdns/bin/massdns --masscan-path ../masscan/bin/masscan
Realizar un escaneo nmap y escribir/agregar a la ruta de base de datos predeterminada (liveTargetsFinder.sqlite3)
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap
Realizar un escaneo nmap y escribir/agregar a la base de datos especificada
python3 liveTargetsFinder.py --target-list victim_domains.txt --nmap --db-path serviceinfo_victim.sqlite3
Entrada: victimDomains.txt
| Flag | Descripción | Por defecto | Requerido |
|---|
--target-list | Archivo de entrada que contiene la lista de dominios, ej. google.com | Sí | |
--massdns-path | Ruta al ejecutable de MassDNS, si no es la predeterminada | ./massdns/bin/massdns | No |
--masscan-path | Ruta al ejecutable de Masscan, si no es la predeterminada | ./masscan/bin/masscan | No |
--nmap | Ejecutar un escaneo de detección de versión de nmap en los hosts activos recopilados | Deshabilitado | No |
--db-path | Si usa la opción --nmap, proporcione la ruta a la base de datos a la que desea agregar (se creará si no existe) | output/liveTargetsFinder.sqlite3 | No |
| Archivo | Descripción | Ejemplos |
|---|
| output/victimDomains_targetUrls.txt | Lista de URLs activas alcanzables | https://github.com, http://github.com |
| output/victimDomains_domains_alive.txt | Lista de nombres de dominio activos | github.com, google.com |
| output/victimDomains_ips_alive.txt | Lista de direcciones IP activas | 10.1.0.200, 52.3.1.166 |
| Ruta de base de datos proporcionada o predeterminada | Base de datos SQLite que almacena hosts activos e información sobre sus servicios en ejecución | |
| output/victimDomains_massdns.txt | La salida sin procesar de MassDNS, en formato ndjson | |
| output/victimDomains_masscan.txt | La salida sin procesar de Masscan, en formato ndjson | |
| output/victimDomains_nmap.txt | La salida sin procesar de nmap, en formato XML |