1. 始めに
こんにちは、morioka12 です。
本稿では、バグバウンティなどの脆弱性調査でよく使われる Burp Suite にある拡張機能で、おすすめの Extensions を10個紹介します。
免責事項
本稿の内容は、セキュリティに関する知見を広く共有する目的で執筆されており、悪用行為を推奨するものではありません。
想定読者
- セキュリティ初学者・学生
- 特に Web Security の学習をしている方
- バグバウンティに興味がある方
- (脆弱性調査をしている方)
注意点
紹介するツールの中には、ファジング(総当たり)による列挙や検証が含まれています。
総当たりを行うツールは、対象に負荷がかかったり、悪影響を与えるリクエストを投げる可能性があるため、十分に注意する必要があります。
もし、総当たりを行うツールを利用する場合は、対象の規約(スキャンツールの利用, レート制限など)を十分に確認して、規約に従った上で慎重に実行してください。
ツールを実行する対象が「本番環境」ということを忘れずに、倫理観を持って脆弱性を探しましょう。
2. Burp Extensions
Burp Suite の Extension は、拡張機能として Burp の Extensions タブからインストールしてカスタムすることができます。
Extension は、Java・Python・Ruby で作られていて、自作してセットすることで利用することも可能です。
2.1 Logger++
Logger++ は、Burp Suite 内の全ての機能からのリクエスト・レスポンスを記録して、一覧表示することができます。
デフォルトの機能である Proxy タブの history では、Scanner や Repeater などのログを記録して表示することができないため、Logger++ タブで一括して全てのログを確認することが可能です。
また、全てのログに対して検索したり、CSV 形式でファイル保存するなども可能です。
2.2 Active Scan++ (Pro)
Active Scan++ は、Active scan や Passive scan のスキャン機能を拡張することができます。
Active scan を利用する場合は、Active Scan++ によって、より多くのパターンでスキャンすることが可能です。
利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Do active scan」から実行することができます。
注意点として、Active scan は総当たりによるスキャンのため、十分に注意して利用してください。
2.3 Param Miner
Param Miner は、Web アプリケーションで非表示になっている GET パラメーターやヘッダー、Cookie などを検出することができます。
検出するロジックとしては、一般的によく使われるパラメーター名のリストを送信して、レスポンスの変化から検出しています。
これにより、Reflected XSS や Web Cache Poisoning などに有効的に使えるパラメーターを見つけられる可能性があります。
利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「Param Miner」から実行することができます。
注意点として、Param Miner は総当たりによる列挙のため、十分に注意して利用してください。
2.4 Autorize
Autorize は、認証・認可の検証に役立つことができます。
認証の検証では、認証情報を含む Cookie を使わずに全てのリクエストを繰り返したりして、認証情報なしでアクセスできるか検出することが可能です。
認可の検証では、低い権限を持つユーザーの Cookie の情報を渡すことで、高い権限のユーザーがアクセス可能な全てのリクエストに対して、低い権限のユーザーでもアクセス可能かを検出することが可能です。
また、IDOR (Insecure Direct Object Reference) のような認可制御の不備も怪しい箇所を一定選別することも可能です。
利用する際は、Autorize タブから実行することができます。
2.5 403 Bypasser (Pro)
403 Bypasser は、「403 Forbidden Error」のアクセス制御の回避を手軽に検証することができます。
利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「403 Bypasser」から実行することができます。
注意点として、403 Bypasser は総当たりによる検証のため、十分に注意して利用してください。
2.6 JS Miner (Pro)
JS Miner は、JavaScript や JSON などの静的ファイルから興味深い情報を検出することができます。
主にエンドポイントやシークレットな情報と思われる内容を自動で検出することが可能です。
詳しく利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「JS Miner」から実行することができます。
2.7 Backslash Powered Scanner (Pro)
Backslash Powered Scanner は、サーバーサイドに対する Injection の脆弱性に対して様々なアプローチを検証することができます。
主に、WAF の回避やフィルタリングの回避などを検証することが可能です。
利用する際は、Active scan の拡張として実行することができます。
2.8 Software Vulnerability Scanner (Pro)
Software Vulnerability Scanner は、検出されたソフトウェアのバージョンを自動で特定することができます。
そして、特定したソフトウェアのバージョンから「https://vulners.com/」の API を利用して既知の脆弱性(CVE)があった場合は、それも合わせて確認することが可能です。
2.9 InQL - GraphQL Scanner
InQL は、GraphQL のエンドポイントに対してスキーマなどを分析することができます。
これにより、GraphQL のエンドポイントの列挙や認可制御の不備などを有効的に確認することが可能です。
利用する際は、 InQL タブから実行することができます。
2.10 SAML Raider
SAML Raider は、SAML の実装に対して脆弱性検証することができます。
特に SAML 認証のメッセージの情報を確認したり、署名を改ざんしたり、手軽に検証することが可能です。
3. その他
OpenAI
Burp Extensions で OpenAI を取り入れた Extension もいくつか存在します。
ReconAIzer
burpgpt
Burp Extensions の開発
Burp の Extensions を作成する場合は、公式が公開している Java 製の API (Montoya API) を活用すると、楽に作成することができます。
詳しくは、以下をご覧ください。
burp-resources-ja.webappsec.jp
mitmproxy
mitmproxy とは、無料で使えるオープンソースな対話型のプロキシツールです。
mitmproxy は、Python 製で簡単にプラグインやスクリプトを書くことができます。
また、Burp Suite よりツールは重くなく、手軽に使うことができます。
詳しくは、以下をご覧ください。
バグバウンティ入門(始め方)
バグバウンティの始め方については、以下のブログで紹介しているため、よければこちらもご覧ください。
参考ドキュメント・コメント
Burp Ex
— Godfather Orwa 🇯🇴 (@GodfatherOrwa) November 25, 2023
403 Bypasser
5GC API Parser
Active Scan++
Backslash Powered Scanner
CO2
IP Rotate
J2EEScan
JS Link Finder
JS Miner
Logger++
Log Viewer
GAP
Distribute Damage
IIS Tilde
Look Over There
Param Miner
Software Vulnerability Scanner
SAML Raider
Autorize
Encode IP
Asset Discovery https://t.co/vWmqO9ZVPl
4. 終わりに
本稿では、バグバウンティなどの脆弱性調査でよく使われる Burp Suite にある拡張機能で、おすすめの Extensions を10個紹介しました。
他にも、色々な Extensions があるため、自分に合ったものを調べたり、使ってみたりしてみてください。
また、自分が使いやすい Extensions を作って利用している方もいたりするため、 興味があれば自作してみるのも良いと思います。
ここまでお読みいただきありがとうございました。