実験環境の構成
本手順は、隔離されたネットワーク環境下におけるセキュリティ検証を目的としています。以下の構成で環境を用意します。
- コマンド&コントロールサーバー (Kali Linux): 10.0.0.5
- 操作ターミナル (Windows 11): 10.0.0.6
- 検証対象端末 (Windows 11): 10.0.0.10
1. C2 サーバーの準備
まず、Kali Linux 環境にて Cobalt Strike のサーバーコンポーネントをセットアップします。アーカイブファイルを任意のディレクトリに展開します。
mkdir -p /opt/cs_server
unzip cs_package.zip -d /opt/cs_server
展開後、サーバー実行ファイルに対して実行権限を付与します。
cd /opt/cs_server
chmod +x teamserver
chmod +x ./aggressor.jar
2. チームサーバーの起動
チームサーバープロセスをバックグラウンドで起動します。引数としてサーバーの IP アドレスと認証パスワードを指定します。
./teamserver 10.0.0.5 SecurePass2024
起動が成功すると、コンソールにライセンス情報および待ち受けポートに関する出力が表示されます。この出力内容は後ほどクライアント接続時に検証に使用します。
3. クライアント接続設定
操作ターミナル(Windows 11)にて、Cobalt Strike クライアントを起動します。事前に Java Development Kit (JDK 11 以上) のインストールが必要です。
接続ダイアログにおいて、以下のパラメータを入力します。
- Host: 10.0.0.5 (Kali サーバーの IP)
- Port: 50050 (デフォルト値、サーバー設定と一致させる)
- Password: SecurePass2024 (起動時に設定したパスワード)
- User: Operator01 (任意のユーザー名)
接続試行時に証明書フィンガープリントの確認ポップアップが表示されます。サーバーコンソール出力と一致することを確認し、接続を許可します。
4. リスナーの構成
接続確立後、メインメニューの Cobalt Strike > Listeners からリスナー管理画面を開きます。Add ボタンをクリックし、新しいリスナーを設定します。
- Name: HTTP_Beacon_01
- Host: 10.0.0.5
- Port: 8443 (任意の開放ポート)
設定保存後、Kali サーバー側のコンソールにて該当ポートの待ち受け状態が開始されていることを確認します。
5. ペイロードの生成と埋め込み
攻撃シミュレーション用のペイロードを作成します。メニューの Attacks > Packages > MS Office Macro を選択します。
先前ほど作成したリスナー(HTTP_Beacon_01)を選択し、生成ボタンを押下します。表示されたウィザードに従い、VBA マクロコードをコピーします。
検証用として Microsoft Word 文書を作成し、開発タブからマクロ编辑器を起動します。既存のコードをクリアし、コピーしたマクロコードを貼り付けます。文書保存時には、マクロ有効ブック形式(.docm)を選択してください。
※実際の運用試験では、ファイル拡張子の偽装や配信経路の検証も含まれますが、本環境では直接ファイルを転送し検証します。
6. 接続検証
生成した文書を検証対象端末(10.0.0.10)で開きます。セキュリティ警告によりマクロの実行がブロックされるため、「コンテンツの有効化」を選択してマクロ実行を許可します。
マクロが実行されると、バックグラウンドで C2 サーバーへ通信が試行されます。Cobalt Strike クライアントの View > Targets または Sessions タブにて、新しいセッション(Beacon)が出現することを確認します。
これにより、設定した経路での通信確立および制御権限の獲得が検証完了となります。