はじめに
本記事は、Burp Suite 2023.3のアーリーアダプター版リリースで追加された Collaborator payloads in Intruder attacks
の紹介記事になります。
原文をご確認されたい方は、公式のリリースノートをご覧ください。
※ 注意: Burp Suite Community Editionでは、Collaborator機能が使えないため本機能も使用できません。
アップデート内容
このリリースには、Burp Intruder以外のアップデートもありますがIntruder関連に絞ると次の内容が含まれています。
- Collaborator ペイロードを生成し、設定したペイロードポジションに挿入する新しいペイロード タイプができました。
- 指定されたプレースホルダー正規表現をコラボレーター ペイロードに置き換えるペイロード処理ルール。デフォルトのプレースホルダーの正規表現は、定義済みのペイロード リスト内のプレースホルダーとすでに一致しています。
- Intruder 攻撃によるコラボレーターの相互作用は、[Collaborator] タブではなく、[Intruder Results] ウィンドウに表示されます。
試してみる
まずは新しいペイロードタイプを確認してみましょう。
適当なリクエストをIntruderに送り、PayloadsタブのPayload setsを確認します。
※ 2023年3月時点では、最も新しいPayloads typeなので、プルダウンの一番下にあります。
Payload settings[Collaborator payloads]設定項目から、生成するペイロード数が設定できます。 Continue indefinitely
を選択すると中断するまで送り続けます。
送信間隔は[Resource pool]タブから設定してください。デフォルト設定の場合、送信間隔のディレイ無しで同時に10リクエスト送信するため注意してください!
その下の Include Collaborator server location
チェックは、ONにすると oastify.com
が設定された状態のpayloadが生成されます。OFFの場合は、その逆でpayloadを識別するためのサブドメインしか生成されません。
設定項目の確認ができたので実際に送信してみます。
今回は手元に簡単なサーバーを建てて検証してみました。url
クエリストリングにURLを設定してアクセスすると、URLに対するHTTPリクエストを送る処理をします。
Viewのタブに Collaborator DNS interactionの1~4 と Collaborator HTTP interactionがあることが分かります。
DNS interactionはAレコードとAAAAレコードをそれぞれ2回ずつリクエスト受信していることを確認できます。
Collaborator HTTP interactionはリクエストと返したレスポンスが確認できます。
UAからpythonのrequestsライブラリで送信されたリクエストであることが分かりますね。
まとめ
簡単に機能紹介しました。Collaboratorを使うことで、外部サービスと連携するような機能に対してより効果的に診断することができます。脆弱性であればBlind系の脆弱性やSSRF, RFIといった項目の診断がより簡単に診断できるようになったので嬉しいですね。
また、CollaboratorはDNS lookup, HTTPリクエストのほかにもSMTPリクエストを受信できますが今回は割愛しています。サーバーが対応しているので多分問題はないでしょう。
それではよいBurpライフを!