Shikata Ga Nai

Private? There is no such things.

An unknown Linux secret that turned SSRF to OS Command injectionを訳してみた

Hello there, ('ω')ノ

 

SSRFをOSコマンドインジェクションに変えた未知のLinuxシークレットを。

 

脆弱性:

 SSRF

 コマンドインジェクション

 

記事:

 https://secureitmania.medium.com/an-unknown-linux-secret-that-turned-ssrf-to-os-command-injection-6fe2f4edc202

 

SSRF:

 SSRFは、Server-Side RequestForgeryの略で。

 SSRFは、Webアプリケーションの脆弱性で。

 これを使用すると攻撃者は、サーバ側でHTTPリクエストを実行できて。

 攻撃者はサーバにそれ自体への接続を確立させる可能性があって。

 また、組織のインフラ内でWebベースのサービスと対話することもできて。


コマンドインジェクション:

 OSコマンドインジェクションは、Webセキュリティの脆弱性で。

 これにより、攻撃者はサーバ上で任意のOSコマンドを実行できて。

 通常、アプリケーションとそのすべてのデータを完全に侵害して。


問題の見つけかた:

 テスト中にAPIエンドポイントが「url」パラメータ値に基づいて。

 PDFファイルを生成するのを見つけて。

 URLを値として取るパラメータを見つけるたびにSSRFの脆弱性を直接探して。

  https://www.example.com/api/v03/create_pdf?

  url=http://testsite.com&cookies=a&server=web

 

collaborator interactionで探索:

 「url」パラメータ値を<burp-collaborator-link>に置き換えて。

 パラメータ検証がサーバ側で行われるかどうかを確認して。

 1分後、Burp CollaboratorでのDNS、HTTPの相互作用をいくつか見つけて。

  https://www.example.com/api/v03/create_pdf?

  url=http://&cookies=a&server=web

 

インラインコマンド実行を試行:

 HTTPインタラクションがBurpCollaboratorで発生した場合は。

 次に、インラインOSコマンドインジェクションを使用して。

 下の画像を注意深く見ると。

 

f:id:ThisIsOne:20210729221801p:plain

 

whoamiペイロードを<burp-collaborator-link>に追加してから。

エンドポイントをリクエストして。

コラボレータのダッシュボードで「whoami」コマンドの実行が確認できて。

 

問題の影響を証明するために、「/etc/passwd」を表示する必要があって。

cat /etc/passwdを実行すると。

サーバ側では、スペース文字がバリデーションチェックで要求は拒否されて。

 

SSRFからOSへのコマンドインジェクション

f:id:ThisIsOne:20210729221834p:plain

 

「スペース」をバイパスする秘訣として。

下記が、Linux環境でスペース文字をバイパスするためペイロードで。

 cat</etc/passwd

 {cat,/etc/passwd}

 cat$IFS/etc/passwd

 

しかし、上記のペイロードは機能しなくて。

数回の試行錯誤の後、下記のペイロードでコマンドを実行することができて。

 cat${IFS}/etc/passwd

 

SSRFからOSへのコマンドインジェクション

f:id:ThisIsOne:20210729221907p:plain

 

参照:

https://speakerdeck.com/aditya45/hunting-headers-for-ssrf

https://docs.google.com/presentation/d/1JdIjHHPsFSgLbaJcHmMkE904jmwPM4xdhEuwhy2ebvo/htmlpresent

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection

 

Best regards, (^^ゞ