blog of morioka12

morioka12のブログ (Security Blog)

バグバウンティで使えるおすすめの Burp Extensions 10選

1. 始めに

こんにちは、morioka12 です。

本稿では、バグバウンティなどの脆弱性調査でよく使われる Burp Suite にある拡張機能で、おすすめの Extensions を10個紹介します。


免責事項

本稿の内容は、セキュリティに関する知見を広く共有する目的で執筆されており、悪用行為を推奨するものではありません。

想定読者

  • セキュリティ初学者・学生
    • 特に Web Security の学習をしている方
  • バグバウンティに興味がある方
  • (脆弱性調査をしている方)

注意点

紹介するツールの中には、ファジング(総当たり)による列挙や検証が含まれています。

総当たりを行うツールは、対象に負荷がかかったり、悪影響を与えるリクエストを投げる可能性があるため、十分に注意する必要があります。

もし、総当たりを行うツールを利用する場合は、対象の規約(スキャンツールの利用, レート制限など)を十分に確認して、規約に従った上で慎重に実行してください。

ツールを実行する対象が「本番環境」ということを忘れずに、倫理観を持って脆弱性を探しましょう。


2. Burp Extensions

Burp Suite の Extension は、拡張機能として Burp の Extensions タブからインストールしてカスタムすることができます。

Extension は、JavaPythonRuby で作られていて、自作してセットすることで利用することも可能です。

portswigger.net

portswigger.net

github.com

https://burp-resources-ja.webappsec.jp/Documentation/burp/documentation/desktop/extensions/index.html


2.1 Logger++

Logger++ は、Burp Suite 内の全ての機能からのリクエスト・レスポンスを記録して、一覧表示することができます。

デフォルトの機能である Proxy タブの history では、Scanner や Repeater などのログを記録して表示することができないため、Logger++ タブで一括して全てのログを確認することが可能です。

また、全てのログに対して検索したり、CSV 形式でファイル保存するなども可能です。

https://raw.githubusercontent.com/PortSwigger/logger-plus-plus/master/images/filters.png

portswigger.net

github.com


2.2 Active Scan++ (Pro)

Active Scan++ は、Active scan や Passive scan のスキャン機能を拡張することができます。

Active scan を利用する場合は、Active Scan++ によって、より多くのパターンでスキャンすることが可能です。

利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Do active scan」から実行することができます。

注意点として、Active scan は総当たりによるスキャンのため、十分に注意して利用してください。

portswigger.net

github.com


2.3 Param Miner

Param Miner は、Web アプリケーションで非表示になっている GET パラメーターやヘッダー、Cookie などを検出することができます。

検出するロジックとしては、一般的によく使われるパラメーター名のリストを送信して、レスポンスの変化から検出しています。

これにより、Reflected XSS や Web Cache Poisoning などに有効的に使えるパラメーターを見つけられる可能性があります。

利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「Param Miner」から実行することができます。

注意点として、Param Miner は総当たりによる列挙のため、十分に注意して利用してください。

portswigger.net

github.com

portswigger.net

portswigger.net


2.4 Autorize

Autorize は、認証・認可の検証に役立つことができます。

認証の検証では、認証情報を含む Cookie を使わずに全てのリクエストを繰り返したりして、認証情報なしでアクセスできるか検出することが可能です。

認可の検証では、低い権限を持つユーザーの Cookie の情報を渡すことで、高い権限のユーザーがアクセス可能な全てのリクエストに対して、低い権限のユーザーでもアクセス可能かを検出することが可能です。

また、IDOR (Insecure Direct Object Reference) のような認可制御の不備も怪しい箇所を一定選別することも可能です。

利用する際は、Autorize タブから実行することができます。

https://raw.githubusercontent.com/Quitten/Autorize/master/Autorizev1.3.png

portswigger.net

github.com


2.5 403 Bypasser (Pro)

403 Bypasser は、「403 Forbidden Error」のアクセス制御の回避を手軽に検証することができます。

利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「403 Bypasser」から実行することができます。

注意点として、403 Bypasser は総当たりによる検証のため、十分に注意して利用してください。

https://raw.githubusercontent.com/Gilzy/403Bypasser/c7d53696089ed2e80191c003fd992a21dd9858f4/Sample%20Issue.jpg

portswigger.net

github.com


2.6 JS Miner (Pro)

JS Miner は、JavaScriptJSON などの静的ファイルから興味深い情報を検出することができます。

主にエンドポイントやシークレットな情報と思われる内容を自動で検出することが可能です。

詳しく利用する際は、Proxy タブの history などから対象のリクエストを右クリックして、「Extensions」にある「JS Miner」から実行することができます。

portswigger.net

github.com


2.7 Backslash Powered Scanner (Pro)

Backslash Powered Scanner は、サーバーサイドに対する Injection の脆弱性に対して様々なアプローチを検証することができます。

主に、WAF の回避やフィルタリングの回避などを検証することが可能です。

利用する際は、Active scan の拡張として実行することができます。

portswigger.net

github.com

portswigger.net


2.8 Software Vulnerability Scanner (Pro)

Software Vulnerability Scanner は、検出されたソフトウェアのバージョンを自動で特定することができます。

そして、特定したソフトウェアのバージョンから「https://vulners.com/」の API を利用して既知の脆弱性(CVE)があった場合は、それも合わせて確認することが可能です。

portswigger.net

github.com


2.9 InQL - GraphQL Scanner

InQL は、GraphQL のエンドポイントに対してスキーマなどを分析することができます。

これにより、GraphQL のエンドポイントの列挙や認可制御の不備などを有効的に確認することが可能です。

利用する際は、 InQL タブから実行することができます。

portswigger.net

github.com


2.10 SAML Raider

SAML Raider は、SAML の実装に対して脆弱性検証することができます。

特に SAML 認証のメッセージの情報を確認したり、署名を改ざんしたり、手軽に検証することが可能です。

https://raw.githubusercontent.com/PortSwigger/saml-raider/master/doc/saml_attacks.png

portswigger.net

github.com


3. その他

OpenAI

Burp Extensions で OpenAI を取り入れた Extension もいくつか存在します。

ReconAIzer

github.com

burpgpt

github.com


Burp Extensions の開発

Burp の Extensions を作成する場合は、公式が公開している Java 製の API (Montoya API) を活用すると、楽に作成することができます。

詳しくは、以下をご覧ください。

portswigger.net

github.com

portswigger.net

burp-resources-ja.webappsec.jp

https://burp-resources-ja.webappsec.jp/Documentation/burp/documentation/desktop/extensions/creating/index.html


mitmproxy

mitmproxy とは、無料で使えるオープンソースな対話型のプロキシツールです。

mitmproxy は、Python 製で簡単にプラグインスクリプトを書くことができます。

また、Burp Suite よりツールは重くなく、手軽に使うことができます。

詳しくは、以下をご覧ください。

mitmproxy.org

github.com


バグバウンティ入門(始め方)

バグバウンティの始め方については、以下のブログで紹介しているため、よければこちらもご覧ください。

scgajge12.hatenablog.com


参考ドキュメント・コメント

github.com

portswigger.net

thehackerstuff.com

offsec.tools


4. 終わりに

本稿では、バグバウンティなどの脆弱性調査でよく使われる Burp Suite にある拡張機能で、おすすめの Extensions を10個紹介しました。

他にも、色々な Extensions があるため、自分に合ったものを調べたり、使ってみたりしてみてください。

また、自分が使いやすい Extensions を作って利用している方もいたりするため、 興味があれば自作してみるのも良いと思います。

ここまでお読みいただきありがとうございました。