
Pythonエクスプロイト:CVE-2023-30547 vm2サンドボックスエスケープ脆弱性。脆弱なNode.jsサンドボックス環境からリバースシェルを開くためのbase64エンコードされたJSONペイロードを生成します。
vm2 は、ホワイトリスト登録された Node の組み込みモジュールを使用して信頼できないコードを実行できるサンドボックスです。vm2 のバージョン 3.9.16 以前には、例外サニタイズ処理に脆弱性が存在し、攻撃者が handleException() 内でサニタイズされていないホスト例外を発生させることができます。これを利用することで、サンドボックスをエスケープしてホストコンテキストで任意のコードを実行できます。この脆弱性は、vm2 のバージョン 3.9.17 のリリースで修正されました。この脆弱性に対する既知の回避策はありません。ユーザーはアップグレードすることを推奨します。
PoC の Python コード: https://gist.github.com/leesh3288/381b230b04936dd4d74aaf90cc8bb244。 Codify HTB で使用。
usage: exploit.py [-h] [-u URL] [-p PORT] [-i IP]
description: Opens a reverse shell from a vm2 vulnerable website using a base64-encoded payload in JSON format
options:
-h, --help show this help message and exit
-u URL, --url URL HTTP address of the destination website
-p PORT, --port PORT Port to listen on
-i IP, --ip IP Your IP address