Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
findcdn — Escaneia domínios para identificar qual Content Delivery Network (CDN) eles usam, por meio de fingerprinting de cabeçalhos HTTPS, registros CNAME e dados WHOIS, com saída em JSON e suporte a módulos. | Kitploit
Ferramentas/GitHubGitHub/cisagov/findcdn
OSINT (Inteligência de Fontes Abertas)ReconhecimentoMapeamento de RedeColeta de InformaçõesUtilitários e FrameworksFalsificação de Impressão DigitalAnálise de DNS
GitHubcisagov/findcdn

findcdn

Escaneia domínios para identificar qual Content Delivery Network (CDN) eles usam, por meio de fingerprinting de cabeçalhos HTTPS, registros CNAME e dados WHOIS, com saída em JSON e suporte a módulos.

Ver Repositório
1232313há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

findcdn

GitHub Build Status Coverage Status Total alerts Language grade: Python Known Vulnerabilities

findcdn é uma ferramenta que pode escanear e detectar o tipo de Content Distribution Network (CDN) que um domínio utiliza. findcdn pode salvar resultados em um arquivo, ser usado como módulo, ou apenas exibir na saída padrão.

findcdn ajuda os usuários da ferramenta a determinar com precisão qual CDN um domínio está utilizando. A lista de domínios suportados está listada no arquivo cdn_config.py no repositório. A biblioteca pode ser implementada como uma ferramenta autônoma ou como um módulo importável em seu projeto. Em ambos os casos, os resultados podem ser gravados em um arquivo de saída.

Primeiros Passos

findcdn requer Python 3.7+. Python 2 não é suportado.

findcdn pode ser instalado como um módulo usando pip e o arquivo requirements.txt no repositório.

Instalado como Módulo

findcdn pode ser instalado via pip:

root@kitploit:~
pip install --requirement requirements.txt

Ele pode então ser executado diretamente:

root@kitploit:~
findcdn list github.com

Alternativamente, você pode instalar rapidamente em qualquer projeto com:

root@kitploit:~
pip install git+https://github.com/cisagov/findcdn.git

Nota: É recomendado usar um ambiente virtual Python para instalar módulos e manter seu ambiente limpo. Se você deseja fazer isso, você precisará do pyenv e do plugin pyenv-virtualenv antes de instalar o módulo.

Uso Autônomo e Exemplos

root@kitploit:~
findcdn file <fileIn> [options]
findcdn list  <domain>... [options]
findcdn (-h | --help)

findcnd -h
findcdn file domains.txt -o output_cdn.txt -t 17 -d
findcdn list dhs.gov cisa.gov -o output_cnd.txt -v
findcdn list cisa.gov

Opções

root@kitploit:~
  -h --help                    Mostra esta mensagem.
  --version                    Mostra a versão atual.
  -o FILE --output=FILE        Se especificado, então o arquivo de saída JSON será
                               criado no valor especificado.
  -v --verbose                 Inclui declarações de impressão adicionais.
  --all                        Inclui domínios com e sem CDN
                               na saída.
  -d --double                  Executa as verificações duas vezes para aumentar a precisão.
  -t --threads=<thread_count>  Número de threads, caso contrário usa o padrão.
  --timeout=<timeout>          Duração máxima em segundos para esperar que um domínio
                               conclua o processamento, caso contrário usa o padrão.
  --user_agent=<user_agent>    Define o user agent a ser usado, caso contrário
                               usa o padrão.

Exemplo de Saída

root@kitploit:~
user2@ubuntu:~$ findcdn list asu.edu -t 7 --double
Using 7 threads.
[Pending: 0 jobs]==[Threads: 2]: 100%|███████████████████████████████| 2/2 [00:00<00:00,  2.22it/s]
{
    "date": "06/19/2020, 13:00:38",
    "CDN_count": "1",
    "domains": {
        "asu.edu": {
            "IP": "'104.16.50.14'",
            "cdns": "'.cloudflare.com'",
            "cdns_by_names": "'Cloudflare'"
        }
    }
}
Domain processing completed.
1 domains had CDN's out of 1.

asciicast

Uso como Biblioteca

Como findcdn pode ser instalado como um módulo, seu poder de detecção de CDN pode ser chamado e implementado em qualquer projeto. Primeiro, importe findcdn em seu projeto, como mostrado acima. Em seguida, passe uma lista de domínios para analisar. Após o processamento, o programa retornará um objeto JSON contendo os domínios inseridos e as CDNs que eles usam.

A forma como findcdn funciona é determinada pelas opções passadas; as opções possíveis atuais e um exemplo estão escritos abaixo para sua conveniência:

root@kitploit:~
findcdn.main(
    domain_list: List[str],  # List of domains to search
    output_path: str = None,  # if included, output results to JSON
    verbose: bool = False,  # Verbose mode (more printing!)
    all_domains: bool = False,  # Includes domains that dont have cdn's in the output
    interactive: bool = False,  # Includes a progress bar (normally used for command line)
    double_in: bool = False,  #D ouble the number of tries on a domain to increase accuracy
    threads: int = THREADS,  # Number of threads to use
    timeout: int = TIMEOUT,  # How long to wait on a domain
    user_agent: str = USER_AGENT,  # User Agent to use
)

Exemplo

root@kitploit:~
import findcdn
import json

domains = ['google.com', 'cisa.gov', 'censys.io', 'yahoo.com', 'pbs.org', 'github.com']
resp_json = findcdn.main(domains, output_path="output.json", double_in=True, threads=23)

dumped_json = json.loads(resp_json)

for domain in dumped_json['domains']:
    print(f"{domain} has CDNs:\n {dumped_json['domains'][domain]['cdns']}")

Como Funciona

findcdn é dividido em três seções:

  • O arquivo principal de execução do findcdn
    • Valida e organiza os domínios inseridos
    • Orquestra o uso do CDN Engine usando uma lista de domínios
    • Exibe as CDNs dos domínios em JSON na saída padrão e em um arquivo, se selecionado
  • O CDN Engine
    • Organiza todos os domínios em um "pot"
    • Chef usará a biblioteca de Detecção de CDN para obter todas as CDNs de cada domínio
    • Chef então executa uma análise para definir o valor booleano has_cdn se detectar que um domínio possui uma CDN, então retorna a lista de domínios para o arquivo principal
  • Detecção de CDN
    • Irá extrair dados de:
      • Cabeçalhos do Servidor HTTPS
      • Registros CNAME
      • Dados WHOIS
    • A partir de cada um destes, executa uma varredura de impressão digital para identificar quaisquer CDNs definidas em cdn_config.py.

Histórico

O propósito original desta ferramenta era detectar automaticamente se um domínio que usa uma CDN é frontável. Devido à sobrecarga significativa para detecção de fronting, nós redirecionamos o desenvolvimento desta ferramenta para ser exclusivamente uma ferramenta de detecção de CDN. Usamos nossa wiki para descrever melhor o que é Domain Fronting, nossas notas de pesquisa, decisões de design e playbooks para fronting de domínios específicos. Se você encontrar quaisquer domínios frontáveis adicionais ou quaisquer falhas nos playbooks atuais, por favor considere contribuir!

Resumo das Mudanças do Projeto

  • O projeto agora é para detecção de CDN.
    • Determinar a frontabilidade era inviável para todos os provedores de CDN.
  • Recursos, Notas e playbooks estão agora disponíveis na wiki deste repositório.
  • Qualquer feedback, melhorias ou playbooks adicionais são sempre bem-vindos.

Mais Informações

Há mais informações localizadas em nossa página wiki. Encorajamos você a fazer solicitações de recursos ou contribuir com qualquer coisa que você gostaria de ver adicionada ao projeto ou wiki.

Isso pode ser qualquer um dos seguintes:

  • Informações relativas a domain fronting
  • Playbooks para fronting de diferentes domínios
  • Melhores métodos de detecção para CDN
  • Atualizações gerais para as páginas atuais da wiki

Contribuindo

Acolhemos contribuições! Por favor veja CONTRIBUTING.md para detalhes.

Licença

Este projeto está em domínio público mundial.

Este projeto está em domínio público dentro dos Estados Unidos, e direitos autorais e direitos relacionados na obra mundialmente são renunciados através da CC0 1.0 Universal public domain dedication.

Todas as contribuições para este projeto serão liberadas sob a dedicação CC0. Ao enviar um pull request, você está concordando em cumprir com esta renúncia de interesse de direitos autorais.

Baixar ferramenta