Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws

This commit is contained in:
Translator
2025-10-06 23:07:47 +00:00
parent 75a3b1136a
commit bbcdc1b895
13 changed files with 911 additions and 90 deletions

View File

@@ -4,32 +4,82 @@
## Lambda
詳細については、次を確認してください:
For more information check:
{{#ref}}
../../aws-services/aws-lambda-enum.md
{{#endref}}
### Lambdaの資格情報を抽出する
### Exfilrtate Lambda Credentials
Lambdaは、実行時に資格情報を注入するために環境変数を使用します。れらにアクセスできる場合`/proc/self/environ`を読み取るか、脆弱な関数自体を使用することによって)、自分で使用することができます。これらはデフォルトの変数名 `AWS_SESSION_TOKEN``AWS_SECRET_ACCESS_KEY`および `AWS_ACCESS_KEY_ID`存在します。
Lambdaはランタイムで環境変数を使って資格情報を注入します。もしそれらにアクセスできれば`/proc/self/environ` を読む、または脆弱な関数自体を用するなど)、その資格情報を利用できます。これらはデフォルトの変数名 `AWS_SESSION_TOKEN``AWS_SECRET_ACCESS_KEY``AWS_ACCESS_KEY_ID`格納されます。
デフォルトでは、これらはCloudWatchロググループに書き込むアクセス権を持ちます(その名前は `AWS_LAMBDA_LOG_GROUP_NAME`保存されています)、さらに任意のロググループ作成することもできますが、Lambda関数はその意図された使用に基づいてより多くの権限が割り当てられていることがよくあります。
デフォルトでは、これらの資格情報は cloudwatchロググループ名前は `AWS_LAMBDA_LOG_GROUP_NAME`格納)への書き込みや任意のロググループ作成が可能です。加えて、Lambda関数は用途に応じてさらに多くの権限が割り当てられていることが多いです。
### 他のLambdaURLリクエストを盗む
### Steal Others Lambda URL Requests
攻撃者がLambda内でRCEを取得することができれば、他のユーザーのHTTPリクエストをLambdaから盗むことができます。リクエストに機密情報クッキー、資格情報などが含まれている場合、それを盗むことができます。
If an attacker somehow manage to get RCE inside a Lambda he will be able to steal other users HTTP requests to the lambda. If the requests contain sensitive information (cookies, credentials...) he will be able to steal them.
{{#ref}}
aws-warm-lambda-persistence.md
{{#endref}}
### 他のLambdaURLリクエストと拡張リクエストを盗む
### Steal Others Lambda URL Requests & Extensions Requests
Lambda Layersを悪用することで、拡張機能を悪用しLambdaに持続させるだけでなく、リクエストを盗んだり変更したりすることも可能です。
Lambda Layers を悪用すると、extensions を悪用しLambda内に永続化し、リクエストの窃取や改竄を行うことも可能です。
{{#ref}}
../../aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
{{#endref}}
### AWS Lambda VPC Egress Bypass
空の VpcConfigSubnetIds=[], SecurityGroupIds=[]で設定を更新することで、Lambda関数を制限されたVPCから外へ強制的に出すことができます。そうすると関数はLambda管理のネットワークプレーンで実行され、アウトバウンドのインターネットアクセスを回復し、NATのないプライベートVPCサブネットで課される送信制御を回避します。
{{#ref}}
aws-lambda-vpc-egress-bypass.md
{{#endref}}
### AWS Lambda Runtime Pinning/Rollback Abuse
`lambda:PutRuntimeManagementConfig` を悪用して関数を特定のランタイムバージョンに固定Manualしたり、更新を凍結FunctionUpdateしたりします。これにより悪意ある layer/wrapper と互換性を維持し、脆弱な旧ランタイムにとどめて exploitation や長期的な永続化を助けることができます。
{{#ref}}
aws-lambda-runtime-pinning-abuse.md
{{#endref}}
### AWS Lambda Log Siphon via LoggingConfig.LogGroup Redirection
`lambda:UpdateFunctionConfiguration` の高度なログ設定を悪用して、関数のログを攻撃者が指定した CloudWatch Logs のロググループにリダイレクトできます。コードや実行ロールを変更する必要はありません(ほとんどの Lambda ロールは `AWSLambdaBasicExecutionRole` 経由で既に `logs:CreateLogGroup/CreateLogStream/PutLogEvents` を含んでいます)。関数が秘密情報やリクエストボディを出力したり、スタックトレースでクラッシュした場合、新しいロググループからそれらを収集できます。
{{#ref}}
aws-lambda-loggingconfig-redirection.md
{{#endref}}
### AWS - Lambda Function URL Public Exposure
Function URL の AuthType を NONE に切り替え、lambda:InvokeFunctionUrl を全員に付与するリソースベースポリシーをアタッチすることで、プライベートな Lambda Function URL を認証不要の公開エンドポイントにできます。これにより内部関数の匿名実行が可能になり、機密性の高いバックエンド処理が露出する可能性があります。
{{#ref}}
aws-lambda-function-url-public-exposure.md
{{#endref}}
### AWS Lambda Event Source Mapping Target Hijack
`UpdateEventSourceMapping` を悪用して既存の Event Source Mapping (ESM) のターゲットLambda関数を変更すると、DynamoDB Streams、Kinesis、または SQS からのレコードが攻撃者管理下の関数に配信されます。これによりプロデューサーや元の関数コードに触れることなく、ライブデータを密かに迂回させられます。
{{#ref}}
aws-lambda-event-source-mapping-target-hijack.md
{{#endref}}
### AWS Lambda EFS Mount Injection data exfiltration
`lambda:UpdateFunctionConfiguration` を悪用して既存の EFS Access Point を Lambda にアタッチし、マウントされたパスからファイルを列挙/読み取りする簡単なコードをデプロイすることで、関数が以前アクセスできなかった共有の秘密情報や設定を持ち出せます。
{{#ref}}
aws-lambda-efs-mount-injection.md
{{#endref}}
{{#include ../../../../banners/hacktricks-training.md}}