Amazon GuardDuty が ECS の 拡張脅威検出に対応したため検出させてみた #AWSreInvent

Amazon GuardDuty が ECS の 拡張脅威検出に対応したため検出させてみた #AWSreInvent

2026.01.01

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

ついに re:Invent 2025 で Amazon ECS の拡張脅威検出 (Extended Threat Detection) が登場しました。

https://dev.classmethod.jp/articles/amazon-guardduty-ecs-ec2-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

https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-attack-sequence-finding-types.html#attack-sequence-ecs-compromised-cluster

やってみた

実際に脅威を検出してみましょう。

テストイベント

「環境を準備するのが大変だなぁ」と言う方は、テストイベントの作成もオススメです。

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"

https://dev.classmethod.jp/articles/create-a-single-sample-findings-in-guardduty/

実際に動かす

実イベントを見たい人用です。

ECS Exec が機能する Amazon Linux 2023 のコンテナを 2 台用意しました。

ビットコイン周り (1 台目)

1 台目のコンテナはビットコイン周りの Findings を検出させる用途で利用しました。

以下のブログに沿って、BitcoinTool.BBitcoinTool.B!DNS 周りの Findings を検出させます。

dnf -y install bind-utils
nslookup pool.supportxmr.com
curl pool.supportxmr.com

https://dev.classmethod.jp/articles/guardduty-findings-test-cryptocurrency/

リバースシェル/権限昇格周り

もう 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

https://github.com/awslabs/amazon-guardduty-tester/tree/master/lib/common/testResources/scenarios/runtime

検出結果を見てみる

スクリプトの実行が終わったので、検出結果を見てみましょう。

テストイベント側

まずは、テストイベント側を見てみましょう。内容が異なる 2 つ Findings が作成されました。

2025-12-31-12-45-45@2x.png

2025-12-31-12-45-49@2x.png

3 つの Signal が検知された Findings

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

2025-12-31-14-33-30@2x.png

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

2025-12-31-14-15-57@2x.png

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 のサンプルです。

2025-12-31-14-34-48@2x.png

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

2025-12-31-14-17-55@2x.png

要約内容は以下のとおりです。

ご提示いただいた 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 に含まれていました。

2025-12-31-15-31-12@2x.png

2025-12-31-15-31-15@2x.png

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

2025-12-31-15-32-50@2x.png

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

2025-12-31-15-35-03@2x.png

要約は以下のとおりです。

ご提示いただいた 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_)でした!

この記事をシェアする

FacebookHatena blogX

関連記事