
Ferramenta de enumeração de subdomínios e alvos construída para testes de segurança ofensiva
Visão Geral
:small_blue_diamond:
Uso
:small_blue_diamond:
Contribuir
SubScraper é uma ferramenta de enumeração de subdomínios que utiliza diversas técnicas para encontrar subdomínios de um alvo específico. A enumeração de subdomínios é especialmente útil durante testes de penetração e caça a bugs para descobrir a superfície de ataque de uma organização.
Dependendo dos argumentos de linha de comando aplicados, o SubScraper pode resolver nomes DNS, solicitar informações HTTP(S) e realizar consultas CNAME para oportunidades de takeover durante o processo de enumeração. Isso pode ajudar a identificar os próximos passos e descobrir padrões para exploração.
.txt ou STDIN..txt ou .csv.
O seguinte pode ser usado para instalar o SubScraper no Windows, Linux e MacOS:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Instale e execute o SubScraper usando Poetry:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Você pode criar uma imagem Docker e executar o subscraper a partir do Docker:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# Exibir ajuda
docker run --rm m8sec/subscraper
# Exemplo de varredura de um site
docker run --rm m8sec/subscraper -d example.com
Use o arquivo de configuração em ~/.config/subscraper/config.json para armazenar chaves de API para reutilização fácil.
Se estiver atualizando para uma versão mais recente após v4.0.0, use o argumento -update para obter uma nova cópia do arquivo de configuração e garantir
compatibilidade - Nota: Isso removerá quaisquer entradas de chave existentes.
Uma lista completa de módulos pode ser encontrada usando o argumento de linha de comando -ls:
bevigil - API OSINT do BeVigil para raspagem de aplicativos móveis em busca de subdomínios (Requer Chave de API)
crt.sh - Enumeração de subdomínios usando cert.sh.
virustotal - Consulta de subdomínio no VirusTotal (Requer Chave de API)
dnsrepo - Analisa dnsrepo.noc.org sem chave de API - limite de 150 resultados
chaos - Project Discovery's Chaos (Requer Chave de API)
certspotter - Usa a API do Certspotter para coletar subdomínios
bufferover - Consulta a API do Bufferover.run (Requer Chave de API)
alienvault - Encontra subdomínios usando AlienVault OTX
redhuntlabs - API de reconhecimento do RedHunt Labs (Requer Chave de API)
archive - Usa archive.org para encontrar subdomínios.
dnsdumpster - Usa DNS dumpster para enumerar subdomínios.
censys.io - Coleta subdomínios através de consultas de certificados SSL do censys.io. (Requer Chave de API)
shodan - Obtém subdomínios com Shodan (Requer Chave de API)
Opções do SubScraper:
-debug Ativar log de depuração
-update Atualizar arquivo de configuração (removerá entradas existentes)
-config CONFIG Substituir local padrão da configuração
-silent Mostrar apenas subdomínios na saída
-threads THREADS, -T THREADS Número máximo de threads para enumeração (65*).
-t TIMEOUT Definir timeouts de conexão (3*)
-d DOMAIN, --domain DOMAIN Entrada de domínio alvo (domínio, .txt, STDIN, etc.)
Opções de Módulo:
-ls Listar módulos de enumeração do SubScraper.
-m MODULES Executar módulo(s) por nome ou grupo (all*).
-module-only Executar apenas módulos, sem força bruta
Opções de Força Bruta:
-w WORDLIST Wordlist personalizada para força bruta DNS.
-ns NS Servidores de nomes separados por vírgula a serem usados
Opções de Enumeração:
-r, -resolve Resolver endereço IP para cada subdomínio identificado.
-c, -cname Realizar consulta CNAME para verificar takeover de subdomínio
-http Testar serviços HTTP ativos.
-http-port HTTP_PORT Portas HTTP a verificar, separadas por vírgula (80,443*)
Opções de Saída:
-nc, -no-color Desabilitar saída colorida
-active Reportar apenas subdomínios ativos com IP resolvido
-csv Criar relatório de saída CSV
-o REPORT Arquivo de saída
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
Contribua com o projeto: