
Herramienta de enumeración de subdominios y objetivos construida para pruebas de seguridad ofensivas
Resumen
:small_blue_diamond:
Uso
:small_blue_diamond:
Contribuir
SubScraper es una herramienta de enumeración de subdominios que utiliza diversas técnicas para encontrar subdominios de un objetivo dado. La enumeración de subdominios es especialmente útil durante pruebas de penetración y caza de bugs (bug bounty) para descubrir la superficie de ataque de una organización.
Dependiendo de los argumentos de línea de comandos aplicados, SubScraper puede resolver nombres DNS, solicitar información HTTP(S) y realizar búsquedas CNAME para detectar oportunidades de apropiación (takeover) durante el proceso de enumeración. Esto ayuda a identificar los siguientes pasos y descubrir patrones de explotación.
.txt o STDIN..txt o .csv.
Lo siguiente puede usarse para instalar SubScraper en Windows, Linux y MacOS:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Instala y ejecuta SubScraper usando Poetry:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Puedes construir una imagen Docker y ejecutar SubScraper desde Docker:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# Mostrar ayuda
docker run --rm m8sec/subscraper
# Ejemplo de escaneo de un sitio
docker run --rm m8sec/subscraper -d example.com
Usa el archivo de configuración en ~/.config/subscraper/config.json para almacenar claves API y reutilizarlas fácilmente.
Si estás actualizando a una versión posterior a v4.0.0, usa el argumento -update para obtener una copia nueva del archivo de configuración y garantizar la compatibilidad. Nota: Esto eliminará cualquier entrada de clave existente.
Se puede encontrar una lista completa de módulos usando el argumento de línea de comandos -ls:
bevigil - API OSINT de BeVigil para extraer subdominios de aplicaciones móviles (requiere API Key)
crt.sh - Enumeración de subdominios mediante cert.sh.
virustotal - Búsqueda de subdominios en VirusTotal (requiere API Key)
dnsrepo - Analiza dnsrepo.noc.org sin API Key - límite de 150 resultados
chaos - Chaos de Project Discovery (requiere API Key)
certspotter - Usa la API de Certspotter para recolectar subdominios
bufferover - Consulta la API de Bufferover.run (requiere API Key)
alienvault - Encuentra subdominios usando AlienVault OTX
redhuntlabs - API de reconocimiento de RedHunt Labs (requiere API Key)
archive - Usa archive.org para encontrar subdominios.
dnsdumpster - Usa DNS dumpster para enumerar subdominios.
censys.io - Recopila subdominios mediante búsquedas de certificados SSL en censys.io (requiere API Key)
shodan - Obtiene subdominios con Shodan (requiere API Key)
Opciones de SubScraper:
-debug Habilitar registro de depuración
-update Actualizar archivo de configuración (eliminará entradas existentes)
-config CONFIG Sobrescribir ubicación predeterminada de configuración
-silent Mostrar solo subdominios en la salida
-threads THREADS, -T THREADS Máximo de hilos para la enumeración (65*).
-t TIMEOUT Establecer tiempo de espera de conexión (3*)
-d DOMAIN, --domain DOMAIN Entrada de dominio objetivo (dominio, .txt, STDIN, etc.)
Opciones de módulo:
-ls Listar módulos de enumeración de SubScraper.
-m MODULES Ejecutar módulo(s) por nombre o grupo (all*).
-module-only Ejecutar solo módulos, no fuerza bruta
Opciones de fuerza bruta:
-w WORDLIST Lista de palabras personalizada para fuerza bruta DNS.
-ns NS Servidores de nombres separados por coma a usar
Opciones de enumeración:
-r, -resolve Resolver dirección IP para cada subdominio identificado.
-c, -cname Realizar búsqueda CNAME para verificación de apropiación de subdominio
-http Sondear servicios HTTP activos.
-http-port HTTP_PORT Puertos HTTP a verificar, separados por coma (80,443*)
Opciones de salida:
-nc, -no-color Deshabilitar salida con color
-active Informar solo subdominios activos con IP resuelta
-csv Crear informe de salida en CSV
-o REPORT Archivo de salida
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
Contribuye al proyecto: