
TP-Link Omada ER605 राउटर के लिए DDNS क्लाइंट डीमन (cmxddnsd) के माध्यम से पूर्व-प्रमाणीकरण दूरस्थ कोड निष्पादन शोषण
प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट श्रृंखला जो TP-Link Omada ER605 DDNS क्लाइंट डेमन (cmxddnsd) को लक्षित करती है जब डिवाइस Comexe DDNS सेवा का उपयोग करने के लिए कॉन्फ़िगर किया गया हो।
⚠️ कानूनी / नैतिकता: यह रिपॉजिटरी केवल अधिकृत सुरक्षा अनुसंधान और नियंत्रित प्रयोगशाला पुनरुत्पादन के लिए है। उन प्रणालियों के विरुद्ध उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।
यह PoC एक चेनिंग दृष्टिकोण प्रदर्शित करता है जो निम्नलिखित को जोड़ता है:
यह श्रृंखला निम्नलिखित प्रकाशित मुद्दों से संबंधित है:
| CVE | ZDI सलाह | प्रकार (जैसा ZDI/NVD द्वारा वर्णित) | श्रृंखला में उच्च-स्तरीय भूमिका |
|---|
| CVE-2024-5244 | ZDI-24-503 | अस्पष्टता के माध्यम से सुरक्षा पर निर्भरता (DDNS संदेशों तक पहुँचा/स्पूफ किया जा सकता है) | वैध दिखने वाले DDNS संदेशों को तैयार/स्पूफ करने में सक्षम बनाता है |
| CVE-2024-5243 | ZDI-24-502 | DNS नामों के हैंडलिंग में बफर ओवरफ्लो | DNS-नाम-संबंधी स्थिति को प्रभावित/पॉइज़न करने और ASLR बायपास लीक पथ को सक्षम करने के लिए उपयोग किया जाता है |
| CVE-2024-5242 | ZDI-24-501 | DDNS त्रुटि कोडों के हैंडलिंग में स्टैक-आधारित बफर ओवरफ्लो | ROP-आधारित RCE के लिए कंट्रोल-फ्लो हाईजैक प्रिमिटिव के रूप में उपयोग किया जाता है |
नोट: यह README CVE ↔ समस्या विवरण को ZDI/NVD शब्दावली के अनुरूप संरेखित करता है। सटीक एक्सप्लॉइट कोरियोग्राफी फर्मवेयर बिल्ड और स्थानीय पुनरुत्पादन विवरणों के अनुसार भिन्न हो सकती है;
exploit.pyऔर इस रिपॉजिटरी में विश्लेषण नोट्स देखें।
< ER605(UN)_V2_2.2.42.2.2ER605(UN)_V2_2.2.4 Build 20240119 (और बाद के संस्करण)ZDI प्रभाव को नेटवर्क-आसन्न बताता है जब Comexe DDNS सक्षम/कॉन्फ़िगर किया गया हो। व्यवहार में, पुनरुत्पादन के लिए आमतौर पर राउटर के DDNS/DNS ट्रैफ़िक पथ का पर्याप्त रूप से निरीक्षण और प्रभावित करने की क्षमता की आवश्यकता होती है ताकि:
यह रिपॉजिटरी जानबूझकर एक नियंत्रित प्रयोगशाला के बाहर उस स्थिति को प्राप्त करने के लिए चरण-दर-चरण संचालन मार्गदर्शन से बचती है।
┌─────────────────┐ ┌─────────────────────────┐
│ TP-Link ER605 │ │ Attacker │
│ (cmxddnsd) │ │ (authorized lab setup) │
└───────┬─────────┘ └───────────┬─────────────┘
│ │
│ (1) DDNS message spoofing/impersonation │ CVE-2024-5244
│<-----------------------------------------│
│ │
│ (2) Parsing-time overflow affects DNS- │ CVE-2024-5243
│ name-related state; later leak occurs│
│ in DNS query sending path (e.g., │
│ sndDnsQuery) to bypass ASLR │
│<-----------------------------------------│
│ │
│ (3) Error-code overflow for control-flow │ CVE-2024-5242
│ hijack → ROP → system(command) │
│<-----------------------------------------│
मुख्य पृथक्करण:
_chkPkt-आसन्न पार्सिंग लॉजिक के माध्यम से)।sndDnsQuery) के माध्यम से प्राप्त किया जाता है।exploit.py — प्रयोगशाला पुनरुत्पादन के लिए उपयोग किया गया PoC कार्यान्वयन (बिल्ड-विशिष्ट स्थिरांक/ऑफ़सेट भरने की आवश्यकता है)।README.md — यह दस्तावेज़।इस PoC को बिल्ड-विशिष्ट मानों (जैसे, ऑफ़सेट, गैजेट स्थान, लीक व्याख्या) की आवश्यकता है जो लक्षित फर्मवेयर और libc पर निर्भर करते हैं। ये मान जानबूझकर प्लेसहोल्डर के रूप में छोड़े गए हैं और परीक्षित बिल्ड के विश्लेषण के माध्यम से प्राप्त किए जाने चाहिए।
उदाहरण प्लेसहोल्डर (exploit.py देखें):
system() ऑफ़सेटपार्सिंग लॉजिक में एक आवर्ती एंटी-पैटर्न है: डिलीमीटर-व्युत्पन्न लंबाई का उपयोग करके हमलावर-नियंत्रित फ़ील्ड डेटा को कॉपी करना, गंतव्य बफर आकार से उचित रूप से बाध्य किए बिना (अवधारणात्मक रूप से):
char *end = strchr(ptr, '\x01'); // delimiter
int len = end - ptr; // attacker-influenced length
memcpy_or_strncpy(dest, ptr, len); // missing bounds check -> overflow
PoC एक MIPS delay-slot-अनुकूल गैजेट आकृति का उपयोग करता है:
move $t9, $s0
jalr $t9
move $a0, $s1 ; delay slot
$s0 और $s1 को सेव-रजिस्टर ओवरराइट के माध्यम से नियंत्रित करके, यह एक संक्षिप्त system(command) कॉल अनुक्रम को सक्षम बनाता है।
व्यावहारिक पेलोड निर्माण निम्नलिखित से बाधित है:
\x01), औरइस पुनरुत्पादन में उपयोग की गई सटीक बाधाओं के लिए exploit.py देखें।
यह कोड और दस्तावेज़ केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा अनुसंधान के लिए प्रदान किए गए हैं। स्पष्ट अनुमति के बिना कोई भी उपयोग निषिद्ध है और अवैध हो सकता है।