レッドチーム戦術
MITRE ATT&CK フレームワークに基づく敵対者シミュレーションの原則です。
1. MITRE ATT&CK のフェーズ
攻撃ライフサイクル
RECONNAISSANCE → INITIAL ACCESS → EXECUTION → PERSISTENCE
↓ ↓ ↓ ↓
PRIVILEGE ESC → DEFENSE EVASION → CRED ACCESS → DISCOVERY
↓ ↓ ↓ ↓
LATERAL MOVEMENT → COLLECTION → C2 → EXFILTRATION → IMPACT
フェーズの目的
| フェーズ | 目的 |
|---|
| Recon | 攻撃対象領域を把握する |
| Initial Access | 最初の足がかりを得る |
| Execution | 対象上でコードを実行する |
| Persistence | 再起動後も維持する |
| Privilege Escalation | 管理者/root 権限を得る |
| Defense Evasion | 検知を回避する |
| Credential Access | 認証情報を収集する |
| Discovery | 内部ネットワークを把握する |
| Lateral Movement | 他のシステムへ広げる |
| Collection | 対象のデータを収集する |
| C2 | コマンドチャネルを維持する |
| Exfiltration | データを持ち出す |
2. 偵察の原則
パッシブとアクティブ
| 種類 | トレードオフ |
|---|
| Passive | 対象との接触なし、得られる情報は限定的 |
| Active | 直接接触する、検知リスクが高い |
情報の対象
| カテゴリ | 価値 |
|---|
| 技術スタック | 攻撃ベクトルの選定 |
| 従業員情報 | ソーシャルエンジニアリング |
| ネットワーク範囲 | スキャンの範囲 |
| サードパーティ | サプライチェーン攻撃 |
3. 初期アクセスのベクトル
選定基準
| ベクトル | 使用するタイミング |
|---|
| Phishing | 人が標的、メールへのアクセスがある |
| Public exploits | 脆弱なサービスが公開されている |
| Valid credentials | 漏えいまたは解読されている |
| Supply chain | サードパーティ経由のアクセス |
4. 権限昇格の原則
Windows の対象
| チェック項目 | 機会 |
|---|
| 引用符で囲まれていないサービスパス | パスへの書き込み |
| 弱いサービス権限 | サービスの変更 |
| トークン特権 | SeDebug などの悪用 |
| 保存された認証情報 | 収集 |
Linux の対象
| チェック項目 | 機会 |
|---|
| SUID バイナリ | 所有者として実行 |
| sudo の設定ミス | コマンド実行 |
| カーネルの脆弱性 | カーネルエクスプロイト |
| Cron ジョブ | 書き込み可能なスクリプト |
5. 防御回避の原則
主な手法
| 手法 | 目的 |
|---|
| LOLBins | 正規のツールを利用する |
| Obfuscation | 悪意のあるコードを隠す |
| Timestomping | ファイルの変更を隠す |
| Log clearing | 証拠を削除する |
運用上のセキュリティ
- 営業時間内に作業する
- 正規のトラフィックパターンを模倣する
- 暗号化されたチャネルを使用する
- 通常の挙動に溶け込む
6. 横展開の原則
認証情報の種類
| 種類 | 用途 |
|---|
| Password | 標準的な認証 |
| Hash | Pass-the-hash |
| Ticket | Pass-the-ticket |
| Certificate | 証明書による認証 |
移動経路
- 管理共有
- リモートサービス(RDP、SSH、WinRM)
- 内部サービスの悪用
7. Active Directory への攻撃
攻撃のカテゴリ
| 攻撃 | 対象 |
|---|
| Kerberoasting | サービスアカウントのパスワード |
| AS-REP Roasting | 事前認証がないアカウント |
| DCSync | ドメインの認証情報 |
| Golden Ticket | 永続的なドメインアクセス |
8. レポートの原則
攻撃の経緯
攻撃チェーン全体を文書化してください:
- 初期アクセスをどのように得たか
- どのような手法を使用したか
- どの目的を達成したか
- どこで検知が失敗したか
検知のギャップ
成功した手法ごとに:
- 本来は何が検知すべきだったか?
- なぜ検知が機能しなかったか?
- 検知をどのように改善するか
9. 倫理的な境界
常に守ること
- 範囲内にとどまる
- 影響を最小限に抑える
- 実際の脅威が見つかった場合は直ちに報告する
- すべての作業を文書化する
決して行わないこと
- 本番データを破壊する
- サービス妨害を引き起こす(範囲が定められている場合を除く)
- 概念実証の範囲を超えてアクセスする
- 機密データを保持する
10. アンチパターン
| ❌ やってはいけないこと | ✅ 行うべきこと |
|---|
| 性急にエクスプロイトへ進む | 手法に従う |
| 損害を与える | 影響を最小限に抑える |
| 報告を省く | すべてを文書化する |
| 範囲を無視する | 境界内にとどまる |
Remember: レッドチームは防御を向上させるために攻撃者をシミュレートするのであり、害を与えるためではありません。