· Manuel López Pérez · writeups  · 3 min read

WriteUp – Curling (HackTheBox)

Write-up de Curling (HackTheBox): máquina Linux fácil que explota Joomla con credenciales filtradas en comentarios, sube webshell vía template, obtiene credenciales de floris vía password_backup y escala a root con DirtySock (CVE-2019-7304).

Write-up de Curling (HackTheBox): máquina Linux fácil que explota Joomla con credenciales filtradas en comentarios, sube webshell vía template, obtiene credenciales de floris vía password_backup y escala a root con DirtySock (CVE-2019-7304).

En este post haremos la máquina Curling de HackTheBox. Es una máquina Linux de nivel fácil en la que nos enfrentaremos a un CMS (Joomla) y veremos como escalar utilizando DirtySock.

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 -T5 -p- 10.10.10.150 nmap -T4 -sV -sC -p22,80 10.10.10.150 

Únicamente se encuentran los servicios HTTP y SSH, así que vamos a echar un ojo a la web.

Simplemente con ver el icono de la página web detectamos que se trata de un Joomla. Vamos a buscar otros directorios ocultos que puedan servirnos, para ellos vamos a utilizar Dirsearch:

 dirsearch -u http://10.10.10.150 -w $WORDLISTS/raft-medium-directories-lowercase.txt -t 20 -e php 

Entre los directorios encontrados destaca “administrator” que se trata del panel de administración del CMS. Debemos seguir buscando en la web, miremos el código fuente:

Como veis, se encuentra un comentario en el html: “secret.txt”:

Con ayuda de un decoder de Base64 vemos lo que podría ser una contraseña:

A continuación, debemos buscar un nombre de usuario. Revisemos los “post” del blog: Como veis, Floris podría ser el nombre de usuario que estamos buscando. Vamos a probar las credenciales que tenemos (Floris:Curling2018!) en http://10.10.10.150/administrator/. Y efectivamente, las credenciales son correctas y hemos conseguido entrar al panel de administración del sitio.

Explotación

Una vez estamos dentro del panel de administración, nuestro objetivo es ejecutar comandos del sistema, por ejemplo, subiendo una shell reversa php al servidor. Para hacer esto en Joomla, debemos ir a la sección de plantillas y crear un fichero. Concretamente utilizamos la siguiente shell reversa de php: php-reverse-shell.php

Una vez se ha subido el fichero correctamente, se puede ejecutar accediendo a http://10.10.10.150/templates/protostar/ironhackers.php. En nuestra máquina debemos establecer la escucha:

nc -lvp 8080

Escalada de privilegios

Como habéis visto en la captura anterior, ya podemos ejecutar comandos como www-data, nuestro siguiente paso es poder ejecutar comandos como un usuario privilegiado. Tras revisar los usuarios registrados en el sistema, accedemos a la carpeta personal del único usuario: Floris. En ella encontramos un fichero sospechoso “password_backup” que contiene la salida del comando “xxd”. Podemos ejecutarlo en sentido contrario con la opción “-r” de ese mismo comando:

El fichero resultante resulta ser un comprimido con Bzip2, dentro de este nos encontramos otro comprimido y tras una serie de descompresiones encontramos una contraseña:

Esta contraseña es del usuario floris:5dwdCbdZu)|hChXll. Ahora podemos acceder via SSH al servidor:

Para escalar a root, el creador de la máquina dejó preparado una tarea programada como root que accedia con curl al contenido del fichero “input” y lo guardaba en “report”:

Como veis en la captura anterior, inicialmente la url a la que se accede es la web que vimos antes. Con curl también se puede acceder a ficheros locales del sistema, para ello modificamos el fichero input:

 echo 'url = "file:///root/root.txt"' > input 

Dirty Sock

Anteriormente hemos conseguido acceder a la flag de root, sin embargo no hemos conseguido shell como dicho usurio. Para ello se vio que el sistema es vulnerble a CVE-2019-7304 y se puede escalar de privilegios a Root de forma sencilla.

Basta con subir dirty_sockv2.py al servidor y ejecutarlo.

Back to Blog

Related Posts

View All Posts »
WriteUp – Curling (HackTheBox)

WriteUp – Curling (HackTheBox)

Curling write-up (HackTheBox): easy Linux machine that exploits Joomla with credentials leaked in comments, uploads webshell via template, obtains floris credentials via password_backup, and escalates to root with DirtySock (CVE-2019-7304).

WriteUp – Vault (HackTheBox)

WriteUp – Vault (HackTheBox)

Vault write-up (HackTheBox): average Linux machine that exploits file upload with filter bypass to obtain initial shell, pivots through OpenVPN and internal networks to escalate privileges and obtain root.

WriteUp – Vault (HackTheBox)

WriteUp – Vault (HackTheBox)

Write-up de Vault (HackTheBox): máquina Linux media que explota subida de archivo con bypass de filtros para obtener shell inicial, pivotea a través de OpenVPN y redes internas para escalar privilegios y obtener root.

WriteUp – Frolic (HackTheBox)

WriteUp – Frolic (HackTheBox)

Descripción de Frolic (HackTheBox): máquina Linux de nivel medio que explota un servicio web con múltiples pasos de enumeración (Ook, base64, ZIP, brainfuck) para obtener acceso al shell, y luego se eleva a root a través de ret2libc en un binario setuid con NX habilitado y ASLR deshabilitado.