Autor: 1v4n a.k.a. @1r0Dm48O
{0x0} Introducción
Curling es una máquina ubicada en HackTheBox que debemos vulnerar para conseguir las flags
de usuario (user.txt) y root (root.txt) creada por L4mpje basada en Linux OS, os mostraremos los
pasos que hemos dado.
de usuario (user.txt) y root (root.txt) creada por L4mpje basada en Linux OS, os mostraremos los
pasos que hemos dado.
{0x1} Reconocimiento
Antes de empezar ifconfig a nuestra máquina de pentesting Kali Linux comprobando la conexión
con la VPN privada a través de openvpn --config 1v4n.ovpn asignándose la IP 10.10.13.140.
con la VPN privada a través de openvpn --config 1v4n.ovpn asignándose la IP 10.10.13.140.
Y comenzamos, descubrimos nuestra dirección IP.
Y comprobamos que hay conexión con la máquina a vulnerar lanzado un ping:
{0x2} Escaneo
Realizamos un escaneo de puertos para comprobar los servicios que están abiertos y corriendo
en la máquina a vulnerar con nmap -A 10.10.10.150
en la máquina a vulnerar con nmap -A 10.10.10.150
Observamos puertos abiertos con los correspondientes servicios como el 22 (ssh) y 80 (http).
Vemos las posibles vulnerabilidades de cada puerto con nmap -sS -sV -p xx 10.10.10.150 --script vuln
Vemos las posibles vulnerabilidades de cada puerto con nmap -sS -sV -p xx 10.10.10.150 --script vuln
Ejecutando joomscan -u http://10.10.10.150 nos revela que está hospedado un posible de gestor
de contenido Joomla v. 3.8.8 donde no se identifican vulnerabilidades CVE.
de contenido Joomla v. 3.8.8 donde no se identifican vulnerabilidades CVE.
Pasamos a configurar /etc/hosts añadiendo la linea 10.10.10.150 curling.htb
{0x3} Enumeración
Lanzamos gobuster -e -u http://curling.htb/ -w /usr/share/wordlists/dirb/common.txt sobre el servicio
web en el dominio curling.htb
web en el dominio curling.htb
Detectamos que es accesible http://10.10.10.150/index.php y con la herramienta http sobre
el index.php obtenemos pista al final de código.
el index.php obtenemos pista al final de código.
Obtenemos una posible clave Curling2018! para el acceso:
curl http://curling.htb/secret.txt > Q3VybGluZzIwMTgh | base64 -d | Curling2018!
|
Pasamos a explorar el Joomla y nos encontramos con su primer post que nos desvela un posible
usuario en la URL http://curling.htb/index.php/2-uncategorised/1-first-post-of-curling2018
usuario en la URL http://curling.htb/index.php/2-uncategorised/1-first-post-of-curling2018
Conseguimos en la captura un posible nombre de usuario que se identifica como Floris.
Pasamos a comprobar que las credenciales Floris:Curling2018! son válidas en el panel de
administración de Joomla en http://curling.htb/administrator
Pasamos a comprobar que las credenciales Floris:Curling2018! son válidas en el panel de
administración de Joomla en http://curling.htb/administrator
{0x4} Acceso
Accedemos con éxito a la administración del Joomla para subir nuestra webshell que intentaremos
alojarla en un directorio no llamativo como es /templates
alojarla en un directorio no llamativo como es /templates
Navegamos por el menú de administrador Extensions> Templates > Templates > protostar
y seleccionamos crear nuevo archivo que en este caso tendrá el código de nuestra webshell
(https://github.com/k4mpr3t/b4tm4n)
y seleccionamos crear nuevo archivo que en este caso tendrá el código de nuestra webshell
(https://github.com/k4mpr3t/b4tm4n)
Ya podemos acceder a la webshell en la siguiente URL
Por defecto la webshell posee las credenciales k4mpr3t:k4mpr3t que pasaremos a modificar
en el menú Account. Pasamos a explorar directorios aunque no podemos acceder a user.txt ya
que pertenecemos todavía al grupo de floris.
en el menú Account. Pasamos a explorar directorios aunque no podemos acceder a user.txt ya
que pertenecemos todavía al grupo de floris.
Nos encontramos con password_backup en el directorio /home/floris/ con el Hexdump de una
posible clave para poder avanzar. Procedemos a descargarlo en nuestro Kali y hacemos reversing
obteniendo 5d<wdCbdZu)|hChXll
Conectamos por ssh con el usuario floris y la password 5d<wdCbdZu)|hChXll
Y conseguimos tener acceso a user.txt > 65dd1df0713b40d88ead98cf11b8530b
{0x5} – Escalada de Privilegios (privesc)
Accedemos al directorio /tmp donde utilizaremos un scanner de vulnerabilidades de Linux
(https://github.com/mzet-/linux-exploit-suggester) que nos facilitará nuestro privesc.
(https://github.com/mzet-/linux-exploit-suggester) que nos facilitará nuestro privesc.
Investigamos sobre la vulnerabilidad CVE-2019-7304 y el exploit correspodiente en el repositorio
https://github.com/initstring/dirty_sock . Pasamos a ejecutar el exploit en el directorio /tmp
https://github.com/initstring/dirty_sock . Pasamos a ejecutar el exploit en el directorio /tmp
Abrimos una nueva sesión de ssh con las credenciales dirty_sock:dirty_sock y hacemos
sudo su
sudo su
Y ahí está root.txt > 82c198ab6fc5365fdc6da2ee5c26064a
Otro método de privesc:
Intentamos ver los cambios a través de diff en los procesos usando el comando
ps -ef > start.txt y ps -ef > end.txt
ps -ef > start.txt y ps -ef > end.txt
Observamos en los procesos lo que hace CRON y encontramos los comandos de la ejecución continua de la tarea programada
Pasamos a ver que contiene el archivo input que es invocado por curl -k . Observamos que archivo
input poseé una entrada url = "127.0.0.1" y es guardando continuamente en report la salida
de bash curl -k /home/floris/admin-area/input
input poseé una entrada url = "127.0.0.1" y es guardando continuamente en report la salida
de bash curl -k /home/floris/admin-area/input
Editamos input para que nuestro sistema a través de la tarea programada sea capaz de leer el
contenido de /root/root.txt de la siguiente forma url = "file:///root/root.txt"
contenido de /root/root.txt de la siguiente forma url = "file:///root/root.txt"
Y de nuevo ahí está root.txt > 82c198ab6fc5365fdc6da2ee5c26064a
Twitter: https://twitter.com/1r0Dm48O
No hay comentarios:
Publicar un comentario