
⚡ Realize enumeração de subdomínios usando os logs de transparência de certificados da Censys.
Nota importante: A partir do final de 2024, o Censys não fornece mais acesso à API para contas gratuitas.
Esta é uma ferramenta para enumerar subdomínios usando os logs de Transparência de Certificados armazenados no Censys Search. Ela deve retornar qualquer subdomínio que já tenha recebido um certificado SSL emitido por uma AC pública.
Veja em ação:
$ python censys-subdomain-finder.py github.com
[*] Searching Censys for subdomains of github.com
[*] Found 42 unique subdomains of github.com in ~1.7 seconds
- hq.github.com
- talks.github.com
- cla.github.com
- github.com
- cloud.github.com
- enterprise.github.com
- help.github.com
- collector-cdn.github.com
- central.github.com
- smtp.github.com
- cas.octodemo.github.com
- schrauger.github.com
- jobs.github.com
- classroom.github.com
- dodgeball.github.com
- visualstudio.github.com
- branch.github.com
- www.github.com
- edu.github.com
- education.github.com
- import.github.com
- styleguide.github.com
- community.github.com
- server.github.com
- mac-installer.github.com
- registry.github.com
- f.cloud.github.com
- offer.github.com
- helpnext.github.com
- foo.github.com
- porter.github.com
- id.github.com
- atom-installer.github.com
- review-lab.github.com
- vpn-ca.iad.github.com
- maintainers.github.com
- raw.github.com
- status.github.com
- camo.github.com
- support.enterprise.github.com
- stg.github.com
- rs.github.com
Registre uma conta (gratuita) em https://search.censys.io/register
Acesse https://search.censys.io/account e defina duas variáveis de ambiente com seu ID e segredo da API:
export CENSYS_API_ID=...
export CENSYS_API_SECRET=...
Alternativamente, você pode usar um arquivo .env para armazenar esses valores para persistência entre usos:
cp .env.template .env
Em seguida, edite o arquivo .env e defina os valores para CENSYS_API_ID e CENSYS_API_SECRET.
Clone o repositório:
git clone https://github.com/christophetd/censys-subdomain-finder.git
Instale as dependências em um virtualenv:
cd censys-subdomain-finder
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Exemplo de uso:
python censys-subdomain-finder.py example.com
Salve a lista de subdomínios em um arquivo de texto:
python censys-subdomain-finder.py example.com -o subdomains.txt
usage: censys-subdomain-finder.py [-h] [-o OUTPUT_FILE]
[--censys-api-id CENSYS_API_ID]
[--censys-api-secret CENSYS_API_SECRET]
domain
argumentos posicionais:
domain O domínio a ser escaneado
argumentos opcionais:
-h, --help mostra esta mensagem de ajuda e sai
-o OUTPUT_FILE, --output OUTPUT_FILE
Um arquivo para salvar a lista de subdomínios (padrão: None)
--censys-api-id CENSYS_API_ID
ID da API do Censys. Também pode ser definido usando a variável de ambiente CENSYS_API_ID (padrão: None)
--censys-api-secret CENSYS_API_SECRET
Segredo da API do Censys. Também pode ser definido usando a variável de ambiente CENSYS_API_SECRET (padrão: None)
Deve funcionar no Python 3.7+.
A API do Censys tem um limite de 120 consultas por janela de 5 minutos. Cada invocação desta ferramenta faz exatamente uma chamada à API do Censys.
Sinta-se à vontade para abrir uma issue ou twittar para @christophetd para sugestões ou observações.