技術共有

【ネットワークセキュリティ】SSRFのMicrosoft Azure機能

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

許可なく転載することは禁止されています。

記事ディレクトリ

文章

Azure Functions は、アプリケーションの実行に必要なすべてのインフラストラクチャとリソースをオンデマンドで提供するサーバーレス コンピューティング サービスです。 Web API の構築、データベース変更への対応、IoT データ ストリームの処理、メッセージ キューの管理、その他多くの目的に使用できます。

まず関数アプリケーションを作成します。

画像

関数コードを作成します。

画像

「機能」をクリックした後、次の構成ページに入ります。

画像

サンプル名を入力し、テンプレートを選択します。

画像

関数アプリが作成されたら、[コード + テスト] を選択します。クライアントから送信されるさまざまなリクエストには、次の 2 つの特別なリクエストが含まれます。

1、https://functions.azure.com/api/passthrough 
2、https://functions.azure.com/api/debug
  • 1
  • 2

画像

GitHub ライブラリを検索すると、キーコードは次のようになります。

画像

このコードに対応するリクエスト パッケージからわかるように、ブラウザはカスタマイズされた関数 (ブロブトリガー1.dat) GET リクエストを送信しました:

画像

ドキュメントを読むと、次の 2 つのパラメーターは function.azure.com への認証に使用され、要求を実行するために必要であることがわかります。

画像

これは、これら 2 つのヘッダーを削除した後は、任意のリクエストを送信できることを意味します。

次に、URL を変更し、Azure Functions サーバーのアドレスを取得しました。

画像

https://www.nba.com にリクエストを送信すると、応答は次のようになります。

画像

リクエストの実行には関数アプリケーションが使用されていることがわかります。

同時に、https://www.infobyip.com/ にリクエストを送信することで IP アドレスに関する情報が取得され、エコーされた User-Agent は axios/0.21.4 であるため、この関数は Node JS モジュールです。

画像

関数プログラムの機能や特徴を明確にすると、さらに活用することができます。

エクスプロイト

IMDS サービスにアクセスしようとしましたが、アクセスできませんでした。ただし、開いている可能性のある内部ポートを列挙することはできます41692

画像

さらに列挙すると、以下に示すように、内部エンドポイントに到達できることが確認されました。

画像
]

さらに列挙すると、以下に示すように、内部エンドポイントに到達できることが確認されました。

画像

元のソース: https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/