mcpField
R
red-team

red-team

github.com/alirezarezvaniセキュリティ28.9k833 回インストール2 日前に更新
リポジトリ

red-team について

書面承認を得た演習を行うセキュリティチーム向けの、レッドチーム計画手法とツールです。MITRE ATT&CKの技術、初期アクセスレベル、重要資産を基にスコア付き攻撃計画を作成し、要所となる技術とOPSECリスクを特定します。

主な機能

  1. 01キルチェーン段階別の攻撃計画
  2. 02実行難度と検知リスクによる技術評価
  3. 03重要資産への要所となる技術の特定
  4. 04OPSECリスク評価
  5. 05初期アクセスレベルに応じた計画制約

活用シーン

  1. 01承認済みレッドチーム演習の計画
  2. 02重要資産に至る攻撃経路の分析
  3. 03検知ルールと監視の優先順位付け

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill red-team

インストール後、Claude Code で/red-teamを入力して読み込まれたか確認します。

同梱ファイルreferences/attack-path-methodology.mdscripts/engagement_planner.py

詳細

レッドチーム

認可済みの攻撃的セキュリティシミュレーション向けに、レッドチームエンゲージメントの計画と攻撃経路の分析を行うスキルです。これは脆弱性スキャン(security-pen-testing を参照)でもインシデント対応(incident-response を参照)でもありません。検知、対応、制御の有効性を検証するための、体系的な敵対者シミュレーションを目的としています。


目次


概要

このスキルでできること

このスキルでは、レッドチームエンゲージメントの計画に使用する手法とツールを提供します。MITRE ATT&CK テクニックの選択、アクセスレベル、最重要資産の標的に基づいて、体系的な攻撃計画を作成できます。テクニックの所要工数と検知リスクをスコアリングし、キルチェーンフェーズを組み立て、チョークポイントを特定し、OPSEC リスクにフラグを付けます。

他のセキュリティスキルとの違い
スキル焦点アプローチ
red-team(このスキル)敵対者シミュレーション攻撃的 — 体系的な攻撃の計画と実行
security-pen-testing脆弱性の発見攻撃的 — 特定の弱点を体系的に悪用
threat-detection攻撃者の活動の発見プロアクティブ — テレメトリ内の TTP を検知
incident-response進行中のインシデント管理リアクティブ — 確認済みインシデントの封じ込めと調査
認可要件

ここで説明するレッドチーム活動には、すべて書面による認可が必要です。 これには、署名済みのルール・オブ・エンゲージメント(RoE)文書、明確に定義されたスコープ、明示的な経営幹部の承認が含まれます。engagement_planner.py ツールは、--authorized フラグが指定されていない場合、出力を生成しません。これらのテクニックを無許可で使用することは、CFAA、Computer Misuse Act、および世界各国の同等の法律に違反します。


エンゲージメントプランナーツール

engagement_planner.py ツールは、テクニックの選択、アクセスレベル、最重要資産の標的に基づき、スコアリング済みの攻撃計画をキルチェーンの順序で作成します。

# Basic engagement plan — external access, specific techniques
python3 scripts/engagement_planner.py \
  --techniques T1059,T1078,T1003 \
  --access-level external \
  --authorized --json

# Internal network access with crown jewel targeting
python3 scripts/engagement_planner.py \
  --techniques T1059,T1078,T1021,T1550,T1003 \
  --access-level internal \
  --crown-jewels "Database,Active Directory,Payment Systems" \
  --authorized --json

# Credentialed (assumed breach) scenario with scale
python3 scripts/engagement_planner.py \
  --techniques T1059,T1078,T1021,T1550,T1003,T1486,T1048 \
  --access-level credentialed \
  --crown-jewels "Domain Controller,S3 Data Lake" \
  --target-count 50 \
  --authorized --json

# List all 29 supported MITRE ATT&CK techniques
python3 scripts/engagement_planner.py --list-techniques
アクセスレベルの定義
レベル開始時の位置利用可能なテクニック
external内部へのアクセスなし — インターネットのみ外部向けのテクニックのみ(T1190、T1566 など)
internalネットワークへの足がかりあり — 認証情報なし内部偵察とラテラルムーブメントの準備
credentialed有効な認証情報を取得済み権限昇格、ラテラルムーブメント、影響を含むキルチェーン全体
終了コード
コード意味
0エンゲージメント計画の生成に成功
1認可がない、またはテクニックが無効
2スコープ違反 — テクニックがアクセスレベルの制約範囲外

キルチェーンフェーズの手法

エンゲージメントプランナーは、テクニックを8つのキルチェーンフェーズに分類し、それに応じて実行計画を並べ替えます。

キルチェーンフェーズの順序
フェーズ順序MITRE 戦術例
偵察1TA0043T1595、T1596、T1598
リソース開発2TA0042T1583、T1588
初期アクセス3TA0001T1190、T1566、T1078
実行4TA0002T1059、T1047、T1204
永続化5TA0003T1053、T1543、T1136
権限昇格6TA0004T1055、T1548、T1134
認証情報アクセス7TA0006T1003、T1110、T1558
ラテラルムーブメント8TA0008T1021、T1550、T1534
収集9TA0009T1074、T1560、T1114
データ持ち出し10TA0010T1048、T1041、T1567
影響11TA0040T1486、T1491、T1498
フェーズ実行の原則

エンゲージメントのスコープで想定侵害(後のフェーズへのスキップ)が指定されていない限り、次のフェーズに進む前に各フェーズを完了する必要があります。横展開を試みる前に永続化を省略しないでください。永続化により、単一の足掛かりが検知されて削除された場合でも、運用の継続性を確保できます。


テクニックのスコアリングと優先順位付け

テクニックは、労力(検知されずに実行する難易度)に基づいてスコア化され、エンゲージメント計画で優先順位が付けられます。

労力スコアの計算式
effort_score = detection_risk × (len(prerequisites) + 1)

労力スコアが低いほど、検知を引き起こさずに実行しやすくなります。

テクニックのスコアリング基準
テクニック検知リスク前提条件労力スコアMITRE ID
PowerShell の実行0.7initial_access1.4T1059.001
スケジュールタスクによる永続化0.5execution1.0T1053.005
Pass-the-Hash0.6credential_access, internal_network1.8T1550.002
LSASS 認証情報ダンプ0.8local_admin1.6T1003.001
スピアフィッシングリンク0.4なし0.4T1566.001
ランサムウェアの展開0.9persistence, lateral_movement2.7T1486

チョークポイント分析

チョークポイントとは、クラウンジュエル資産に到達する複数の経路で必要となるテクニックです。チョークポイントとなるテクニックを検知すると、それを通るすべての攻撃経路を検知できます。

チョークポイントの特定

エンゲージメントプランナーは、credential_access および privilege_escalation 戦術に含まれ、クラウンジュエルを標的とする複数の後続テクニックの前提条件となるテクニックを見つけて、チョークポイントを特定します。

チョークポイントとなるテクニックを中心に、検知ルールの開発と監視の密度を優先してください。チョークポイントを強化することで、防御効果が倍増します。

環境別の一般的なチョークポイント
環境の種類一般的なチョークポイント検知の優先度
Active Directory ドメインT1003(認証情報ダンプ)、T1558(Kerberoasting)最高
AWS 環境T1078.004(クラウドアカウント)、iam:PassRole チェーン最高
ハイブリッドクラウドT1550.002(PtH)、T1021.006(WinRM)高
コンテナ化されたアプリT1610(コンテナのデプロイ)、T1611(コンテナエスケープ)高

方法の詳細:references/attack-path-methodology.md


OPSEC リスク評価

OPSEC リスク項目は、検知を引き起こしたり、永続的な痕跡を残したりする可能性の高い操作を特定します。

OPSEC リスクのカテゴリ
戦術主な OPSEC リスク緩和策
認証情報アクセスLSASS メモリへのアクセスが EDR を作動させる可能な場合は、LSASS を使用しない手法(DCSync、Kerberoasting)を使用する
実行PowerShell のコマンドラインログ記録スコープ内で AMSI バイパスまたは代替の実行方法を使用する
横展開NTLM による横展開でイベント 4624 タイプ 3 が生成される可能な場合は Kerberos を使用し、ネットワーク経由の NTLM を避ける
永続化スケジュールタスクによってイベント 4698 が生成されるスコープ内で、監視が比較的少ない永続化メカニズムを使用する
持ち出し大量のアウトバウンド転送が DLP を作動させるステルス性が必要な場合は、データを段階的に準備し、低速で持ち出す
各フェーズの開始前に確認する OPSEC チェックリスト
  1. このテクニックは RoE に従ってスコープ内にありますか?
  2. ブルーチームが積極的に監視しているログを生成しますか?
  3. 同じ目的を達成できる、より検知されにくい代替手段はありますか?
  4. 検知された場合、作戦全体が明らかになりますか、それとも現在の足掛かりだけが明らかになりますか?
  5. 演習後の削除に向けて、クリーンアップ対象の痕跡が定義されていますか?

クラウンジュエルの標的設定

クラウンジュエル資産とは、レッドチームエンゲージメントの成功基準を定める、価値の高い標的です。

重要資産の分類
重要資産の種類対象を示す指標攻撃経路
ドメインコントローラーAD DS、NTDS.dit、SYSVOLKerberoasting → DCSync → Golden Ticket
データベースサーバー本番環境の SQL、NoSQL、データウェアハウスラテラルムーブメント → DBA アカウント → データの一時保管
決済システムPCI の対象範囲のネットワーク、カードデータ保管庫ネットワーク経由のピボット → サービスアカウント → 情報の持ち出し
ソースコードリポジトリ社内 Git、ビルドシステムVPN → 社内 git → コード署名キー
クラウド管理プレーンAWS 管理コンソール、IAM 管理者フィッシング → 認証情報 → AssumeRole チェーン

重要資産の定義は RoE で合意します。エンゲージメントの成功は、見つかった脆弱性の数ではなく、レッドチームが定義済みの重要資産に到達したかどうかで測定します。


攻撃経路の分析手法

攻撃経路分析では、開始時のアクセスレベルから各重要資産に至る、実行可能なすべての経路を特定します。

経路のスコアリング

各経路は次の項目でスコアリングします。

  • 総労力スコア(手法ごとの労力スコアの合計)
  • チョークポイント数(経路が通過するチョークポイントの数)
  • 検知確率(手法ごとの検知リスクの積)

労力が少なく、チョークポイントも少ない経路が、攻撃者にとって最も抵抗の少ない経路です。

攻撃経路グラフの構築
external
  └─ T1566.001 (spearphishing) → initial_access
       └─ T1059.001 (PowerShell) → execution
            └─ T1003.001 (LSASS dump) → credential_access [CHOKE POINT]
                 └─ T1550.002 (Pass-the-Hash) → lateral_movement
                      └─ T1078.002 (domain account) → privilege_escalation
                           └─ Crown Jewel: Domain Controller

スコアリングアルゴリズム全体、チョークポイントの重み付け、および労力対影響のマトリックスについては、references/attack-path-methodology.md を参照してください。


ワークフロー

ワークフロー 1:迅速なエンゲージメント範囲の策定(30 分)

特定のターゲットを対象とした、重点を絞ったレッドチーム演習の範囲を策定します。

# 1. Generate initial technique list from kill-chain coverage gaps
python3 scripts/engagement_planner.py --list-techniques

# 2. Build plan for external assumed-no-access scenario
python3 scripts/engagement_planner.py \
  --techniques T1566,T1190,T1059,T1003,T1021 \
  --access-level external \
  --crown-jewels "Database Server" \
  --authorized --json

# 3. Review choke_points and opsec_risks in output
# 4. Present kill-chain phases to stakeholders for scope approval

判断:チョークポイントがすでに検知ルールでカバーされている場合は、ギャップに注力します。カバーされていない場合は、それらが演習で最も価値の高い対象です。

ワークフロー 2:レッドチームエンゲージメント全体(複数週間)

第 1 週 — 計画:

  1. 関係者と重要資産および成功基準を定義する
  2. 範囲、期間、範囲外の除外事項を定めた RoE に署名する
  3. engagement_planner.py でエンゲージメント計画を作成する
  4. 各フェーズの OPSEC リスクを確認する

第 2 週 — 実行(外部フェーズ):

  1. 偵察とターゲットのプロファイリング
  2. 初期アクセスの試行(フィッシング、公開サーバーの悪用)
  3. 実行した各手法をタイムスタンプとともに記録する
  4. ブルーチームの対応状況を検証するため、すべての検知イベントを記録する

第 3 週 — 実行(内部フェーズ):

  1. 初期アクセスを取得した場合は永続化を確立する
  2. 認証情報へのアクセス手法(チョークポイント)を実行する
  3. 重要資産に向けてラテラルムーブメントを行う
  4. 重要資産に到達した日時と方法を記録する

第 4 週 — 報告:

  1. 実行した手法、検知率、到達した重要資産などの調査結果をまとめる
  2. 調査結果を検知のギャップに対応付ける
  3. チョークポイントへの影響に基づいて優先順位を付けた修正案を作成する
  4. セキュリティ責任者に結果を報告する
ワークフロー 3:侵害済みを想定した机上演習

迅速な検知テストのため、認証情報が侵害されたシナリオをシミュレーションします。

# Assumed breach — credentialed access starting position
python3 scripts/engagement_planner.py \
  --techniques T1059,T1078,T1021,T1550,T1003,T1048 \
  --access-level credentialed \
  --crown-jewels "Active Directory,S3 Data Bucket" \
  --target-count 20 \
  --authorized --json | jq '.phases, .choke_points, .opsec_risks'

# Run across multiple access levels to compare path options
for level in external internal credentialed; do
  echo "=== ${level} ==="
  python3 scripts/engagement_planner.py \
    --techniques T1059,T1078,T1003,T1021 \
    --access-level "${level}" \
    --authorized --json | jq '.total_effort_score, .phases | keys'
done

アンチパターン

  1. 書面による許可なしで実施する — 所有していないシステム、またはテストの明示的な許可を得ていないシステムに対する無許可のレッドチーム活動は、犯罪行為です。--authorized フラグは、チェックを回避するためにツールを実行するだけではなく、実際に署名済みの RoE を反映する必要があります。許可は実行前に得ておかなければなりません。
  2. キルチェーンのフェーズ順序を無視する — 永続化を確立せずにラテラルムーブメントへ直接進むと、検知された時点で足掛かり全体が失われます。キルチェーンのフェーズ順序に従ってください。各フェーズは次のフェーズの基盤となります。
  3. 開始前にクラウンジュエルを定義しない — 成功基準が定義されていないエンゲージメントは、際限のない脆弱性探索へと逸れていきます。最初の手法を実行する前に、クラウンジュエルと成功条件を RoE で合意しておく必要があります。
  4. 計画で OPSEC リスクを無視する — レッドチーム演習では、ブルーチームの検知能力をテストします。検知される手法をすべて意図的に避けると、検知範囲を検証できない非現実的なエンゲージメントになります。OPSEC リスクは、検知への露出を把握するために活用し、完全に避けるために使わないでください。
  5. 実行した手法をリアルタイムで記録しない — 実行内容を後から記録しても、信頼性に欠けます。各手法、タイムスタンプ、結果を発生時に記録してください。エンゲージメント後の報告は、その時点で記録された情報に基づいて作成する必要があります。
  6. 演習後にアーティファクトをクリーンアップしない — 永続化の仕組み、新規アカウント、変更した設定、配置したデータは、エンゲージメントの完了後に削除する必要があります。レッドチームのアーティファクトを残すと、恒久的なセキュリティリスクとなり、実際の攻撃者の活動と混同されるおそれがあります。
  7. 最も抵抗の少ない経路だけを使う — 攻撃者は状況に応じて手法を変えます。検知を回避できる可能性のある、より手間のかかる経路も含め、複数の攻撃経路をテストしてください。最も簡単な経路が検知されることを検証するのは必要ですが、それだけでは不十分です。

相互参照

スキル関連性
threat-detectionレッドチームの手法を実行すると、脅威ハンティングの仮説を検証するための現実的な TTP が生成されます
incident-responseレッドチームの活動はインシデント対応手順を発動させる必要があります。検知と対応の質は、主要な成功指標です
cloud-securityクラウドのセキュリティ態勢に関する調査結果(IAM の設定ミス、S3 の公開など)は、レッドチームの攻撃経路の標的となります
security-pen-testingペネトレーションテストは特定の脆弱性の悪用に重点を置きます。一方、レッドチームはクラウンジュエルを狙うエンドツーエンドのキルチェーンシミュレーションに重点を置きます

コメント