Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/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

Repository anzeigen
2.6k252vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
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

CF-Hero

CF-Hero

Was ist das? • Funktionen • Hintergrund • Installation • Verwendung • cf-hero ausführen • ZoomEye (Sponsor) • To Do

Was ist das?

CF-Hero ist ein umfassendes Reconnaissance-Tool, das entwickelt wurde, um die echten IP-Adressen von Cloudflare-geschützten Webanwendungen zu entdecken. Es führt durch verschiedene Methoden eine Informationssammlung aus mehreren Quellen durch.

DNS-Aufklärung

  • Aktuelle DNS-Einträge (A, TXT)
  • Analyse historischer DNS-Daten
  • Entdeckung zugehöriger Domains

Intelligence-Quellen

  • ZoomEye-Suchmaschine
  • Censys-Suchmaschine
  • Shodan-Suchmaschine
  • SecurityTrails-Historienaufzeichnungen
  • Aktive DNS-Enumeration
  • Korrelation verwandter Domains

Das Tool analysiert Daten aus diesen Quellen, um potenzielle Ursprungs-IP-Adressen von Cloudflare-geschützten Zielen zu identifizieren. Es validiert die Ergebnisse durch Antwortanalysen, um Fehlalarme zu minimieren.

ein einfaches Flussdiagramm des Tools```

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

- DNS-Aufklärung
  - Prüft aktuelle DNS-Einträge (A, TXT)
  - Extrahiert Domains hinter Cloudflare
  - Extrahiert Domains, die nicht hinter Cloudflare liegen
  - Vom Benutzer bereitgestellter HTML-Titel (falls CF dich blockiert)
  - Intelligente Einfärbung

- Drittanbieter-Intelligenz
  - ZoomEye-Integration
  - Censys-Integration
  - Shodan-Integration
  - SecurityTrails-Integration
  - Reverse-IP-Lookup für zugehörige Domains

- Erweiterte Funktionen
  - Unterstützung für benutzerdefinierte JA3-Fingerprints
  - Parallele Scan-Fähigkeiten
  - Unterstützung für Standardeingabe (Piping)
  - HTML-Titelvergleich zur Validierung
  - Proxy-Unterstützung
  - Benutzerdefinierte User-Agent-Konfiguration

# Hintergrund
## Aktuelle DNS-Einträge
Schauen wir uns einen Anwendungsfall mit falsch konfigurierten DNS-Einstellungen an. 

Wie du sehen kannst, gibt eine reguläre DNS-Abfrage die IP-Adresse der Domain zurück. Zum Beispiel liegt musana.net hinter Cloudflare (CF), aber manchmal hat die Domain mehrere A-Einträge, und einige davon entsprechen möglicherweise nicht IP-Adressen, die mit CF in Verbindung stehen. (Diese DNS-Ausgabe ist lediglich ein illustratives Beispiel und stellt möglicherweise nicht die exakte DNS-Antwort für musana.net dar.)```
;; 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)

Der andere Fall betrifft TXT-Einträge. Manchmal liegt eine Domain hinter Cloudflare, aber die echte IP der Domain kann in TXT-Einträgen verwendet werden. CF-Hero prüft alle TXT-Einträge, extrahiert anschließend alle IP-Adressen und versucht schließlich, sich per HTTP mit den gefundenen IPs zu verbinden.

Nehmen wir an, wir haben solche DNS-TXT-Einträge. Wie in den TXT-Einträgen zu sehen ist, gibt es einen SPF-Eintrag. Manche Unternehmen können einen eigenen Mailserver betreiben, und TXT-Einträge können eine IP enthalten, die auf die Zieldomain verweist.

Wie Sie in der folgenden DNS-Antwort sehen können, enthält der SPF-Eintrag einige IP-Adressen. Cf-Hero prüft auch diese.``` ;; 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 ist eine weitere Technik, um die echte IP einer Domain zu finden, die hinter CF liegt. Es gibt viele spezielle Suchmaschinen für spezielle Zwecke. Shodan und Censys sind zwei davon. Sie liefern detailliertere und technische Informationen. Diese Suchmaschinen scannen kontinuierlich das gesamte Internet, entdecken neue Assets oder überwachen und protokollieren Änderungen an Assets. Wenn eine Domain, die nicht hinter CF liegt, online geht, können Bots dieser Suchmaschinen die echte IP der Domain protokollieren. Wenn die Domain später hinter Cloudflare genommen wird, kann ihre IP mithilfe dieser Suchmaschinen gefunden werden.

CF-Hero prüft auch Censys und Shodan. (Hinweis: Wenn du diese Dienste nutzt, hast du aufgrund des API-Kontingents gewisse Limits.)


## (Sub)Domains
Der andere Trick ist die (Sub)domain-Technik. Eigentlich muss es nicht unbedingt eine Subdomain sein, es kann auch eine Domain sein. Der entscheidende Punkt ist hier: Die Domains sollten derselben Firma gehören.

Nehmen wir an, wir haben 2 Domains. Eine davon liegt hinter CF, die andere nicht. In diesem Fall verbindest du dich mit der Domain, die nicht hinter CF liegt, und änderst dann den Host-Header auf die Domain, die hinter CF liegt. Wenn du die Antwort der Anwendung erhältst, die hinter CF liegt, herzlichen Glückwunsch, du hast CF umgangen. Du kannst nun direkt über die IP auf die Webanwendung zugreifen. (und das hängt natürlich auch von der Konfiguration ab)


Schauen wir uns das genauer an```

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

Dienste für historische DNS-Einträge versuchen, alle Domains im Internet zu entdecken und Änderungen in den DNS-Einträgen dieser Domains aufzuzeichnen. Der bekannteste dieser Dienste ist securitytrails. Wenn eine Domain mit ihrer echten IP-Adresse im Internet veröffentlicht wird, kann der Bot dieses Dienstes ihre echte IP-Adresse protokollieren. Wenn die Domain anschließend hinter Cloudflare platziert wird, können die echten IP-Adressen mithilfe dieser Dienste herausgefunden werden. So können wir die echte IP-Adresse einer Domain ermitteln, die in der Vergangenheit über ihre echte IP-Adresse ausgestrahlt wurde.

Für historische DNS-Einträge wird der Security-Trails-Dienst verwendet. Sie können diesen Scan mit dem Parameter -securitytrails durchführen, nachdem Sie den API-Schlüssel in die Datei cf-hero.yaml eingetragen haben.

Installationsanleitung

Für cf-hero ist go1.18 erforderlich, um es erfolgreich zu installieren. Führen Sie den folgenden Befehl aus, um es zu installieren.``` go install -v github.com/musana/cf-hero/cmd/cf-hero@latest

root@kitploit:~
# Verwendung```


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

                                @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



CF-Hero ausführen

Der grundlegendste Ausführungsbefehl. Standardmäßig prüft er A- und TXT-Einträge.```

cat domains.txt | cf-hero

root@kitploit:~
oder Sie können ihm den Parameter "f" übergeben.```
# cf-hero -f domains.txt

Verwenden Sie den Parameter zoomeye, um ZoomEye in den Scan einzubeziehen.```

cat domain.txt | cf-hero -zoomeye

root@kitploit:~
Verwenden Sie den Parameter **censys**, um Censys in den Scan einzubeziehen.```
# cat domain.txt | cf-hero -censys

Verwenden Sie den Parameter shodan, um Shodan in den Scan einzubeziehen.```

cat domain.txt | cf-hero -shodan

root@kitploit:~
Verwenden Sie den Parameter **securitytrails**, um SecurityTrails in den Scan einzubeziehen.```
# cat domain.txt | cf-hero -securitytrails

Verwenden Sie die Parameter -td und -dl, um zu versuchen, die IP-Adresse der Zieldomäne zu finden, indem Sie eine Liste von Domänen oder Subdomänen verwenden, die sich nicht hinter Cloudflare befinden. Indem Sie mit dem Parameter -dl die IP-Adressen in den Blöcken angeben, in denen Sie aktive IP-Adressen identifiziert haben, die von der Cloud- oder On-Premises-Infrastruktur des Ziels verwendet werden, können Sie die tatsächliche IP-Adresse der Zieldomäne finden.```

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

root@kitploit:~
um Domains hinter CF zu erhalten```
# cf-hero -f domains.txt -cf

um Domains zu erhalten, die nicht hinter CF liegen```

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

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

Erstelle die Datei cf-hero.yaml im Verzeichnis $HOME/.config/, um den API-Schlüssel festzulegen.```

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:~
> **Hinweis zu Censys:** CF-Hero verwendet jetzt die [Censys Platform API](https://docs.censys.com/reference/get-started)
> (die ältere `search.censys.io`-API wird 2026 eingestellt). Erzeugen Sie ein Personal Access Token (PAT)
> aus der Censys-Platform-Konsole und fügen Sie ihn als ersten `censys`-Eintrag ein. Wenn Ihr Konto einen kostenpflichtigen
> Plan hat, fügen Sie Ihre Organization ID (auf der API-Access-Seite angezeigt) als zweiten Eintrag hinzu — ohne sie gibt die API
> Free-Tier-Berechtigungen zurück und liefert möglicherweise keine Ergebnisse (HTTP 403).

## SS

- Intelligente Farbgebung: Gelbe Markierungen kennzeichnen Nicht-Cloudflare-IPs, die nur einer Prüfung unterzogen werden.   
- Der Titel-Parameter kann gesetzt werden, wenn die erste Anfrage von Cloudflare blockiert wird. (Der Titel wäre 'Just a moment...') Wenn der Titel-Parameter nicht gesetzt ist, wird der HTML-Titel automatisch abgerufen.
  
<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  
Dieses Projekt wird stolz unterstützt von [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>

## Offene Aufgaben
- Favicon-Suche
- viewdns-Integration
Tool herunterladen