
Amazon GuardDuty が ECS の 拡張脅威検出に対応したため検出させてみた #AWSreInvent
こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。
ついに re:Invent 2025 で Amazon ECS の拡張脅威検出 (Extended Threat Detection) が登場しました。
Amazon ECS の Extended Threat Detection
今回新たに AttackSequence:ECS/CompromisedCluster という、Finding が登場し、Amazon ECS クラスター全体のアクティビティをまとめて閲覧できる様になりました。
今まで ECS Runtime Monitoring は、ECS タスク単位の脅威にフォーカスしていましたが、これらをクラスター全体でまとめてみられるのは、非常に嬉しいのではないでしょうか。
なお、以下のデータソースとして脅威を検出します。
- Runtime Monitoring for Amazon ECS Fargate
- Runtime Monitoring for EC2 Instances in Amazon ECS
- GuardDuty Malware Protection for Amazon EC2
やってみた
実際に脅威を検出してみましょう。
テストイベント
「環境を準備するのが大変だなぁ」と言う方は、テストイベントの作成もオススメです。
Extended Threat Detection の Findings でも、テストイベントを発行できます。
aws guardduty create-sample-findings \
--detector-id $(aws guardduty list-detectors --query 'DetectorIds[0]' --output text) \
--finding-types "AttackSequence:ECS/CompromisedCluster"
実際に動かす
実イベントを見たい人用です。
ECS Exec が機能する Amazon Linux 2023 のコンテナを 2 台用意しました。
ビットコイン周り (1 台目)
1 台目のコンテナはビットコイン周りの Findings を検出させる用途で利用しました。
以下のブログに沿って、BitcoinTool.B や BitcoinTool.B!DNS 周りの Findings を検出させます。
dnf -y install bind-utils
nslookup pool.supportxmr.com
curl pool.supportxmr.com
リバースシェル/権限昇格周り
もう 1 台はリバースシェルや権限昇格周りの検出用途で利用します。
権限昇格を匂わせるために TestUser を作成します。
dnf install -y shadow-utils
useradd TestUser
usermod -p 'P@ssw0rd' TestUser
awslabs で公開されている amazon-guardduty-tester のスクリプトを流用します。
dnf install -y git
dnf install -y nc nmap
git clone https://github.com/awslabs/amazon-guardduty-tester.git
cd amazon-guardduty-tester/lib/common/testResources/scenarios/runtime
sh ReverseShell.sh
検出結果を見てみる
スクリプトの実行が終わったので、検出結果を見てみましょう。
テストイベント側
まずは、テストイベント側を見てみましょう。内容が異なる 2 つ Findings が作成されました。


3 つの Signal が検知された Findings
3 の Signal が検知された Findings の方は AWS Fargate 上で動くコンテナのサンプル Findings でした。

Execution, Command and Control, Impact が連なって検出されたと記載されています。

AI に要約させると以下の状況でした。
ご提示いただいた AWS GuardDuty の検出結果(JSON ファイル)は、ECS クラスターが侵害された可能性を示す**非常に深刻度が高い(Severity 9)**攻撃シーケンスの記録です。
このアラートの要約を以下のセクションに分けて報告します。
---
## 1. 検出の概要
- **タイトル**: Potential ECS cluster compromise of ecs-demo-cluster indicated by a sequence of actions.
- **深刻度**: **9 / 10 (Critical)**
- **対象リソース**:
- **ECS クラスター**: `ecs-demo-cluster`
- **AWS アカウント**: `111122223333`
- **リージョン**: `us-east-1`
- **発生日時**: 2025 年 12 月 31 日 03:29:08 (UTC)
---
## 2. 攻撃のタイムラインと構成信号
このアラートは、短期間に発生した以下の 3 つのシグナルを統合して「攻撃シーケンス」として認識しています。
1. **バックドア通信 (Backdoor:Runtime/C&CActivity.B)**
- コンテナが既知の**C&C(コマンド&コントロール)サーバー**と外部通信を行いました。
2. **仮想通貨マイニングツールの検出 (CryptoCurrency:Runtime/BitcoinTool.B)**
- ビットコイン関連の IP アドレス(1.2.3.4)への通信が確認されました。
3. **新規ライブラリのロード (Execution:Runtime/NewLibraryLoaded)**
- 実行中のコンテナ内で、通常は見られない新しい共有ライブラリがロードされました。
---
## 3. 確認された攻撃手法 (MITRE ATT&CK)
攻撃者は以下の戦術および手法を用いて活動しています。
- **戦術**: 実行 (Execution)、影響 (Impact)、権限昇格 (Privilege Escalation)、コマンド&コントロール (Command and Control)
- **主な手法**:
- **T1496 (Resource Hijacking)**: 仮想通貨マイニングによるリソースの乗っ取り。
- **T1071 (Application Layer Protocol)**: アプリケーション層プロトコルを用いた C&C 通信。
- **T1543**: コンテナサービスの変更。
- **T1129**: 共有モジュールの不正利用。
---
## 4. 証拠の詳細 (Evidence)
- **不審なプロセス**:
- `xmrig`(仮想通貨マイニング用バイナリ、パス: `/usr/share/xmrig`)
- `curl`, `touch` などの標準コマンドの不審な実行。
- **関与したコンテナイメージ**: `demo-container-image1`
- **不審な接続先**:
- IP: `10.0.0.1` (Tor の出口ノードとしての記録あり)
- IP: `1.2.3.4` (マイニングおよび C&C サーバー)
---
## 推奨される次のステップ
このアラートは、既にリソースが乗っ取られ(マイニング)、外部から操作されている可能性が高いことを示しています。
- **影響を受けた ECS タスクの即時停止**: 該当するタスク(ID: `90c32764...`)を停止し、再起動を防止してください。
- **コンテナイメージの調査**: `demo-container-image1` に脆弱性や不正なコードが混入していないか確認してください。
- **セキュリティグループの確認**: 外部への不要な通信(特に 33333 ポート等)が許可されていないか確認してください。
4 つの Signal が検知された Findings
続いて 4 つの Signal が検知された Findings の方です。こちらは EC2 上で動く ECS のサンプルです。

こちらは Command and Control, Impact のみ検出されたと記載されています。

要約内容は以下のとおりです。
ご提示いただいた 2 つ目の JSON ファイルも、AWS GuardDuty が検出した**極めて深刻(Severity 9)**な攻撃シーケンスの報告です。 1 つ目のファイルと似ていますが、今回は**「仮想通貨マイニング」に関連する具体的な通信(DNS クエリ)や IP アドレス**がより詳細に特定されています。
以下に要点をまとめます。
---
## 1. 検出の概要
- **タイトル**: ecs-demo-cluster における一連のアクションによる ECS クラスター侵害の可能性
- **深刻度**: **9 / 10 (Critical)**
- **対象クラスター**: `ecs-demo-cluster` (アカウント: `111122223333`)
- **検出された攻撃フェーズ**: 実行 (Execution)、影響 (Impact)、権限昇格 (Privilege Escalation)
---
## 2. 攻撃を構成する 4 つのシグナル
今回のシーケンスは、以下の 4 つの不審な動きに基づいています。
1. **不審な DNS クエリ**: マイニング関連ドメイン `crypto.guarddutyc2activityb.com` への問い合わせを確認。
2. **マイニングプログラムの実行**: 既知のマイニングツール `xmrig` の実行を検出。
3. **ビットコイン関連通信**: 既知のビットコイン関連 IP アドレス (`1.2.3.4`) との通信。
4. **C&C サーバへの通信**: 外部のコマンド&コントロール(C&C)サーバーへのアウトバウンド通信を検出。
---
## 3. 侵害の証拠と技術詳細
- **不審なプロセス**: `/usr/share/xmrig`、`/usr/bin/curl`、`/usr/bin/touch`
- **関与した接続先**:
- **IP アドレス**: `1.2.3.4` (マイニングおよび C&C)
- **Tor ノード**: `10.0.0.1` (匿名ネットワーク経由のアクセス)
- **対象リソース**: EC2 起動タイプの ECS タスク(タスク定義: `ec2-instance-test`)
---
## 4. 前回の報告との主な違い
前回のファイルと比較して、以下の点がより具体的になっています。
- **DNS レベルでの証拠**: マイニング専用ドメインへのアクセスが明確に記録されています。
- **シグナル数の増加**: 3 つから 4 つのシグナルに増えており、マイニング活動の証拠がより強固になっています。
- **インフラ形式**: 今回は FARGATE ではなく、**EC2 インスタンス上**で実行されているタスクが対象となっています。
---
### 推奨される対応
1. **該当タスクの強制停止**: `arn:aws:ecs:us-east-111122223333:task/default/90c32764...` を直ちに停止してください。
2. **ホスト EC2 の隔離**: このタスクが動いていた EC2 インスタンス (`i-a188560f` 等) を隔離し、詳細な調査を行ってください。
3. **認証情報のローテーション**: インスタンスやタスクに付与されていた IAM ロールの権限が不正利用された可能性があるため、認証情報の無効化・更新を検討してください。
スクリプト側
続いて実際にスクリプトで検出されたものを見てみましょう。
クラスターごとに Findings が出てくるのかな?と予想していたのですが、ブログを書く前に検証していた、別のクラスターも Findings に含まれていました。


また、クラスター内の ECS タスクもリソース内にカウントされていますね。

Attack sequence には想定通り、Execution (ReverseShell の実行), Privilege Escalation (useradd や usermod), Command and Control, Impact (マイニング周りの操作) が検出されていますね。

要約は以下のとおりです。
ご提示いただいた AWS GuardDuty の検出結果(JSON ファイル)を要約します。
このアラートは、**Amazon ECS クラスターが侵害された可能性**を示す、重要度「高(Severity: 9.0)」の攻撃シーケンス(一連の不審な挙動)を報告しています。
---
### ## 検出の概要
- **検出タイプ**: Potential ECS cluster compromise (AttackSequence:ECS/CompromisedCluster)
- **重要度**: 9.0 (High)
- **対象アカウント**: 123456789012
- **対象リソース**:
- **ECS クラスター**: `guardduty-extended-cluster` および `gd-extended-cluster`
- **タスク/コンテナ**: `busybox-td` など、計 3 つのタスクと 3 つのコンテナが影響を受けています
- **発生期間**: 2025 年 12 月 31 日 02:28:18 〜 05:02:44 (UTC)
---
### ### 観察された攻撃の証跡
GuardDuty は、以下の 4 つの MITRE アタック戦術にわたる、合計 9 つのシグナルを検出しました。
| 項目 | 内容 |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **実行 (Execution)** | リバースシェルの検出(`/amazon-guardduty-tester/.../reverseShell`など) |
| **権限昇格 (Privilege Escalation)** | `usermod`コマンドによる不審なアカウント操作(ロックされたユーザーの解除) |
| **指令・制御 (C2)** | 悪意のあるドメイン(`guarddutyc2activityb.com`)への DNS クエリ |
| **影響 (Impact)** | 仮想通貨マイニングに関連するドメイン(`supportxmr.com`)や IP アドレス(`15.235.229.127`等)への通信 |
---
### ### 検出された不審なプロセスと通信
- **関与したプロセス**:
- `usermod` (アカウント操作)
- `nslookup`, `curl` (偵察・通信)
- `1767149246-reve` (リバースシェル・スクリプト)
- **通信先 (一部)**:
- `15.235.229.127`, `15.235.229.148` (マイニング関連 IP)
- `pool.supportxmr.com` (マイニングプール)
> **注意**: この検出は、単一のイベントではなく、攻撃者がシステムに侵入し、権限を奪取してマイニングや外部通信を行うという一連のストーリー(攻撃シーケンス)として特定されています。
まとめ
以上、「Amazon GuardDuty が ECS の 拡張脅威検出に対応したため検出させてみた」でした。
今まで散らばっていた各 ECS タスクのアクティビティを、 1 つの Findings として時系列で終えるのは非常に便利ですよね。
また、Findings のまとまりがアカウント全体(クラスター別で分かれなかったため)なのも、侵害された範囲の特定に役立ちそうです。
クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!








