Cobalt Strike を活用した内部ネットワーク検証環境の構築手順

検証環境の拓扑図と前提条件

本手順は、隔離されたネットワーク環境において、Cobalt Strike を用いたセキュリティ検証ラボを構築するためのものです。すべての操作は許可された環境内でのみ実施してください。

構成マシンは以下の通りです。

  • C2 サーバー (Kali Linux): 10.0.0.5
  • 操作端末 (Windows 10): 10.0.0.10
  • ターゲット端末 (Windows Server 2019): 10.0.0.20

C2 サーバーの初期設定

まず、Kali Linux 上で Teamserver を動作させるための準備を行います。アーカイブファイルを任意のディレクトリに展開し、実行権限を付与します。

mkdir ./cs_workspace
unrar x cs_dist.rar ./cs_workspace/
cd ./cs_workspace
chmod 755 teamserver
chmod 755 ./TeamServerImage

次に、Teamserver プロセスを起動します。引数としてサーバー自身の IP アドレスと、クライアント接続用の認証パスワードを指定します。

./teamserver 10.0.0.5 AuthPass2024

起動が成功すると、コンソールにサーバーの状態が表示され、指定したポートでの待ち受けが開始されます。

クライアント端末からの接続

操作端末(Windows 10)にて、Cobalt Strike クライアントを起動します。事前に Java Development Kit (JDK 11 以上) がインストールされている必要があります。

起動時の接続設定画面で以下の情報を入力します。

  • Host: 10.0.0.5 (Kali サーバーの IP)
  • Port: 50050 (デフォルト値)
  • Password: AuthPass2024 (サーバー起動時に設定した値)
  • User: 任意のユーザー名

接続ボタンを押下すると、サーバー証明書のフィンガープリント確認ダイアログが表示されます。Teamserver のコンソール出力と一致することを確認し、接続を許可します。

リスナーの構成とペイロード生成

接続完了後、クライアント画面下部の「Listeners」タブを選択し、「Add」ボタンを押して新しいリスナーを作成します。

設定パラメータは以下のように構成します。

  • Name: HTTP_Beacon_01
  • Host: 10.0.0.5
  • Port: 9443

設定を保存すると、Kali サーバー側で該当ポートのリッスン状態が確認できます。続いて、「Payloads」メニューから「Windows Stager Payload」を選択します。先ほど作成したリスナーを選び、実行ファイル形式で生成します。生成された exe ファイルは、検証用のターゲット端末へ転送します。

Beacon 接続の確認

ターゲット端末(Windows Server 2019)にて、転送した実行ファイルを開きます。表面上は特定の動作が発生しませんが、操作端末の Cobalt Strike クライアント画面にある「Sessions」または「Beacons」タブを確認します。

ターゲット機器の IP アドレスが表示され、ステータスがアクティブになれば、C2 通信が確立されたことを意味します。これにより、検証環境における基本的な接続フローが完了します。

タグ: cobalt-strike red-teaming security-lab kali-linux windows-security

7月11日 18:06 投稿