Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CF-Hero — CF-Hero est un outil de reconnaissance qui utilise plusieurs sources de données pour découvrir les adresses IP d'origine des applications web protégées par Cloudflare. | Kitploit
Outils/GitHubGitHub/musana/cf-hero
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsContournement de WAFTests d'IntrusionÉnumération de Sous-domainesUsurpation d'Empreinte NumériqueAnalyse DNS
GitHubmusana/cf-hero

CF-Hero

CF-Hero est un outil de reconnaissance qui utilise plusieurs sources de données pour découvrir les adresses IP d'origine des applications web protégées par Cloudflare.

Voir le dépôt
2.6k25211il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CF-Hero

CF-Hero

Qu'est-ce que c'est ? • Fonctionnalités • Contexte • Installation • Utilisation • Exécuter cf-hero • ZoomEye (Sponsor) • À faire

Qu'est-ce que c'est ?

CF-Hero est un outil complet de reconnaissance développé pour découvrir les adresses IP réelles des applications web protégées par Cloudflare. Il effectue la collecte de renseignements multi-sources via diverses méthodes.

Reconnaissance DNS

  • Enregistrements DNS actuels (A, TXT)
  • Analyse des données DNS historiques
  • Découverte de domaines associés

Sources de renseignement

  • Moteur de recherche ZoomEye
  • Moteur de recherche Censys
  • Moteur de recherche Shodan
  • Enregistrements historiques SecurityTrails
  • Énumération DNS active
  • Corrélation de domaines liés

L'outil analyse les données de ces sources pour identifier les adresses IP d'origine potentielles des cibles protégées par Cloudflare. Il valide les résultats par l'analyse des réponses afin de minimiser les faux positifs.

un organigramme simple de l'outil```

┌──────────┐
│ │ ┌─────────┐
│ 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:~
# Fonctionnalités
### Fonctionnalités

- Reconnaissance DNS
  - Vérifie les enregistrements DNS actuels (A, TXT)
  - Extrait les domaines derrière Cloudflare
  - Extrait les domaines qui ne sont pas derrière Cloudflare
  - Titre HTML fourni par l'utilisateur (si CF vous bloque)
  - Coloration intelligente

- Intelligence tierce
  - Intégration ZoomEye
  - Intégration Censys
  - Intégration Shodan
  - Intégration SecurityTrails
  - Recherche IP inversée pour les domaines associés

- Fonctionnalités avancées
  - Prise en charge d'empreintes JA3 personnalisées
  - Capacités d'analyse simultanée
  - Prise en charge de l'entrée standard (piping)
  - Comparaison du titre HTML pour validation
  - Prise en charge du proxy
  - Configuration d'un User-Agent personnalisé

# Contexte
## Enregistrements DNS actuels
Examinons un cas d'utilisation avec des paramètres DNS mal configurés. 

Comme vous pouvez le voir, une requête DNS classique renvoie l'adresse IP du domaine. Par exemple, musana.net est derrière Cloudflare (CF), mais parfois le domaine possède plusieurs enregistrements A, et certains d'entre eux peuvent ne pas correspondre à des adresses IP associées à CF. (Cette sortie DNS n'est qu'un exemple illustratif et peut ne pas représenter la réponse DNS exacte pour 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'autre cas concerne les enregistrements TXT. Parfois, le domaine est derrière CF, mais l'IP réelle du domaine peut être utilisée dans les enregistrements TXT. CF-Hero vérifie tous les enregistrements TXT, puis extrait toutes les adresses IP et tente enfin de se connecter via HTTP à l'IP trouvée.

Prenons par exemple des enregistrements DNS TXT. Comme on le voit dans les enregistrements TXT, il y a un enregistrement SPF. Certaines entreprises peuvent héberger leur propre serveur mail et les enregistrements TXT peuvent contenir une IP qui pointe vers le domaine cible.

Comme vous pouvez le voir dans la réponse DNS suivante, l'enregistrement SPF contient des adresses IP. Cf-Hero vérifie également celles-ci.``` ;; 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 est une autre technique pour trouver la vraie IP de tout domaine qui se trouve derrière CF. Il existe de nombreux moteurs de recherche spécialisés pour des besoins spécifiques. Shodan et Censys en sont deux exemples. Ils fournissent des informations plus détaillées et techniques. Ces moteurs de recherche analysent en continu tout Internet, découvrent de nouveaux actifs, ou surveillent et journalisent les changements dans les actifs. Lorsqu'un domaine qui n'est pas derrière CF est mis en ligne, les robots de ces moteurs peuvent journaliser la vraie IP du domaine. Après un certain temps, si le domaine est placé derrière Cloudflare, son IP peut être trouvée à l'aide de ces moteurs de recherche.

CF-Hero vérifie également censys et shodan. (Notez que lorsque vous utilisez ces services, vous avez certaines limites en raison du quota d'API.)

## (Sous)Domaines

L'autre astuce consiste en la technique des (sous)domaines. En fait, il ne doit pas nécessairement s'agir d'un sous-domaine, cela peut aussi être un domaine. Le point clé est le suivant : les domaines doivent appartenir à la même entreprise.

Disons que nous avons 2 domaines. L'un est derrière CF mais l'autre ne l'est pas. Dans ce cas, vous vous connectez au domaine qui n'est pas derrière CF, puis vous modifiez l'en-tête Host avec le domaine qui est derrière CF. Si vous obtenez une réponse de l'application qui est derrière CF, félicitations, vous avez contourné CF. Vous pouvez désormais accéder à l'application web directement via l'IP. (et bien sûr, cela dépend aussi de la configuration)

Regardons de plus près.```

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


Historical DNS Records

Les services d’enregistrements DNS historiques tentent de découvrir tous les domaines sur Internet et d’enregistrer les modifications apportées aux enregistrements DNS de ces domaines. Le plus connu de ces services est securitytrails. Si un domaine est publié sur Internet avec sa véritable adresse IP, le bot de ces services peut consigner sa véritable adresse IP ; ensuite, si le domaine est placé derrière Cloudflare, les véritables adresses IP peuvent être découvertes à l’aide de ces services. Ainsi, nous pouvons trouver la véritable adresse IP d’un domaine qui a été diffusé avec sa véritable adresse IP dans le passé.

Il utilise le service securitytrails pour les enregistrements DNS historiques. Vous pouvez effectuer cette analyse à l’aide du paramètre -securitytrails après avoir saisi la clé API dans le fichier cf-hero.yaml.

Instructions d’installation

cf-hero nécessite go1.18 pour être installé correctement. Exécutez la commande suivante pour installer.``` go install -v github.com/musana/cf-hero/cmd/cf-hero@latest

root@kitploit:~
# Utilisation```


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

                                @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



Exécuter CF-Hero

La commande d'exécution la plus basique. Elle vérifie les enregistrements A et TXT par défaut.```

cat domains.txt | cf-hero

root@kitploit:~
ou vous pouvez passer le paramètre "f" à celui-ci.```
# cf-hero -f domains.txt

Utilisez le paramètre zoomeye pour inclure ZoomEye dans l'analyse```

cat domain.txt | cf-hero -zoomeye

root@kitploit:~
Utilisez le paramètre **censys** pour inclure Censys dans l'analyse.```
# cat domain.txt | cf-hero -censys

Utilisez le paramètre shodan pour inclure Shodan dans le scan.```

cat domain.txt | cf-hero -shodan

root@kitploit:~
Utilisez le paramètre **securitytrails** pour inclure SecurityTrails dans l'analyse.```
# cat domain.txt | cf-hero -securitytrails

Utilisez les paramètres -td et -dl pour tenter de trouver l'adresse IP du domaine cible en utilisant une liste de domaines ou de sous-domaines qui ne sont pas derrière Cloudflare. En spécifiant les adresses IP dans les blocs où vous avez identifié des adresses IP actives utilisées par l'infrastructure cloud ou sur site de la cible avec le paramètre -dl, vous pouvez trouver la véritable adresse IP du domaine cible.```

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

root@kitploit:~
pour obtenir les domaines derrière CF```
# cf-hero -f domains.txt -cf

pour obtenir les domaines non derrière CF```

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

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

créez le fichier cf-hero.yaml dans le répertoire $HOME/.config/ pour définir la clé 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:~
> **Note sur Censys :** CF-Hero utilise désormais l'[API Censys Platform](https://docs.censys.com/reference/get-started)
> (l'API `search.censys.io` héritée sera mise hors service en 2026). Générez un jeton d'accès personnel (PAT)
> depuis la console Censys Platform et placez-le en première entrée `censys`. Si votre compte est sur un plan
> payant, ajoutez votre identifiant d'organisation (affiché sur la page API Access) en deuxième entrée — sans lui, l'API
> renvoie des autorisations de niveau gratuit et peut ne donner aucun résultat (HTTP 403).

## Captures d'écran

- Coloration intelligente : les surlignages jaunes indiquent les IP non-Cloudflare, qui ne seront soumises qu'à des vérifications.
- Le paramètre title peut être défini si la première requête est bloquée par Cloudflare. (Le titre serait 'Just a moment...') Si le paramètre title n'est pas défini, le titre HTML est récupéré automatiquement.

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

## 🏆 Sponsoring  
Ce projet est fièrement soutenu par [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>

## À faire
- recherche de favicon
- intégration de viewdns
Télécharger l’outil