
ENDGAME C2 FRAMEWORK — プロフェッショナルなレッドチーム運用のためのAI搭載コマンド&コントロール
ENDGAME は、認可されたレッドチーム演習、ペネトレーションテスト、教育目的のセキュリティ研究のために構築された、プロフェッショナルなコマンド&コントロールフレームワークです。現実的な敵対者(アドバーサリ)のテクニックをシミュレートし、検知カバレッジを評価し、セキュリティチームが防御上のギャップを理解するのに役立つよう設計されています — 自然言語を実行コマンドに変換し、すべての結果を自動的に分析する組み込みの AIコンソール を備えています。
AI で作られ、人間が考え、指揮を執る。
🌐 endgamec2framework.com · 📄 ドキュメント



git clone https://github.com/endgamec2framework/endgame
cd endgame
./install.sh
更新するには ./install.sh を再実行してください — 最新のコードを取得して再ビルドし、証明書とオペレータープロファイルは保持されます。
完全なセットアップガイド: ドキュメント → インストール
ENDGAME の AIコンソール は、AI コパイロットをオペレーターのワークフローに直接組み込むファーストクラスの機能です。脇に貼り付けられたチャットボットではなく、エージェントターミナルと同じパネル内に存在し、C2 の全コマンドセットを把握し、ターゲットに関するリアルタイムのコンテキスト(ホスト名、OS、ユーザー、権限、トランスポート)を保持します。
🤖 タブが下部コンソールペインに開きます — 通常のターミナルタブと並んで表示されます


Ollama インスタンスで利用可能なモデルであればどれでも動作します。レッドチームのコンテキストでの推奨:
qwen3.6:latest — デフォルト · 高速 · 指示追従に優れるqwen3.6:35b-a3b-coding-mxfp8 — より大規模 · コード/コマンドの推論に強いdeepseek-r1:8b / deepseek-r1:32b — 推論モデル · 多段階の攻撃チェーンに強い✓ = 実装済み · 🔧 = 進行中 / 計画中 · — = 利用不可
Linux でのビルド(Linux ホストから — エージェントはネイティブにコンパイルされます):
# Go
GOOS=linux GOARCH=amd64 go build -o agent_linux .
# Rust
cargo build --release --target x86_64-unknown-linux-gnu
# C
make -f Makefile.linux AGENT_SERVER_URL=https://<c2>:<port>
# Nim
./build_linux.sh
エージェントのトランスポート: HTTP · HTTPS · mTLS · DNS · DoH · SMB パイプ · TCP
メッシュリレー: エージェントは HTTP または TCP ピボットとして登録できます。エージェントがチームサーバーへの直接接続を失うと(ビーコンの連続 3 回以上の失敗)、既知のピアへ自動的にフォールバックし、そのエージェントの既存トランスポートを介してビーコンを中継します。チームサーバーはすべてのビーコン応答でピアリストを配布するため、エージェントは常に最新のフォールバック先を保持できます。完全に分散化された P2P オーバーレイ(libp2p/DHT)とは異なり、ENDGAME のリレーパスはオペレーターが指定し、ログに記録されます — どのエージェントをピボットとして機能させるかを決めるのはオペレーターであり、リレーチェーンは常に明示的で、必要に応じて即座に停止できます。
回避: AMSI(VEH/DR0) · ETW ブラインド · NTDLL アンフック · Ekko XOR スリープマスキング · 間接システムコール(Hell's Gate) · スタックスプーフィング · API ハッシュ化(PEB ウォーク) · PPID スプーフィング · アンチサンドボックス · ヘッダー消去 · UDRL ファントム DLL · BLOCKDLLS · DNS カナリー焼失検知
インジェクション: リモートスレッド · APC early-bird · スレッドハイジャック · fork-and-run · ハロウィング
侵入後活動(Post-ex): スクリーンショット · キーロガー · クリップボード · LSASS ダンプ · トークン窃取 · UAC バイパス · 永続化
ネットワーク探索: ARP(MAC を返却、Windows では権限昇格不要) · ICMP ping スイープ · TCP プローブ — スキャンごとに選択可能
ラテラルムーブメント: psexec · smbexec · atexec · wmi · dcom · winrm · ssh
MITRE ATT&CK: 12 戦術にマッピングされた 50 以上のコマンド · Navigator レイヤーのエクスポート · GUI 内のテクニックマトリクス
コマンド、API リファレンス、IOC リスト、オペレーターガイドについては、完全なドキュメント を参照してください。
ENDGAME は、完全に分散化された P2P オーバーレイではなく、制御されたメッシュリレーを実装しています。リレーパスはオペレーターが指定します。どのエージェントをピボットとして機能させるかをオペレーターが選択し、リレーチェーンは明示的で、必要に応じて即時停止でき、ログに記録されます — エンタープライズファイアウォールが日常的にブロックする libp2p のような公的 DHT インフラストラクチャへの依存はありません。
クロスプラットフォームエージェント: 4 つのエージェントすべてが Windows と Linux をサポートするようになりました。Go エージェントはさらに macOS もサポートします。プラットフォーム固有の機能(Windows の回避、AMSI/ETW パッチ、Hell's Gate システムコール、スタックスプーフィング、トークン窃取、PE インジェクション)は Windows 専用であり、Linux ではコンパイル対象から除外されます。Linux ビルドには、完全なビーコン、シェル、ファイル操作、SOCKS5、ポートスキャン、永続化、資格情報収集、ピボット機能が保持されます。機能ごとの詳細は下記の プラットフォームサポートマトリクス を、Linux でのコンパイル方法は各エージェントディレクトリ内の build_linux.sh スクリプトを参照してください。
DNS カナリー: 各ペイロードビルドには、ビルドごとに一意のカナリーサブドメインが埋め込まれます。サンドボックスや AV スキャナーがバイナリを動的に解析すると、エージェントの起動時 DNS ルックアップが canary.<token>.<c2_domain> を解決します — C2 の権威 DNS サーバーがこれを傍受し — オペレーターはイベントストリーム経由でリアルタイムの焼失(burn)アラートを受信します。カナリーはデータベースでビルドごとに追跡され、再利用されることはありません。
間接システムコール + スタックスプーフィング(Nim): syscalls.nim は、Hell's Gate を介して実行時に SSN を解決し(ntdll スタブから mov eax,SSN を読み取る)、EDR によってパッチされたスタブには Halo's Gate をフォールバックとして使用します。ntdll .text に syscall;ret ガジェットと call rel32;ret ガジェットの両方が見つかると、エージェントは 110 バイトのスプーフィングスタブにアップグレードし、システムコールの直前に [RSP] へガジェットアドレスを配置します — これにより、EDR から見えるコールスタックがエージェントコードではなく ntdll 内部から発生しているように見えます。
API ハッシュ化(C): api_resolve.c は、DJB2 ハッシュと PEB の InLoadOrderModuleList ウォークを使用して、実行時に 33 個の機密性の高い WinAPI 関数を解決します。これらの関数はいずれもバイナリのインポートテーブルには出現しません。



HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon に保存されている平文の資格情報を特定します。エクスプロイトは不要です。
本ツールは、認可されたセキュリティテスト、教育目的、およびラボ環境でのみ使用してください。 明示的な書面による承認なしにシステムに対して使用することは違法であり、固く禁止されています。 本ソフトウェアを使用することにより、倫理的使用ポリシー に同意したものとみなされます。
EDR/AV 検知に関する Issue は開かないでください。デフォルトビルドには既知の IOC が含まれています — IOC ドキュメント を参照してください。オペレーターは、認可された演習ではカスタム証明書、ビルドフラグ、およびマリアブルプロファイルを使用して再コンパイルする必要があります。
| 機能 | 詳細 |
|---|
| コンソールペインに統合 | タブとして開く — フローティングモーダルなし、コンテキストスイッチなし |
| C2 の全コマンドを認識 | システムプロンプトには、利用可能なすべてのコマンド、エージェントの OS/アーキテクチャ/権限、トランスポート、現在のタスクキューが含まれる |
| ストリーミング応答 | モデルが生成する際にトークンがリアルタイムでストリーミングされる |
| 自動分析ループ | コマンド実行のたびに出力が自動的に AI に送り返され、解釈と次のステップの推奨が行われる |
| マルチセッション | 複数のエージェントに対して同時に AIコンソールを開ける — 各タブは独立したチャット履歴を保持する |
| プロバイダ非依存 | Ollama(ローカル、オフライン)または Anthropic Claude API のどちらでも動作 — AI タブで設定された方が使用される |
| 実行前の確認 | 提案されたすべてのコマンドには明示的なクリックが必要 — AI が自律的にタスクを送信することはない |
| コンポーネント | 概要 |
|---|
| サーバー | Go バイナリ · マルチオペレーター・チームサーバー · SQLite オペレーションログ · mTLS API :31337 · DNS カナリー焼失(burn)アラート |
| Web GUI | キルチェーングラフ(自動更新) · エージェントコンソール · AIコンソール · ルート(戦利品)マネージャー · AI アシスタント · マルチオペレーター |
| エージェント(Go) | Windows · Linux · macOS · 7 トランスポート · 完全な回避スイート · API ハッシュ化(PEB ウォーク、IAT から 22 関数) · Kerberos 操作 · インライン PE ローダー · CONFIG ランタイム · 約 13 MB |
| エージェント(Nim) | Windows · Linux · SMB パイプを含む 7 トランスポート · 間接システムコール(Hell's Gate) · スタックスプーフィング · NTDLL アンフック · API ハッシュ化(PEB ウォーク、IAT から 22 関数) · インライン PE ローダー · BOF + .NET CLR · キーロガー · SOCKS5 · ISHELL · ブラウザ資格情報 · ラテラルムーブメント · アンチサンドボックス · 約 1 MB |
| エージェント(Rust) | Windows · Linux(x64) · 7 トランスポート · 間接システムコール(Hell's Gate) · AMSI パッチ · スリープマスキング · API ハッシュ化 · スタックスプーフィング · NTDLL アンフック · アンチサンドボックス · 稼働時間 · DNS カナリー · Kerberos 操作 · インライン PE ローダー · BOF + .NET CLR · ISHELL · スクリーンウォッチ · 完全なインジェクションスイート · BLOCKDLLS · PEB スプーフ · ETW パッチ · ブラウザ資格情報 · キーロガー · SOCKS5 · ラテラルムーブメント(8 種類) · 約 507 KB |
| エージェント(C) | Windows · Linux(x64) · 7 トランスポート · EXE + DLL 形式 · API ハッシュ化(PEB ウォーク、IAT から 35 関数) · PPID スプーフィング · アンチサンドボックス · Kerberos 操作 · インライン PE ローダー · NTDLL アンフック · キーロガー · SOCKS5 · ISHELL · ブラウザ資格情報 · .NET CLR · BOF · ラテラルムーブメント · 約 130 KB |
| ローダー | C / Go / Nim / シェルコードスタブ |
| レポート | HTML · JSON · CSV · MITRE ATT&CK Navigator レイヤー · AI エグゼクティブサマリー |
| Go(Ekko) | Nim | Rust | C |
|---|
| プラットフォーム | Win · Linux · macOS | Win · Linux | Win · Linux | Win · Linux |
| サイズ | 約 13 MB | 約 1.2 MB | 約 507 KB | 約 130 KB |
| トランスポート | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP |
| DLL 形式 | ✓ | ✓ | ✓ | ✓ |
| シェル / ファイル操作 / システム情報 | ✓ | ✓ | ✓ | ✓ |
| アップロード / ダウンロード | ✓ | ✓ | ✓ | ✓ |
| スクリーンショット | ✓ | ✓ | ✓ | ✓ |
| スクリーンウォッチ(ライブ) | ✓ | ✓ | ✓ | ✓ |
| キーロガー | ✓ | ✓ | ✓ | ✓ |
| クリップボードモニター | ✓ | ✓ | ✓ | ✓ |
| LSASS ダンプ(MINIDUMP) | ✓ | ✓ | ✓ | ✓ |
| AMSI パッチ | ✓(VEH / DR0) | ✓ | ✓ xor-ret パッチ | ✓ |
| ETW ブラインド | ✓ | ✓ + NtSetInfoProcess | ✓ EtwEventWrite パッチ | ✓ |
| NTDLL アンフック | ✓ | ✓ | ✓ | ✓ |
| 間接システムコール | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate |
| スタックスプーフィング | ✓ call-preceded RET ガジェット | ✓ 110 バイトのスプーフィングスタブ | ✓ 110 バイトのスプーフィングスタブ | ✓ 110 バイトのスプーフィングスタブ |
| API ハッシュ化(IAT 除去) | ✓ DJB2 + PEB ウォーク · 22 関数 | ✓ DJB2 + PEB ウォーク · 22 関数 | ✓ DJB2 + PEB ウォーク · 21 関数 | ✓ DJB2 + PEB ウォーク · 35 関数 |
| スリープマスキング | ✓ Ekko XOR + NOACCESS | ✓ XOR 非実行セクション + NtDelayExecution | ✓ XOR + NtDelayExecution | ✓ XOR + NOACCESS |
| アンチサンドボックス | ✓ 12 項目チェックのスコアモデル | ✓ CPU/メモリ/ディスク/アイドルチェック(-d:SandboxChecks) | ✓ CPU/メモリ/ディスク/ユーザー名スコア | ✓ スコアモデル |
| CONFIG ランタイム | ✓ スリープ · ジッター · 稼働時間 · インジェクション方式 | ✓ スリープ · ジッター · 稼働時間 | ✓ スリープ · ジッター | ✓ スリープ · ジッター · 稼働時間 |
| 稼働時間ゲーティング | ✓ | ✓ | ✓ | ✓ |
| DNS カナリー | ✓ 起動時の焼失(burn)ルックアップ | ✓ 起動時の焼失(burn)ルックアップ | ✓ 起動時の焼失(burn)ルックアップ | ✓ 起動時の焼失(burn)ルックアップ |
| PE ヘッダー消去 | ✓ | ✓ | ✓ | ✓ |
| HWBP クリア | ✓ | ✓ | ✓ | ✓ |
| PPID スプーフィング | ✓ | ✓ | ✓ | ✓ |
| BLOCKDLLS / PEB スプーフ | ✓ | ✓ | ✓ | ✓ |
| EDR サイレンス(ETW/フック) | ✓ | ✓ | ✓ | ✓ |
| フック + HWBP 検出 | ✓ | ✓ | ✓ | ✓ |
| Kerberos(klist · ptt · purge) | ✓ LSA API | ✓ LSA API | ✓ LSA API | ✓ LSA API |
| インライン PE 実行 | ✓ フル PE64 ローダー | ✓ フル PE64 ローダー | ✓ フル PE64 ローダー | ✓ フル PE64 ローダー |
| プロセスインジェクション | ✓ リモート · APC · ハイジャック · fork-and-run · ハロウィング | ✓ リモート · APC | ✓ リモート · APC · ハイジャック · fork-and-run · ハロウィング | ✓ リモート · APC |
| BOF / .NET CLR | ✓ | ✓ BOF + .NET CLR | ✓ BOF + .NET CLR | ✓ BOF + .NET CLR |
| トークン窃取 / 偽装 | ✓ | ✓ | ✓ | ✓ |
| トークンボールト(保存 · 再利用) | ✓ | ✓ | ✓ | ✓ |
| GETSYSTEM / UAC バイパス | ✓ | ✓ | ✓ | ✓ |
| 永続化 | ✓ | ✓ | ✓ | ✓ |
| ラテラルムーブメント | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas |
| SOCKS5 / ポートフォワーディング | ✓ | ✓ | ✓ | ✓ |
| リバース SOCKS | ✓ | ✓ | ✓ | ✓ |
| ポートスキャン | ✓ | ✓ | ✓ | ✓ |
| メッシュリレーピボット | ✓ HTTP + TCP | ✓ HTTP + TCP | ✓ HTTP + TCP | ✓ HTTP + TCP |
| 資格情報収集 | ✓ GPP · WiFi · ブラウザ · NTDS | ✓ GPP · WiFi · ブラウザ · NTDS | ✓ WiFi · ブラウザ | ✓ GPP · WiFi · ブラウザ · NTDS |
| レジストリ操作 | ✓ | ✓ | ✓ | ✓ |
| ADS(読み取り · 書き込み · 一覧 · 削除) | ✓ | ✓ | ✓ | ✓ |
| COM ハイジャック | ✓ | ✓ | ✓ | ✓ |
| タイムストンプ | ✓ | ✓ | ✓ | ✓ |
| 対話型シェル(ISHELL) | ✓ | ✓ | ✓ | ✓ |
| MITRE ATT&CK | 50+ コマンド · 12 戦術 | 回避 · 侵入後 · ラテラル | 回避 · 侵入後 · ラテラル | 回避 · 侵入後 · ラテラル |
| 機能 | Windows(全エージェント) | Linux(Go · Rust · C · Nim) | macOS(Go のみ) |
|---|
| ビーコン + ビーコン通信(HTTP/HTTPS/mTLS/TCP/DNS) | ✓ | ✓ | ✓ |
| シェル / ファイル操作 / アップロード / ダウンロード | ✓ | ✓ | ✓ |
| SYSINFO / PS / ENV | ✓ | ✓ | ✓ |
| ポートスキャン | ✓ | ✓ | ✓ |
| SOCKS5 / リバース SOCKS / ポートフォワーディング | ✓ | ✓ | ✓ |
| メッシュリレーピボット(HTTP + TCP) | ✓ | ✓ | ✓ |
| 永続化 | ✓ レジストリ/サービス/schtask | ✓ cron / systemd ユーザー | ✓ LaunchAgent |
| スクリーンショット | ✓ GDI | ✓ ImageMagick(X11 使用時) | ✓ |
| 資格情報収集 | ✓ ブラウザ · WiFi · GPP · NTDS | ✓ ブラウザ(Linux パス) | ✓ ブラウザ |
| Windows 専用(回避) | |||
| AMSI パッチ / ETW ブラインド | ✓ | — | — |
| 間接システムコール(Hell's Gate) | ✓ | — | — |
| スタックスプーフィング(110 バイトスタブ) | ✓ | — | — |
| API ハッシュ化 / IAT 除去 | ✓ | — | — |
| スリープマスキング(XOR + NOACCESS) | ✓ | — | — |
| NTDLL アンフック | ✓ | — | — |
| PPID スプーフィング / BLOCKDLLS / PEB スプーフ | ✓ | — | — |
| トークン窃取 / UAC バイパス | ✓ | — | — |
| プロセスインジェクション | ✓ | — | — |
| インライン PE 実行 / .NET CLR | ✓ | — | — |
| キーロガー / クリップボードモニター | ✓ | — | — |
| ラテラルムーブメント(8 種類) | ✓ | — | — |
| Kerberos(klist/ptt/purge) | ✓ | — | — |