はじめに
Command and Control(以下 C2)Framework は、
侵入後(Post-Exploitation)の活動を支配する中枢システムである。
初学者にとって C2 は難解に見えがちだが、
本質はそれほど複雑ではない。
極端に単純化すると、C2 Framework とは
「大量の Reverse Shell を同時に・安全に・長期間管理できる仕組み」
である。
この記事では、
Netcat レベルの理解から出発し、
なぜ現代の攻撃で C2 Framework が不可欠なのかを
構造的に解説する。
1. C2 Framework の基本的な考え方
Netcat Listener との比較
多くの人が最初に触れる遠隔操作は Netcat だろう。
- Netcat Listener:待ち受け
- Reverse Shell:接続してコマンド実行
これは 最小構成の C2 と言える。
しかし、Netcat には以下が存在しない:
- セッション管理
- 暗号化
- 再接続
- 複数ホストの同時制御
- 自動化
- Post-Exploitation 支援機能
C2 Framework はこれらをすべて内包する。
2. C2 Framework を構成する要素
2.1 C2 Server(司令塔)
C2 Server はすべての中心である。
- エージェントの接続管理
- タスク配布
- 結果の収集
- オペレーター操作の受付
オペレーターは 被害端末と直接通信しない。
常に C2 Server を経由する。
2.2 Agent / Payload(実行部)
Agent は侵害された端末上で動作するプログラムである。
特徴:
- C2 Server に定期的に通信(Beacon)
- 独自の疑似コマンドを持つ
- ファイル転送、プロセス操作などを抽象化
これは単なる Shell ではなく
フル機能のリモート管理クライアントである。
2.3 Listener(受信口)
Listener は C2 Server 上で稼働する通信待受部。
主なプロトコル:
- HTTP / HTTPS
- DNS
- SMB
- TCP
複数 Listener を用意することで、
- 冗長化
- 環境適応
が可能になる。
2.4 Beacon(定期通信)
Beacon とは Agent が C2 に定期的に接続する挙動を指す。
この Beacon パターンこそが、
SOC や EDR が最も注目するポイントである。
3. Beacon 隠蔽技術
3.1 Sleep Timer
固定間隔での通信は非常に検知されやすい。
10:00:05
10:00:10
10:00:15
このような挙動は即座に疑われる。
3.2 Jitter(揺らぎ)
Jitter は Sleep Time にランダム性を加える。
import random
sleep = 60
jitter = random.randint(-30, 30)
sleep += jitter
これにより Beacon は:
- 不規則
- 人間の通信に近い
- 検知難度が上昇
Jitter は OPSEC の基本技術である。
4. Payload の種類
4.1 Stageless Payload
- Agent 全体を含む
- 実行直後に Beacon 開始
- 単純・安定
欠点:
- サイズが大きい
- 検知されやすい
4.2 Staged Payload
2段階構成:
- Dropper 実行
- C2 から Stage 2 を取得
- メモリ上で展開
利点:
- 小さな初期コード
- AV 回避が容易
- 柔軟な更新
現代の攻撃では Staged が主流である。
5. Payload フォーマットの多様性
C2 は EXE に限らない。
例:
- PowerShell
- HTA
- JScript / VBScript
- Office マクロ
- DLL ロード
**「どう侵入するか」ではなく
「どう実行されるか」**が重要になる。
6. Module システム
6.1 Module とは
C2 Framework の拡張機構。
- 言語は Framework に依存
- 機能を後付け可能
6.2 Post Exploitation Module
侵入後の活動全般:
- AD 情報収集(SharpHound)
- Credential Dump
- 権限昇格
- 永続化
6.3 Pivoting Module
侵害端末を中継点にする技術。
例:
- SMB Beacon
- Named Pipe Pivot
これにより、
外部から直接到達できないネットワークにも侵入可能となる。
7. インターネット上での隠蔽
7.1 Domain Fronting
CDN を利用して通信先を隠す。
- 表向き:Cloudflare
- 実際:C2 Server
TLS により中身は見えない。
7.2 C2 Profile(Selective Response)
- 特定ヘッダがある通信 → C2 応答
- 通常通信 → 無害な Web ページ
これにより:
- スキャン耐性
- 分析回避
が実現される。
8. なぜ C2 Framework が重要なのか
Red Team 視点
- 長期滞在
- 横展開
- 組織的キャンペーン
- OPSEC 維持
Blue Team 視点
- Beacon 検知
- 挙動分析
- インフラ追跡
- 通信パターン理解
侵入は一瞬、C2 は継続。
攻撃の本質は C2 にある。
おわりに
Command and Control Framework は
単なる「攻撃ツール」ではない。
それは
侵入後の活動を設計・管理・隠蔽するための統合基盤である。
C2 を理解することは、
- 攻撃を理解すること
- 防御を理解すること
の両方に直結する。