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/microsoft-sh
This commit is contained in:
parent
bc5e5a66dd
commit
db8c129e2d
@ -2,7 +2,7 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
> Microsoft SharePoint (lokalnie) jest zbudowany na ASP.NET/IIS. Większość klasycznego ataku na powierzchnię webową (ViewState, Web.Config, web shells, itp.) jest zatem obecna, ale SharePoint dostarcza również setki własnych stron ASPX i usług webowych, które znacznie powiększają wystawioną powierzchnię ataku. Ta strona zbiera praktyczne triki do enumeracji, eksploatacji i utrzymywania się w środowiskach SharePoint z naciskiem na łańcuch eksploatacji 2025 ujawniony przez Unit42 (CVE-2025-49704/49706/53770/53771).
|
||||
> Microsoft SharePoint (on-premises) jest zbudowany na ASP.NET/IIS. Większość klasycznego ataku na powierzchnię webową (ViewState, Web.Config, web shells itp.) jest zatem obecna, ale SharePoint dostarcza również setki własnych stron ASPX i usług webowych, które znacznie powiększają wystawioną powierzchnię ataku. Ta strona zbiera praktyczne triki do enumeracji, eksploatacji i utrzymywania się w środowiskach SharePoint z naciskiem na łańcuch eksploatacji 2025 ujawniony przez Unit42 (CVE-2025-49704/49706/53770/53771).
|
||||
|
||||
## 1. Quick enumeration
|
||||
```
|
||||
@ -25,7 +25,7 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
|
||||
|
||||
### 2.1 CVE-2025-49704 – Wstrzykiwanie kodu w ToolPane.aspx
|
||||
|
||||
`/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>` pozwala na wstrzyknięcie dowolnego kodu *Server-Side Include* na stronę, który jest później kompilowany przez ASP.NET. Atakujący może osadzić C#, który wykonuje `Process.Start()` i wprowadzić złośliwy ViewState.
|
||||
`/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>` pozwala na wstrzyknięcie dowolnego kodu *Server-Side Include* na stronę, który jest później kompilowany przez ASP.NET. Atakujący może osadzić C#, który wykonuje `Process.Start()` i zainstalować złośliwy ViewState.
|
||||
|
||||
### 2.2 CVE-2025-49706 – Nieprawidłowe obejście uwierzytelniania
|
||||
|
||||
@ -79,7 +79,7 @@ Napisane do:
|
||||
```
|
||||
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
|
||||
```
|
||||
Shell udostępnia punkty końcowe do **odczytu / rotacji kluczy maszyny**, co pozwala na fałszowanie ciasteczek ViewState i ASPXAUTH w całej farmie.
|
||||
Shell udostępnia punkty końcowe do **odczytu / rotacji kluczy maszynowych**, co pozwala na fałszowanie ciasteczek ViewState i ASPXAUTH w całej farmie.
|
||||
|
||||
### 3.3 Obfuscated variant (variation-3)
|
||||
|
||||
@ -88,14 +88,65 @@ Ten sam shell, ale:
|
||||
* nazwy zmiennych zredukowane do pojedynczych liter
|
||||
* dodano `Thread.Sleep(<ms>)` dla unikania piaskownicy i omijania AV opartego na czasie.
|
||||
|
||||
## 4. Pomysły na wykrywanie
|
||||
### 3.4 AK47C2 multi-protocol backdoor & X2ANYLOCK ransomware (zaobserwowane 2025-2026)
|
||||
|
||||
Ostatnie badania dotyczące odpowiedzi na incydenty (Unit42 “Project AK47”) pokazują, jak napastnicy wykorzystują łańcuch ToolShell **po początkowym RCE**, aby wdrożyć implant C2 z podwójnym kanałem i ransomware w środowiskach SharePoint:
|
||||
|
||||
#### AK47C2 – `dnsclient` variant
|
||||
|
||||
* Twardo zakodowany serwer DNS: `10.7.66.10` komunikujący się z autorytatywną domeną `update.updatemicfosoft.com`.
|
||||
* Wiadomości są obiektami JSON szyfrowanymi XOR z użyciem statycznego klucza `VHBD@H`, kodowane w hex i osadzone jako **etykiety subdomeny**.
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
|
||||
```
|
||||
|
||||
* Długie zapytania są dzielone na kawałki i poprzedzane `s`, a następnie składane ponownie po stronie serwera.
|
||||
* Serwer odpowiada w rekordach TXT, które noszą ten sam schemat XOR/hex:
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
|
||||
```
|
||||
* Wersja 202504 wprowadziła uproszczony format `<COMMAND>::<SESSION_KEY>` oraz znaczniki kawałków `1`, `2`, `a`.
|
||||
|
||||
#### AK47C2 – `httpclient` variant
|
||||
|
||||
* Ponownie wykorzystuje dokładnie tę samą rutynę JSON & XOR, ale wysyła hex blob w **treści HTTP POST** za pomocą `libcurl` (`CURLOPT_POSTFIELDS`, itd.).
|
||||
* Ta sama procedura zadania/wyniku pozwala na:
|
||||
* Dowolne wykonywanie poleceń powłoki.
|
||||
* Dynamiczny interwał snu i instrukcje wyłączania.
|
||||
|
||||
#### X2ANYLOCK ransomware
|
||||
|
||||
* 64-bitowy ładunek C++ ładowany przez DLL side-loading (patrz poniżej).
|
||||
* Wykorzystuje AES-CBC do danych plików + RSA-2048 do opakowania klucza AES, a następnie dodaje rozszerzenie `.x2anylock`.
|
||||
* Rekursywnie szyfruje lokalne dyski i odkryte udostępnione zasoby SMB; pomija ścieżki systemowe.
|
||||
* Zrzuca notatkę w czystym tekście `How to decrypt my data.txt`, osadzając statyczne **Tox ID** do negocjacji.
|
||||
* Zawiera wewnętrzny **kill-switch**:
|
||||
|
||||
```c
|
||||
if (file_mod_time >= "2026-06-06") exit(0);
|
||||
```
|
||||
|
||||
#### DLL side-loading chain
|
||||
|
||||
1. Napastnik pisze `dllhijacked.dll`/`My7zdllhijacked.dll` obok legalnego `7z.exe`.
|
||||
2. Uruchomiony przez SharePoint `w3wp.exe` uruchamia `7z.exe`, który ładuje złośliwe DLL z powodu kolejności wyszukiwania Windows, wywołując punkt wejścia ransomware w pamięci.
|
||||
3. Obserwowano osobny loader LockBit (`bbb.msi` ➜ `clink_x86.exe` ➜ `clink_dll_x86.dll`), który deszyfruje shell-code i wykonuje **DLL hollowing** w `d3dl1.dll`, aby uruchomić LockBit 3.0.
|
||||
|
||||
> [!INFO]
|
||||
> To samo statyczne Tox ID znalezione w X2ANYLOCK pojawia się w wyciekłych bazach danych LockBit, sugerując pokrywanie się afiliacji.
|
||||
|
||||
---
|
||||
|
||||
## 4. Detection ideas
|
||||
|
||||
| Telemetria | Dlaczego to jest podejrzane |
|
||||
|------------|------------------------------|
|
||||
| `w3wp.exe → cmd.exe` | Proces roboczy rzadko powinien uruchamiać powłokę |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Klasyczny wzór lolbin |
|
||||
| Zdarzenia plików tworzące `debug_dev.js` lub `spinstall0.aspx` | IOCs prosto z ToolShell |
|
||||
| `ProcessCmdLine ZAWIERA ToolPane.aspx` (logi ETW/Module) | Publiczne PoCs wywołują tę stronę |
|
||||
| Wydarzenia plikowe tworzące `debug_dev.js` lub `spinstall0.aspx` | IOCs prosto z ToolShell |
|
||||
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | Publiczne PoCs wywołują tę stronę |
|
||||
|
||||
Przykład reguły XDR / Sysmon (pseudo-XQL):
|
||||
```
|
||||
@ -104,23 +155,24 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
## 5. Wzmacnianie i łagodzenie
|
||||
|
||||
1. **Patch** – aktualizacje zabezpieczeń z lipca 2025 roku naprawiają *wszystkie* cztery CVE.
|
||||
2. **Rotuj** każdy `<machineKey>` i sekrety `ViewState` po naruszeniu.
|
||||
2. **Rotuj** każdy `<machineKey>` i sekrety `ViewState` po kompromitacji.
|
||||
3. Usuń *LAYOUTS* uprawnienia do zapisu z grup `WSS_WPG` i `WSS_ADMIN_WPG`.
|
||||
4. Zablokuj zewnętrzny dostęp do `/_layouts/15/ToolPane.aspx` na poziomie proxy/WAF.
|
||||
5. Włącz **ViewStateUserKey**, **MAC enabled** oraz niestandardowe *EventValidation*.
|
||||
|
||||
## Powiązane triki
|
||||
## Powiązane sztuczki
|
||||
|
||||
* IIS po eksploatacji i nadużycie web.config:
|
||||
* IIS post-exploitation i nadużycie web.config:
|
||||
{{#ref}}
|
||||
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
|
||||
{{#endref}}
|
||||
|
||||
## Źródła
|
||||
## Odniesienia
|
||||
|
||||
- [Unit42 – Aktywna eksploatacja luk w zabezpieczeniach Microsoft SharePoint](https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/)
|
||||
- [GitHub PoC – łańcuch eksploatacji ToolShell](https://github.com/real-or-not/ToolShell)
|
||||
- [GitHub PoC – łańcuch exploitów ToolShell](https://github.com/real-or-not/ToolShell)
|
||||
- [Microsoft Security Advisory – CVE-2025-49704 / 49706](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-49704)
|
||||
- [Unit42 – Projekt AK47 / Eksploatacja SharePoint i działalność ransomware](https://unit42.paloaltonetworks.com/ak47-activity-linked-to-sharepoint-vulnerabilities/)
|
||||
- [Microsoft Security Advisory – CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user