· Manuel López Pérez · writeups · 2 min read
WriteUp - Jeeves (HackTheBox)
Write-up de la máquina Jeeves (HackTheBox): enumeración web, ejecución de comandos vía Jenkins, obtención de shell y escalada aprovechando credenciales de KeePass/SMB.

En este post haremos la maquina Jeeves de HackTheBox, acaban de retirarla y no hay mejor momento para enseñaros cómo la resolví. Es una maquina Windows de un nivel medio que me gustó mucho. Mi nick en HackTheBox es: manulqwerty Si tenéis alguna proposición o corrección no dudéis en dejar un comentario, así aprendemos todos.
Jeeves WriteUp
Enumeración
Como siempre, empezamos con el escaneo de puertos:
nmap -sC -sV 10.10.10.63
Tal y como vemos en el Nmap tenemos dos puertos http: 80 y 50000. A priori no vemos nada que nos pueda servir.

Asi que vamos a buscar posibles directorios/ficheros ocultos con Gobuster

Vamos a revisar la url que hemos encontrado:

Vemos que es un Jenkins (software de Integración continua open source escrito en Java). Trasteando un poco vemos que podemos crear proyectos
Explotación
New Item > Freestyle project > Build > Add build step > Execute Windows batch command

Como veis podemos ejecutar comandos de Windows. Vamos a crearnos un payload de powershell:
Para crear nuestro payload vamos a usar Veil-Evasion, aun que podríamos utilizar otras herramientas como Unicorn o Empire, entre otras. Veil-Evasion es un generador de payloads meterpreter.

Establecemos la escucha de meterpreter que nos deja el Veil-Evasion preparada y copiamos el .bat en la ventana de ‘Execute Windows batch command’ del Jenkins

Post-Explotación
Una vez tenemos shell podemos ver el user.txt

Vamos a recabar información con el fin de encontrar algún vector que nos sirva para escalar. Entre los ficheros encontramos un .kdbx (keepass), extensión de los archivos usados por el gestor de contraseñas KeePass y vamos a intentar crackearlo.



Entre todas las contraseñas encontramos una que parece ser un hash NTLM. Vamos a conectarnos a través de smb/psexec:

Otra posible forma de escalar es mediante Rotten Potato
Ya hemos escalado, ahora solo tenemos que leer el root.txt. En este caso nos encontramos con un pequeño reto ya que el ‘root.txt’ está oculto en otro fichero .txt Utilizando dir /R lo vemos fácilmente.


