# Amazon Macie

{{#include ../../../banners/hacktricks-training.md}}

## Macie

Amazon Macieは、AWSアカウント内のデータを**自動的に検出、分類、特定する**ために設計されたサービスです。**機械学習**を活用してデータを継続的に監視・分析し、主に**cloud trail event**データやユーザー行動パターンを調査することで、異常または疑わしい活動を検出し、警告を発します。

Amazon Macieの主な機能：

1. **アクティブデータレビュー**：AWSアカウント内でさまざまなアクションが発生する際に、機械学習を用いてデータを積極的にレビューします。
2. **異常検出**：不規則な活動やアクセスパターンを特定し、潜在的なデータ露出リスクを軽減するための警告を生成します。
3. **継続的監視**：Amazon S3内の新しいデータを自動的に監視・検出し、機械学習と人工知能を用いて時間の経過とともにデータアクセスパターンに適応します。
4. **NLPによるデータ分類**：自然言語処理（NLP）を利用して異なるデータタイプを分類・解釈し、リスクスコアを割り当てて発見の優先順位を付けます。
5. **セキュリティ監視**：APIキー、シークレットキー、個人情報などのセキュリティに敏感なデータを特定し、データ漏洩を防ぐ手助けをします。

Amazon Macieは**地域サービス**であり、機能には'AWSMacieServiceCustomerSetupRole' IAMロールと有効なAWS CloudTrailが必要です。

### アラートシステム

Macieは、以下のような事前定義されたカテゴリにアラートを分類します：

- 匿名化されたアクセス
- データコンプライアンス
- 認証情報の喪失
- 権限の昇格
- ランサムウェア
- 疑わしいアクセスなど

これらのアラートは、効果的な対応と解決のための詳細な説明と結果の内訳を提供します。

### ダッシュボード機能

ダッシュボードは、データをさまざまなセクションに分類します：

- S3オブジェクト（時間範囲、ACL、PIIによる）
- 高リスクのCloudTrailイベント/ユーザー
- アクティビティの場所
- CloudTrailユーザーIDタイプなど。

### ユーザー分類

ユーザーは、API呼び出しのリスクレベルに基づいて階層に分類されます：

- **プラチナ**：高リスクのAPI呼び出し、しばしば管理者権限を持つ。
- **ゴールド**：インフラ関連のAPI呼び出し。
- **シルバー**：中リスクのAPI呼び出し。
- **ブロンズ**：低リスクのAPI呼び出し。

### IDタイプ

IDタイプには、Root、IAMユーザー、仮想ロール、フェデレーテッドユーザー、AWSアカウント、AWSサービスが含まれ、リクエストのソースを示します。

### データ分類

データ分類には以下が含まれます：

- コンテンツタイプ：検出されたコンテンツタイプに基づく。
- ファイル拡張子：ファイル拡張子に基づく。
- テーマ：ファイル内のキーワードによって分類。
- 正規表現：特定の正規表現パターンに基づいて分類。

これらのカテゴリの中で最も高いリスクがファイルの最終リスクレベルを決定します。

### 研究と分析

Amazon Macieの研究機能は、すべてのMacieデータに対してカスタムクエリを実行し、詳細な分析を可能にします。フィルターにはCloudTrailデータ、S3バケットプロパティ、S3オブジェクトが含まれます。さらに、他のアカウントを招待してAmazon Macieを共有することをサポートし、共同データ管理とセキュリティ監視を促進します。

## AWSコンソールでの発見のリスト表示

特定のS3バケットをスキャンして秘密や機密データを探した後、発見が生成され、コンソールに表示されます。十分な権限を持つ認可されたユーザーは、各ジョブのこれらの発見を表示およびリスト化できます。

<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />


## 秘密の明示

Amazon Macieは、検出された秘密を平文形式で表示する機能を提供します。この機能は、侵害されたデータの特定に役立ちます。ただし、秘密を平文で表示することは、セキュリティ上の懸念から一般的にはベストプラクティスとは見なされません。なぜなら、機密情報が露出する可能性があるからです。

<img width="596" alt="Screenshot 2025-02-10 at 19 13 53" src="https://github.com/user-attachments/assets/31c40c29-0bba-429b-8b86-4e214d1aef66" />

<img width="1154" alt="Screenshot 2025-02-10 at 19 15 11" src="https://github.com/user-attachments/assets/df616e56-a11a-41da-ac69-0bea37d143a5" />

### 列挙
```bash
# Get buckets
aws macie2 describe-buckets

# Org config
aws macie2 describe-organization-configuration

# Get admin account (if any)
aws macie2 get-administrator-account
aws macie2 list-organization-admin-accounts # Run from the management account of the org

# Get macie account members (run this from the admin account)
aws macie2 list-members

# Check if automated sensitive data discovey is enabled
aws macie2 get-automated-discovery-configuration

# Get findings
aws macie2 list-findings
aws macie2 get-findings --finding-ids <ids>
aws macie2 list-findings-filters
aws macie2 get -findings-filters --id <id>

# Get allow lists
aws macie2 list-allow-lists
aws macie2 get-allow-list --id <id>

# Get different info
aws macie2 list-classification-jobs
aws macie2 describe-classification-job --job-id <Job_ID>
aws macie2 list-classification-scopes
aws macie2 list-custom-data-identifiers
aws macie2 get-custom-data-identifier --id <Identifier_ID>

# Retrieve account details and statistics
aws macie2 get-macie-session
aws macie2 get-usage-statistic
```
### Privesc

{{#ref}}
../aws-privilege-escalation/aws-macie-privesc/README.md
{{#endref}}

### Post Exploitation

> [!TIP]
> 攻撃者の視点から見ると、このサービスは攻撃者を検出するためではなく、保存されたファイル内の機密情報を検出するために作られています。したがって、このサービスは**攻撃者がバケット内の機密情報を見つけるのを助けるかもしれません**。\
> しかし、攻撃者は被害者がアラートを受け取るのを防ぎ、その情報をより簡単に盗むために、これを妨害することにも興味があるかもしれません。

TODO: PRs are welcome!

## References

- [https://cloudacademy.com/blog/introducing-aws-security-hub/](https://cloudacademy.com/blog/introducing-aws-security-hub/)


{{#include ../../../banners/hacktricks-training.md}}
