subdomain-recon
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
- test_parse_crtsh_extrai_e_normaliza0.00s
- test_parse_crtsh_deduplica0.00s
- test_dedupe_preserva_ordem0.00s
Entrypoints (CLI)
subdomain-recon
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
- LICENSE
- README.md
- pyproject.toml
- src/subdomain_recon.egg-info/PKG-INFO
- src/subdomain_recon.egg-info/SOURCES.txt
- src/subdomain_recon.egg-info/dependency_links.txt
- src/subdomain_recon.egg-info/entry_points.txt
- src/subdomain_recon.egg-info/top_level.txt
- src/subdomain_recon/__init__.py
- src/subdomain_recon/cli.py
- src/subdomain_recon/core.py
- tests/test_core.py
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).
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