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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
surf — ホストリストをフィルタリングし、HTTP到達可能性を調査して内部/外部IPを解決することで、有効なSSRF候補を特定し、クラウド環境における従来のブラックリストをバイパスします。 | Kitploit
ツール/GitHubGitHub/assetnote/surf
偵察脆弱性分析情報収集ウェブセキュリティペネトレーションテスト
GitHubassetnote/surf

surf

ホストリストをフィルタリングし、HTTP到達可能性を調査して内部/外部IPを解決することで、有効なSSRF候補を特定し、クラウド環境における従来のブラックリストをバイパスします。

リポジトリを見る
757563年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Surf - モダンクラウド環境におけるSSRF脆弱性を増幅させる


surf を使用すると、ホストのリストをフィルタリングし、有効なSSRF候補のリストを取得できます。仕組みとしては、各ホストに対して自身のマシンからHTTPリクエストを送信し、応答がなかったすべてのホストを収集し、それらを外部向けホストと内部向けホストに分類します。

その後、SSRF脆弱性が存在する可能性のある場所で、これらのホストを試すことができます。ほとんどのSSRFフィルターは内部IP範囲や制限されたIP範囲のみに焦点を当てているため、自身のマシンからHTTP(s)でアクセスできない外部IPでSSRFを確認できたときは、驚くことでしょう。

多くの場合、クラウド環境を持つ大企業では、内部Webアプリケーションに外部IPが割り当てられていることがあります。従来のSSRFフィルターは、これらのホストがブラックリストに明示的に追加されない限り(通常は追加されません)、捕捉できません。そのため、この手法は非常に強力になり得ます。

インストール

このツールは、HTTPプロービングに httpx を利用するため、Go 1.19 以降が必要です。

以下のコマンドでインストールできます:

root@kitploit:~
go install github.com/assetnote/surf/cmd/surf@latest

使用方法

bigcorp.txt というファイルに bigcorp.com のサブドメインが含まれていると仮定し、それらのサブドメインに対するすべてのSSRF候補を見つけたい場合の例を以下に示します:

root@kitploit:~
# すべてのSSRF候補を検出(HTTPプロービングにより外部IPアドレスも含む)
surf -l bigcorp.txt
# タイムアウトと並行処理数を指定してすべてのSSRF候補を検出(HTTPプロービングにより外部IPアドレスも含む)
surf -l bigcorp.txt -t 10 -c 200
# すべてのSSRF候補を検出し(HTTPプロービングにより外部IPアドレスも含む)、ホストのみを出力
surf -l bigcorp.txt -d
# 内部/プライベートIPアドレスを指すすべてのホストを検出(HTTPプロービングなし)
surf -l bigcorp.txt -x

設定項目の全リストは以下を参照してください:

root@kitploit:~
❯ surf -h

███████╗██╗   ██╗██████╗ ███████╗
██╔════╝██║   ██║██╔══██╗██╔════╝
███████╗██║   ██║██████╔╝█████╗  
╚════██║██║   ██║██╔══██╗██╔══╝  
███████║╚██████╔╝██║  ██║██║     
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝         
                                 
by shubs @ assetnote                                 

Usage: surf [--hosts FILE] [--concurrency CONCURRENCY] [--timeout SECONDS] [--retries RETRIES] [--disablehttpx] [--disableanalysis]

Options:
  --hosts FILE, -l FILE
                         アセットのリスト(ホストまたはサブドメイン)
  --concurrency CONCURRENCY, -c CONCURRENCY
                         スレッド数(httpxに渡されます) - デフォルト100 [デフォルト: 100]
  --timeout SECONDS, -t SECONDS
                         タイムアウト秒数(httpxに渡されます) - デフォルト3 [デフォルト: 3]
  --retries RETRIES, -r RETRIES
                         エラー時のリトライ回数(httpxに渡されます) - デフォルト2 [デフォルト: 2]
  --disablehttpx, -x     httpxを無効にし、内部IPアドレスに解決されるホストのリストのみを出力 - デフォルトfalse [デフォルト: false]
  --disableanalysis, -d  分析を無効にし、ホストのリストのみを出力 - デフォルトfalse [デフォルト: false]
  --help, -h             このヘルプを表示して終了

出力

surf を実行すると、SSRF候補が stdout に出力されますが、実行元のフォルダ内に2つのファイルも保存されます:

  • external-{timestamp}.txt - 外部解決されるが、自分のマシンからHTTPリクエストを送信できないホスト
  • internal-{timestamp}.txt - 内部解決され、明らかに自分のマシンからHTTPリクエストを送信できないホスト

これらの2つのファイルには、ターゲットで試すのに理想的なSSRF候補のホストリストが含まれています。外部ターゲットリストは、内部リストよりも有効である可能性が高くなります。

謝辞

内部では、このツールはHTTPプロービングに httpx を利用しています。httpxから返されるエラーを取得し、基本的な分析を実行して、最も有効なSSRF候補を特定します。

このツールは、HackerOne(H1-4420 2023)のライブハッキングイベントの成果として作成されました。

ツールをダウンロード