Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CF-Hero — CF-Heroは、複数のデータソースを使用してCloudflareで保護されたWebアプリケーションのオリジンIPアドレスを発見する偵察ツールです。 | Kitploit
ツール/GitHubGitHub/musana/cf-hero
OSINT (オープンソースインテリジェンス)偵察情報収集WAFバイパスペネトレーションテストサブドメイン列挙フィンガープリントスプーフィングDNS分析
GitHubmusana/cf-hero

CF-Hero

CF-Heroは、複数のデータソースを使用してCloudflareで保護されたWebアプリケーションのオリジンIPアドレスを発見する偵察ツールです。

リポジトリを見る
2.6k252112ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CF-Hero

CF-Hero

What's it? • Features • Background • Installation • Usage • Running cf-hero • ZoomEye (Sponsor) • To Do

What's it?

CF-Hero は、Cloudflare によって保護された Web アプリケーションの実 IP アドレスを発見するために開発された、包括的な偵察ツールです。複数の情報源から多角的なインテリジェンス収集を行います。

DNS Reconnaissance

  • 現在の DNS レコード(A、TXT)
  • 履歴 DNS データの分析
  • 関連ドメインの発見

Intelligence Sources

  • ZoomEye 検索エンジン
  • Censys 検索エンジン
  • Shodan 検索エンジン
  • SecurityTrails の履歴レコード
  • アクティブ DNS 列挙
  • 関連ドメインの相関分析

このツールは、これらの情報源から得られたデータを分析し、Cloudflare で保護されたターゲットの潜在的なオリジン IP アドレスを特定します。また、応答分析を通じて検証を行い、誤検知を最小限に抑えます。

ツールの簡単なフローチャート```

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

- DNS 偵察
  - 現在のDNSレコード(A、TXT)を確認します
  - Cloudflareの背後にあるドメインを抽出します
  - Cloudflareの背後にないドメインを抽出します
  - ユーザー指定のHTMLタイトル(CFがブロックする場合用)
  - スマートな色分け

- サードパーティインテリジェンス
  - ZoomEye連携
  - Censys連携
  - Shodan連携
  - SecurityTrails連携
  - 関連ドメインの逆IPルックアップ

- 高度な機能
  - カスタムJA3フィンガープリントのサポート
  - 並行スキャン機能
  - 標準入力サポート(パイプ)
  - 検証用のHTMLタイトル比較
  - プロキシサポート
  - カスタムUser-Agent設定

# 背景
## 現在のDNSレコード
設定が誤っているDNS設定に関するいくつかのユースケースを見てみましょう。

ご覧のとおり、通常のDNSクエリはドメインのIPアドレスを返します。たとえば、musana.netはCloudflare(CF)の背後にありますが、ドメインが複数のAレコードを持ち、その一部がCFに関連付けられたIPアドレスに対応していない場合があります。(このDNS出力は単なる説明用の例であり、musana.netの正確なDNS応答を表すものではありません。)```
;; 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)

もう1つのケースはTXTレコードに関連するものです。ドメインがCFの背後にある場合でも、ドメインの実際のIPアドレスがTXTレコードに使用されていることがあります。CF-HeroはすべてのTXTレコードをチェックし、すべてのIPアドレスを抽出した後、最終的にHTTP経由で見つけたIPへの接続を試みます。

たとえば、このようなDNS TXTレコードがあるとします。TXTレコードで確認できるように、SPFレコードが存在します。一部の企業は自社のメールサーバーをホストしており、TXTレコードに対象ドメインを指すIPアドレスが含まれる場合があります。

以下のDNS応答で確認できるように、SPFレコードにはいくつかのIPアドレスが含まれています。Cf-Heroはこれらもチェックします。``` ;; 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 は、CFの背後にあるドメインの実IPを見つけるもう一つの手法です。特定の目的に特化した検索エンジンはたくさんあります。Shodan と Censys はそのうちの2つです。これらはより詳細で技術的な情報を提供します。これらの検索エンジンはインターネット全体を継続的にスキャンし、新しいアセットを発見したり、アセットの変化を監視・記録したりします。CFの背後にないドメインが公開されると、これらのエンジンのボットがそのドメインの実IPを記録できます。その後、ドメインがCloudflareの背後に移動した場合でも、これらの検索エンジンを使ってIPを見つけることができます。

CF-Hero は Censys と Shodan もチェックします。(注: これらのサービスを使用する場合、APIクォータによる制限があります。)


## (サブ)ドメイン

もう一つのトリックは(サブ)ドメインの手法です。実際にはサブドメインである必要はなく、ドメインでも構いません。ここで重要なのは、ドメインが同じ会社に属している必要があるということです。

2つのドメインがあるとしましょう。1つはCFの背後にあり、もう1つはCFの背後にありません。この場合、CFの背後にないドメインに接続し、HostヘッダーをCFの背後にあるドメインに変更します。CFの背後にあるアプリケーションの応答が得られたら、おめでとうございます、CFをバイパスできました。以降はIPから直接Webアプリケーションにアクセスできます。(もちろん、これも設定によります)


もう少し詳しく見てみましょう```

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


履歴DNSレコード

履歴DNSレコードサービスは、インターネット上のすべてのドメインを発見し、これらのドメインのDNSレコードの変更を記録しようとします。これらのサービスの中で最もよく知られているのは securitytrails です。ドメインが実IPアドレスとともにインターネット上に公開されている場合、これらのサービスのボットはその実IPアドレスを記録できます。その後、ドメインがCloudflareの背後に配置された場合でも、これらのサービスを使用して実IPアドレスを見つけ出すことができます。これにより、過去に実IPアドレスで公開されたことのあるドメインの実IPアドレスを見つけることができます。

履歴DNSレコードには securitytrails サービスを使用します。cf-hero.yaml ファイルにAPIキーを入力した後、-securitytrails パラメータを使用してこのスキャンを実行できます。

インストール手順

cf-hero を正常にインストールするには go1.18 が必要です。次のコマンドを実行してインストールしてください。``` go install -v github.com/musana/cf-hero/cmd/cf-hero@latest

root@kitploit:~
# 使用方法```


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

                                @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の実行

最も基本的な実行コマンドです。デフォルトではAレコードとTXTレコードをチェックします。```

cat domains.txt | cf-hero

root@kitploit:~
または、"f"パラメータを渡すこともできます。```
# cf-hero -f domains.txt

zoomeye パラメータを使用して、スキャンに ZoomEye を含めます。```

cat domain.txt | cf-hero -zoomeye

root@kitploit:~
スキャンに Censys を含めるには、**censys** パラメータを使用します。```
# cat domain.txt | cf-hero -censys

shodan パラメータを使用して、スキャンに Shodan を含めます。```

cat domain.txt | cf-hero -shodan

root@kitploit:~
**securitytrails** パラメータを使用して、スキャンに SecurityTrails を含めます。```
# cat domain.txt | cf-hero -securitytrails

-td パラメータと -dl パラメータを使用して、Cloudflare の背後にないドメインまたはサブドメインのリストを活用し、ターゲットドメインの IP アドレスを見つけようとします。-dl パラメータで、ターゲットのクラウドまたはオンプレミスインフラストラクチャで使用されているライブ IP アドレスを特定したブロック内の IP アドレスを指定すると、ターゲットドメインの実際の IP アドレスを見つけることができます。```

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

root@kitploit:~
CFの背後にあるドメインを取得する```
# cf-hero -f domains.txt -cf

CFの背後にないドメインを取得するには```

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

root@kitploit:~
その他のオプション (カスタム ja3、プロキシ、ワーカー、ユーザーエージェント)```
# cf-hero -d https://musana.net -ua "Mozilla" -w 32 -ja3 "771,22..." -px "http://127.0.0.1:8080"

$HOME/.config/ ディレクトリ配下に cf-hero.yaml ファイルを作成して、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:~
> **Censys に関する注意:** CF-Hero は現在 [Censys Platform API](https://docs.censys.com/reference/get-started) を使用しています
> (旧 `search.censys.io` API は 2026 年に廃止予定です)。Censys Platform コンソールから Personal Access Token (PAT) を生成し、
> 最初の `censys` エントリとして設定してください。有料プランのアカウントの場合は、
> Organization ID (API Access ページに表示されています) を 2 番目のエントリとして追加してください。これがないと、API は
> Free 層の権限を返し、結果が得られない場合があります (HTTP 403)。

## SS

- スマートカラーリング: 黄色いハイライトは Cloudflare 以外の IP を示し、これらはチェックのみが行われます。   
- title パラメータは、最初のリクエストが Cloudflare によってブロックされた場合に設定できます。(タイトルは 'Just a moment...' になります) title パラメータが設定されていない場合、HTML タイトルは自動的に取得されます。
  
<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>

## 🏆 Sponsorship  
このプロジェクトは [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>

## 今後の予定
- favicon 検索
- viewdns 統合
ツールをダウンロード