AWS - CloudFront Enum

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

CloudFront

CloudFrontはAWSのコンテンツ配信ネットワークであり、世界中のエッジロケーションを介して静的および動的コンテンツの配信を高速化します。Amazon CloudFrontを介してホストしているコンテンツをリクエストすると、リクエストは最も低い遅延時間で提供される最寄りのエッジロケーションにルーティングされ、最高のパフォーマンスを提供します。CloudFrontアクセスログが有効になっていると、ウェブサイトや配信にアクセスを要求する各ユーザーからのリクエストを記録できます。S3アクセスログと同様に、これらのログもAmazon S3に格納されて耐久性と永続性のあるストレージとして使用されます。ログを有効にするためには料金はかかりませんが、ログはS3に保存されるため、S3が使用するストレージに対して料金が発生します。

ログファイルは一定期間のデータをキャプチャし、その配信用にAmazon CloudFrontに受信されるリクエストの量に応じて生成されるログファイルの量が異なります。これらのログファイルはS3に作成または書き込まれないことを知っておくことが重要です。S3は、ログファイルがいっぱいになったら配信される場所であるだけです。Amazon CloudFrontはこれらのログをS3に配信する準備ができるまでログを保持します。再度、これらのログファイルのサイズに応じて、この配信には1時間から24時間かかる場合があります。

デフォルトではCookieログ記録は無効になっていますが、有効にすることができます。

関数

CloudFrontで関数を作成できます。これらの関数は、cloudfrontでエンドポイントを持ち、宣言されたNodeJSコードを実行します。このコードは、AWSが管理するマシンで実行されるマシン内のサンドボックスで実行されます(下位のOSに脱出するにはサンドボックスバイパスが必要です)。

関数はユーザーのAWSアカウントで実行されないため、IAMロールが添付されていないため、この機能を悪用して直接的な権限昇格はできません。

列挙

aws cloudfront list-distributions
aws cloudfront get-distribution --id <id> # Just get 1
aws cloudfront get-distribution-config --id <id>

aws cloudfront list-functions
aws cloudfront get-function --name TestFunction function_code.js

aws cloudfront list-distributions | jq ".DistributionList.Items[] | .Id, .Origins.Items[].Id, .Origins.Items[].DomainName, .AliasICPRecordals[].CNAME"

認証されていないアクセス

pageAWS - Cloudfront Unauthenticated Enum

ポストエクスプロイテーション

pageAWS - CloudFront Post Exploitation
ゼロからヒーローまでのAWSハッキングを学ぶ htARTE (HackTricks AWS Red Team Expert)!

HackTricks をサポートする他の方法:

最終更新