Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/musana/cf-hero
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesBypass de WAFTestes de PenetraçãoEnumeração de SubdomíniosFalsificação de Impressão DigitalAnálise de DNS
GitHubmusana/cf-hero

CF-Hero

CF-Hero é uma ferramenta de reconhecimento que utiliza múltiplas fontes de dados para descobrir os endereços IP de origem de aplicações web protegidas pelo Cloudflare.

Ver Repositório
2.6k25211há 2 mesesRevisado 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

CF-Hero

CF-Hero

O que é? • Recursos • Contexto • Instalação • Uso • Executando o cf-hero • ZoomEye (Patrocinador) • Pendências

O que é?

O CF-Hero é uma ferramenta abrangente de reconhecimento desenvolvida para descobrir os endereços IP reais de aplicações web protegidas pelo Cloudflare. Ela realiza a coleta de inteligência de múltiplas fontes por meio de diversos métodos.

Reconhecimento de DNS

  • Registros DNS atuais (A, TXT)
  • Análise de dados históricos de DNS
  • Descoberta de domínios associados

Fontes de Inteligência

  • Mecanismo de busca ZoomEye
  • Mecanismo de busca Censys
  • Mecanismo de busca Shodan
  • Registros históricos do SecurityTrails
  • Enumeração ativa de DNS
  • Correlação de domínios relacionados

A ferramenta analisa os dados dessas fontes para identificar possíveis endereços IP de origem de alvos protegidos pelo Cloudflare. Ela valida os resultados por meio da análise de respostas para minimizar falsos positivos.

um fluxograma simples da ferramenta```

┌──────────┐
│ │ ┌─────────┐
│ Domain │───────►│ Check A │
│ │ │ Records │
└──────────┘ └────┬────┘
│
┌──────────────────┘
│
▼
┌─────────────┐
│Is it behind │ YES
│ CloudFlare │────────────────────────────────────────┐
└─────────────┘ │
│ │
│ │
│ ▼
│ ┌──────────────────────────┐
│ │ Check the domain from │
│ ┌─────────────────│ various sources │───────────────────┐
│ │ └──────────────────────────┘ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ ▼ ▼ ▼ ▼
│ ┌────────────────┐ ┌─────────────┐ ┌───────────┐ ┌─────────────┐
│ │ Historical DNS │ │ Current DNS │ ┌─┤ OSINT │ │ Sub/domains │
│ ┌──│ Records │ ┌─│ Records │ │ └───────────┘ ┌─│ │
│ │ └────────────────┘ │ └─────────────┘ │ ┌─────────┐ │ └─────────────┘
│ │ ┌──────────────┐ │ ┌───────────┐ ├──►│ ZoomEye │ │ ┌─────────────┐
│ ├───►│SecurityTrails│ ├──►│ TXT │ │ └─────────┘ │ │ sub(domains)│
│ │ └──────────────┘ │ └───────────┘ │ ┌─────────┐ └──►│ used by the │
│ │ ┌──────────────┐ │ ┌───────────┐ ├──►│ Shodan │ │ same company│
│ │ └───►│Completedns │ └──►│ A │ │ └─────────┘ └─────────────┘ │ │ │ └──────────────┘ └───────────┘ │ ┌─────────┐ │ │ │ └──►│ Censys │ │ │ │ └─────────┘ │ │ │ │ │ │ │ │ └────────────────────────────────────────────┬────────────────────────────────────────────┘ │ │
NO │ │
│ │ │ │ │ ▼ │ ┌──────────────────────────────────────┐ │ │ Establish direct HTTP connections to │ │ │ each discovered IP address │ │ └──────────────────────────────────────┘ │ │ │ │ │ │ │ ▼ │ ┌─────────────────────────────┐ │ │ Compare the HTML title with │ │ │ the target's title │ │ └─────────────────────────────┘ │ │ │ │ │ │ │ ▼ │ ┌─────────────────────┐ │ │ │ YES │ │ Are they the same ? │─────────────────────┐ │ │ │ │ │ └─────────────────────┘ ▼ │ │ ┌───────────────┐ │ │NO │ Real IP found │ │ │ └───────┬───────┘ │ ▼ │ │ ┌──────────┐ │ └───────────────────────────────────────────►│ FINISH │◄───────────────────────────┘ └──────────┘

root@kitploit:~
# Recursos
### Funcionalidades

- Reconhecimento de DNS
  - Verifica os registos DNS atuais (A, TXT)
  - Extrai domínios por detrás da Cloudflare
  - Extrai domínios que não estão atrás da Cloudflare
  - Título HTML fornecido pelo utilizador (caso a CF bloqueie)
  - Coloração inteligente

- Intelligence de Terceiros
  - Integração ZoomEye
  - Integração Censys
  - Integração Shodan
  - Integração SecurityTrails
  - Pesquisa reversa de IP para domínios associados

- Funcionalidades Avançadas
  - Suporte de impressão digital JA3 personalizada
  - Capacidades de verificação concorrente
  - Suporte de entrada padrão (piping)
  - Comparação do título HTML para validação
  - Suporte de proxy
  - Configuração de User-Agent personalizado

# Contexto
## Registos DNS Atuais
Vamos analisar alguns casos de uso com definições DNS mal configuradas.

Como pode ver, uma consulta DNS normal devolve o endereço IP do domínio. Por exemplo, musana.net está atrás da Cloudflare (CF), mas por vezes o domínio tem múltiplos registos A, e alguns deles podem não corresponder a endereços IP associados à CF. (Esta saída DNS é meramente um exemplo ilustrativo e pode não representar a resposta DNS exata para musana.net.)```
;; ANSWER SECTION:
musana.net.	300	IN	A	104.16.42.102
musana.net.	300	IN	A	104.16.43.102
musana.net.	300	IN	A	123.45.67.89 (Real IP exposed)
musana.net.	300	IN	A	123.45.76.98 (Real IP exposed)

Outro caso está relacionado a registros TXT. Às vezes o domínio está atrás do CF, mas o IP real do domínio pode ser usado em registros TXT. CF-Hero verifica todos os registros TXT, depois extrai todos os endereços IP e finalmente tenta se conectar via HTTP ao IP que encontrou.

Digamos que temos registros DNS TXT. Como visto nos registros TXT, há o registro SPF. Alguma empresa pode hospedar seu próprio servidor de e-mail e os registros TXT podem conter o IP que aponta para o domínio de destino.

Como você pode ver na seguinte resposta DNS, o registro SPF tem alguns endereços IP. O Cf-Hero também verifica esses.``` ;; ANSWER SECTION: musana.net. 115 IN TXT "1password-site-verification=LROK6G5XFJG5NF76TE2FBTABUA" musana.net. 115 IN TXT "5fG-7tA-G4V" musana.net. 115 IN TXT "MS=ms16524910" musana.net. 115 IN TXT "OSSRH-74956" musana.net. 115 IN TXT "docker-verification=6910d334-a3fc-419c-89ac-57668af5bf0d" musana.net. 115 IN TXT "docusign=4c6d27bb-572e-4fd4-896c-81bfb0af0aa1" musana.net. 115 IN TXT "shopify-verification-code=1Ww5VsPpkIf32cJ5PdDHdguRk22K2R" musana.net. 115 IN TXT "shopify-verification-code=NM243t2faQbaJs8SRFMSEQAc4J9UQf" musana.net. 115 IN TXT "v=spf1 include:_spf.google.com include:cust-spf.exacttarget.com include:amazonses.com include:mail.zendesk.com include:servers.mcsv.net include:spf.mailjet.com ip4:216.74.162.13 ip4:216.74.162.14 ip4:153.95.95.86 ip4:18.197.36.5 -all"

root@kitploit:~
## OSINT

OSINT é outra técnica para encontrar o IP real de qualquer domínio que esteja atrás da CF. Existem muitos mecanismos de busca especiais para fins especiais. Shodan e Censys são dois deles. Eles fornecem mais detalhes e informações técnicas. Esses mecanismos de busca varrem toda a internet continuamente e descobrem novos ativos ou monitoram e registram mudanças em ativos. Quando um domínio que não está atrás da CF é colocado no ar, os bots desses mecanismos podem registrar o IP real do domínio. Depois de um tempo, se o domínio for colocado atrás do Cloudflare, o IP deles pode ser encontrado usando esses mecanismos de busca.

CF-Hero também verifica Censys e Shodan. (Observe que quando você usa esses serviços, você tem algum limite devido à cota da API.)


## (Sub)Domínios
A outra forma de truque é a técnica de (sub)domínio. Na verdade, não precisa ser um subdomínio, pode ser também um domínio. O ponto-chave aqui é: os domínios devem pertencer à mesma empresa.

Digamos que temos 2 domínios. Um deles está atrás da CF, mas o outro não. Nesse caso, você se conecta ao domínio que não está atrás da CF e então altera o host header para o domínio que está atrás da CF. Se você obtiver resposta da aplicação que está atrás da CF, parabéns, você contornou a CF. Você pode acessar a aplicação web pelo IP diretamente agora. (e, claro, isso também depende da configuração)


Vamos dar uma olhada mais de perto```

--> TCP --> blog.musana.net [123.45.67.89] ---> HTTPs -------------\
                                                                    \
--> TCP --> api.musana.net [123.67.45.98] ----> HTTPs -----------\   \ 
                                                                  \   \
--> TCP --> test.musana.net [123.89.44.88] ---> HTTPs -------------\   \
                                                                    \___\____________________
--> TCP --> tools.musana.net [123.44.55.66] --> HTTPs -------------> | GET / HTTP/2          |
                                                                     | Host: musana.net      | ====> Check & Compare Responses
--> TCP --> admin.musana.net [33.44.123.45] --> HTTPs -------------->|_______________________|
                                                                          /    /
--> TCP --> ... [...] ------------------------> HTTPs ------------------>/    /
                                                                        /    /
--> TCP --> ... [...] ------------------------> HTTPs ---------------->/    /
                                                                      /    /
--> TCP --> random-test.com [55.44.11.33] ----> HTTPs -------------->/    /
                                                                         /
--> TCP --> fsubsidiary.net [66.77.22.123] ---> HTTPs ----------------->/


Registros Históricos de DNS

Os serviços de registros históricos de DNS tentam descobrir todos os domínios na Internet e registrar alterações nos registros DNS desses domínios. O mais conhecido desses serviços é o securitytrails. Se um domínio for publicado na internet com seu endereço IP real, o bot desse serviço pode registrar seu endereço IP real; depois, se o domínio for colocado atrás do cloudflare, os endereços IP reais podem ser descobertos usando esses serviços. Assim, podemos encontrar o endereço IP real de um domínio que foi divulgado com o endereço IP real no passado.

Ele usa o serviço security trails para registros históricos de DNS. Você pode realizar essa verificação usando o parâmetro -securitytrails após inserir a chave de API no arquivo cf-hero.yaml.

Instruções de Instalação

O cf-hero requer go1.18 para instalar com sucesso. Execute o seguinte comando para instalar.``` go install -v github.com/musana/cf-hero/cmd/cf-hero@latest

root@kitploit:~
# Uso```


        ____         __
  _____/ __/        / /_  ___  _________
 / ___/ /__  ___   / __ \/ _ \/ ___/ __ \
/ /__/ ___/ (___) / / / /  __/ /  / /_/ /
\___/_/          /_/ /_/\___/_/   \____/

                                @musana
_____________________________________________

Unmask the origin IPs of Cloudflare-protected domains

Usage:
  cf-hero [flags]

Flags:
GENERAL OPTIONS:
   -w int         Worker count (default 16)
   -f string      Input file containing list of host/domain
   -v             Enable verbose output
   -title string  Specify HTML title to match (skip fetching from Cloudflare domain)

PRINT OPTIONS:
   -cf      Print domains behind Cloudflare
   -non-cf  Print domains not behind Cloudflare

SOURCES:
   -censys          Include Censys in scanning
   -securitytrails  Include SecurityTrails historical DNS records in scanning
   -shodan          Include Shodan historical DNS records in scanning
   -zoomeye         Include Zoomeye in scanning
   -dl string       Domain list for sub/domain scanning
   -td string       Target domain for sub/domain scanning

CONFIGURATION:
   -hm string   HTTP method. (default "GET")
   -ja3 string  JA3 String (default "772,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,18-10-16-23-45-35-5-11-13-65281-0-51-43-17513-27,29-23-24,0")
   -ua string   HTTP User-Agent (default "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0")
   -px string   HTTP proxy URL



Executando CF-Hero

O comando de execução mais básico. Ele verifica registros A e TXT por padrão.```

cat domains.txt | cf-hero

root@kitploit:~
ou você pode passar o parâmetro "f" para ele.```
# cf-hero -f domains.txt

Use o parâmetro zoomeye para incluir ZoomEye na varredura```

cat domain.txt | cf-hero -zoomeye

root@kitploit:~
Use o parâmetro **censys** para incluir o Censys na varredura```
# cat domain.txt | cf-hero -censys

Use o parâmetro shodan para incluir o Shodan na varredura```

cat domain.txt | cf-hero -shodan

root@kitploit:~
Use o parâmetro **securitytrails** para incluir SecurityTrails na varredura.```
# cat domain.txt | cf-hero -securitytrails

Use os parâmetros -td e -dl para tentar encontrar o endereço IP do domínio de destino utilizando uma lista de domínios ou subdomínios que não estão atrás do Cloudflare. Ao especificar os endereços IP nos blocos onde você identificou endereços IP ativos usados pela infraestrutura de nuvem ou on-premises do alvo com o parâmetro -dl, você pode encontrar o endereço IP real do domínio de destino.```

cf-hero -td https://musana.net -dl sub_domainlist.txt

root@kitploit:~
para obter domínios atrás do CF```
# cf-hero -f domains.txt -cf

para obter domínios que não estão atrás de CF```

cf-hero -f domains.txt -non-cf

root@kitploit:~
outras opções (ja3 personalizado, proxy, worker, user agent)```
# cf-hero -d https://musana.net -ua "Mozilla" -w 32 -ja3 "771,22..." -px "http://127.0.0.1:8080"

crie o arquivo cf-hero.yaml no diretório $HOME/.config/ para definir a chave das APIs```

touch ~/.config/cf-hero.yaml

// content of YAML file should be like;

zoomeye:

  • "api_key_here" # ZoomEye API v2 key (sent in the API-KEY header) securitytrails:
  • "api_key_here" shodan:
  • "api_key_here" # standard Shodan API key (the /dns/domain endpoint requires a paid Membership) censys:
  • "censys_pat_here" # Censys Platform Personal Access Token (PAT)
  • "organization_id_here" # optional: Censys Organization ID, required for paid plans
root@kitploit:~
> **Nota sobre o Censys:** O CF-Hero agora usa a [Censys Platform API](https://docs.censys.com/reference/get-started)
> (a API legada `search.censys.io` está sendo descontinuada em 2026). Gere um Personal Access Token (PAT)
> no console da Censys Platform e coloque-o como a primeira entrada `censys`. Se a sua conta estiver em um plano
> pago, adicione o ID da sua Organização (mostrado na página de API Access) como a segunda entrada — sem ele, a API
> retorna permissões de nível gratuito e pode não retornar resultados (HTTP 403).

## SS

- Coloração inteligente: destaques em amarelo indicam IPs que não são da Cloudflare, os quais serão apenas submetidos a verificações.   
- O parâmetro title pode ser definido se a primeira requisição for bloqueada pela Cloudflare. (O título seria 'Just a moment...') Se o parâmetro title não for definido, o título HTML é recuperado automaticamente.
  
<p align="left">
  <img src="https://assets.kitploit.com/production/public/readmes/49199/e80b0d75e679cf55e02181d2af808f95830912a200c11a7c30427223bd7099cf.png">
</p>

<p align="left">
  <img src="https://assets.kitploit.com/production/public/readmes/49199/71d5a3a4afae8732b7a7f945260bf65cdd5b28599adc9677d601c9977a84bf0f.png">
</p>

## 🏆 Patrocínio  
Este projeto é orgulhosamente apoiado pela [ZoomEye](https://www.zoomeye.ai).  

<p height="100" align="left">
  <a href="https://www.zoomeye.ai"><img height="100" src="https://www.zoomeye.ai/static/logo-CVnk4X2t.svg"></a>
</p>

## A Fazer
- pesquisa de favicon
- integração com viewdns
Baixar ferramenta