Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CF-Hero — CF-Hero is a reconnaissance tool that uses multiple data sources to discover the origin IP addresses of Cloudflare-protected web applications | Kitploit
Strumenti/GitHubGitHub/musana/cf-hero
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringWAF BypassPenetration TestingSubdomain EnumerationFingerprint SpoofingDNS Analysis
GitHubmusana/cf-hero

CF-Hero

CF-Hero is a reconnaissance tool that uses multiple data sources to discover the origin IP addresses of Cloudflare-protected web applications

Vedi Repository
2.6k2521 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CF-Hero

CF-Hero

Cos'è? • Funzionalità • Contesto • Installazione • Utilizzo • Esecuzione di cf-hero • ZoomEye (Sponsor) • Da fare

Cos'è?

CF-Hero è uno strumento completo di ricognizione sviluppato per scoprire i veri indirizzi IP delle applicazioni web protette da Cloudflare. Esegue la raccolta di informazioni da più fonti attraverso diversi metodi.

Ricognizione DNS

  • Record DNS attuali (A, TXT)
  • Analisi dei dati DNS storici
  • Scoperta di domini associati

Fonti di intelligence

  • Motore di ricerca ZoomEye
  • Motore di ricerca Censys
  • Motore di ricerca Shodan
  • Record storici di SecurityTrails
  • Enumerazione DNS attiva
  • Correlazione di domini correlati

Lo strumento analizza i dati provenienti da queste fonti per identificare i potenziali indirizzi IP di origine dei target protetti da Cloudflare. Convalida i risultati tramite l'analisi delle risposte per ridurre al minimo i falsi positivi.

un semplice diagramma di flusso dello strumento```

┌──────────┐
│ │ ┌─────────┐
│ 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:~
# Funzionalità
### Funzionalità

- Ricognizione DNS
  - Controlla i record DNS attuali (A, TXT)
  - Estrae i domini dietro Cloudflare
  - Estrae i domini non dietro Cloudflare
  - Titolo HTML fornito dall'utente (nel caso in cui CF ti blocchi)
  - Colorazione intelligente

- Intelligence di terze parti
  - Integrazione ZoomEye
  - Integrazione Censys
  - Integrazione Shodan
  - Integrazione SecurityTrails
  - Reverse IP lookup per domini associati

- Funzionalità avanzate
  - Supporto per fingerprint JA3 personalizzate
  - Capacità di scansione concorrente
  - Supporto per input standard (piping)
  - Confronto del titolo HTML per la validazione
  - Supporto proxy
  - Configurazione personalizzata dello User-Agent

# Contesto
## Record DNS attuali
Diamo un'occhiata ad alcuni casi d'uso con impostazioni DNS non configurate correttamente.

Come puoi vedere, una normale query DNS restituisce l'indirizzo IP del dominio. Ad esempio, musana.net è dietro Cloudflare (CF), ma a volte il dominio ha più record A, e alcuni di essi potrebbero non corrispondere agli indirizzi IP associati a CF. (Questa risposta DNS è solo un esempio illustrativo e potrebbe non rappresentare la risposta DNS esatta per 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)

L'altro caso è legato ai record TXT. A volte il dominio è dietro a CF, ma l'IP reale del dominio può essere usato nei record TXT. CF-Hero controlla tutti i record TXT, poi estrae tutti gli indirizzi IP e infine tenta di connettersi all'IP trovato via HTTP.

Supponiamo di avere dei record TXT DNS. Come si vede nei record TXT, c'è un record SPF. Alcune aziende possono ospitare il proprio server di posta e i record TXT possono contenere un IP che punta al dominio di destinazione.

Come puoi vedere nella seguente risposta DNS, il record SPF contiene alcuni indirizzi IP. Cf-Hero controlla anche questi.``` ;; 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

L'OSINT è un'altra tecnica per trovare l'IP reale di qualsiasi dominio che si trova dietro a CF. Ci sono molti motori di ricerca specializzati per scopi specifici. Shodan e Censys sono due di questi. Forniscono più dettagli e informazioni tecniche.  Questi motori di ricerca scansionano l'intera internet continuamente e scoprono nuove risorse o monitorano e registrano i cambiamenti nelle risorse. Quando un dominio che non è dietro a CF viene attivato, entrambi questi motori possono registrare l'IP reale del dominio. Dopo un po', se il dominio viene messo dietro Cloudflare, il suo IP può essere trovato usando questi motori di ricerca.

CF-Hero controlla anche Censys e Shodan. (Nota: quando usi questi servizi hai alcuni limiti dovuti alla quota API.)


## (Sotto)Domini
L'altro modo ingegnoso è la tecnica dei (sotto)domini. In realtà non deve essere per forza un sottodominio, può essere anche un dominio. Il punto chiave è questo: i domini dovrebbero appartenere alla stessa azienda.

Diciamo che abbiamo 2 domini. Uno di essi è dietro a CF ma l'altro no. In questo caso, ti connetti al dominio che non è dietro a CF e poi cambi l'host header con il dominio che è dietro a CF. Se ottieni la risposta dell'applicazione che è dietro a CF, congratulazioni hai bypassato CF. Puoi ora accedere all'applicazione web direttamente dall'IP. (e ovviamente dipende anche dalla configurazione)


Diamo un'occhiata più da vicino```

--> 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 ----------------->/


Record DNS storici

I servizi di record DNS storici cercano di scoprire tutti i domini su Internet e registrano le modifiche nei record DNS di questi domini. Il più noto di questi servizi è securitytrails. Se un dominio viene pubblicato su Internet con il suo indirizzo IP reale, il bot di questi servizi può registrarne l'indirizzo IP reale; successivamente, se il dominio viene spostato dietro cloudflare, gli indirizzi IP reali possono essere scoperti usando questi servizi. In questo modo, possiamo trovare l'indirizzo IP reale di un dominio che in passato ha reso pubblico il proprio indirizzo IP reale.

Utilizza il servizio security trails per i record DNS storici. Puoi eseguire questa scansione usando il parametro -securitytrails dopo aver inserito la chiave API nel file cf-hero.yaml.

Istruzioni di installazione

cf-hero richiede go1.18 per installarsi correttamente. Esegui il seguente comando per installarlo.``` 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



Esecuzione di CF-Hero

Il comando di esecuzione più semplice. Per impostazione predefinita, controlla i record A e TXT.```

cat domains.txt | cf-hero

root@kitploit:~
oppure puoi passare ad esso il parametro "f".```
# cf-hero -f domains.txt

Usa il parametro zoomeye per includere ZoomEye nella scansione.```

cat domain.txt | cf-hero -zoomeye

root@kitploit:~
Usa il parametro **censys** per includere Censys nella scansione```
# cat domain.txt | cf-hero -censys

Usa il parametro shodan per includere Shodan nella scansione```

cat domain.txt | cf-hero -shodan

root@kitploit:~
Usa il parametro **securitytrails** per includere SecurityTrails nella scansione.```
# cat domain.txt | cf-hero -securitytrails

Utilizza i parametri -td e -dl per tentare di trovare l'indirizzo IP del dominio di destinazione utilizzando un elenco di domini o sottodomini che non sono dietro Cloudflare. Specificando gli indirizzi IP nei blocchi in cui hai identificato indirizzi IP live utilizzati dall'infrastruttura cloud o on-premises del target con il parametro -dl, puoi trovare l'indirizzo IP reale del dominio di destinazione.```

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

root@kitploit:~
per ottenere i domini dietro CF```
# cf-hero -f domains.txt -cf

per ottenere domini non dietro CF```

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

root@kitploit:~
altre opzioni (ja3 personalizzato, proxy, worker, user agent)```
# cf-hero -d https://musana.net -ua "Mozilla" -w 32 -ja3 "771,22..." -px "http://127.0.0.1:8080"

crea il file cf-hero.yaml nella directory $HOME/.config/ per impostare la chiave delle API```

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 su Censys:** CF-Hero ora utilizza la [Censys Platform API](https://docs.censys.com/reference/get-started)
> (l'API legacy `search.censys.io` verrà dismessa nel 2026). Genera un Personal Access Token (PAT)
> dalla console Censys Platform e inseriscilo come prima voce `censys`. Se il tuo account è su un piano a pagamento,
> aggiungi il tuo Organization ID (mostrato nella pagina API Access) come seconda voce — senza di esso, l'API
> restituisce autorizzazioni di livello gratuito e potrebbe non produrre risultati (HTTP 403).

## Schermate

- Colorazione intelligente: le evidenziazioni gialle indicano IP non Cloudflare, che saranno soggetti solo a controlli.   
- Il parametro title può essere impostato se la prima richiesta viene bloccata da Cloudflare. (Il titolo sarebbe 'Just a moment...') Se il parametro title non è impostato, il titolo HTML viene recuperato 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>

## 🏆 Sponsorizzazione  
Questo progetto è orgogliosamente supportato da [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>

## Da fare
- ricerca favicon
- integrazione viewdns
Scarica lo strumento