◈ ProjView
← todos os projetos

subdomain-recon

Python Defensiva GitHub ↗

Enumeração passiva de subdomínios (crt.sh + DNS) para mapear superfície de ataque própria.

3 testes · 3 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

src/subdomain_recon/__init__.py
src/subdomain_recon/cli.py
  • run()
  • main()
src/subdomain_recon/core.py
  • fetch_crtsh()
  • parse_crtsh() — Extrai nomes de subdominios de uma resposta JSON do crt.sh.
  • dedupe() — Remove duplicatas preservando ordem.
  • resolve()

Estrutura de arquivos

README

# subdomain-recon Enumeração passiva de subdomínios para mapear a superfície de ataque de um domínio **próprio ou autorizado**. Combina consultas ao serviço público [crt.sh](https://crt.sh) (certificados TLS, via HTTPS sem autenticação) com resolução DNS (`socket.gethostbyname_ex`) para confirmar quais subdomínios resolvem. ## ⚠️ Aviso ético Esta é uma ferramenta **defensiva e educacional**. Use-a **somente** em domínios que você possui ou para os quais tem autorização explícita por escrito. O uso contra terceiros sem autorização pode ser ilegal. O autor não se responsabiliza por uso indevido. ## Requisitos - Python 3.10+ - Apenas biblioteca padrão (sem dependências externas) ## Instalação ```bash pip install . ``` ## Uso ```bash subdomain-recon exemplo.com subdomain-recon exemplo.com --out resultado.txt ``` Cada linha da saída tem o formato `subdominio<TAB>ips` (ou `-` quando não resolve). ## Testes ```bash pip install pytest PYTHONPATH=src pytest ``` ## Licença MIT — Copyright (c) 2026 Diogo Damasceno. Veja o arquivo [LICENSE](LICENSE).
subdomain-recon SIM NÃO SIM NÃO Dominio proprio crt.sh (certificados) Ha subdominios? Resolver DNS de cada um Resolve? Adicionar a lista Relatorio de subdominios

Como rodar na prática (entrada → saída):

$ subdomain-recon exemplo.com
crt.sh: 14 certificados\n  api.exemplo.com -> 192.0.2.40\n14 subdominios descobertos