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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
deco-filepush-disclosure — TP-Link Deco XE75 Pro V3 डिबग चैनल (tmpsvr opcodes 0xC456/0xF0) में रूट फ़ाइल पढ़ने/लिखने की खामी के लिए डिस्क्लोज़र और PoC, CVSS विश्लेषण और हैंडलर डीकंपाइलेशन के साथ। | Kitploit
उपकरण/GitHubGitHub/cplusplus17/deco-filepush-disclosure
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिIoT सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगहार्डवेयर और IoT सुरक्षापेपर और शोधफर्मवेयर विश्लेषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubcplusplus17/deco-filepush-disclosure

deco-filepush-disclosure

TP-Link Deco XE75 Pro V3 डिबग चैनल (tmpsvr opcodes 0xC456/0xF0) में रूट फ़ाइल पढ़ने/लिखने की खामी के लिए डिस्क्लोज़र और PoC, CVSS विश्लेषण और हैंडलर डीकंपाइलेशन के साथ।

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

Deco XE75 Pro V3 — owner-authenticated debug channel: मनमाना root फ़ाइल लेखन

साथी VLAN प्रोजेक्ट: सटीक XE75 Pro V3 फ़र्मवेयर/प्रोफ़ाइल के लिए प्रयोगात्मक fixed-VLAN-30 स्रोत alpha। इसके लिए ऑपरेटर द्वारा आपूर्ति की गई स्टॉक फ़ाइलों की आवश्यकता होती है और इसमें कोई सामान्य इंस्टॉलर या फ़्लैश करने योग्य इमेज नहीं है। Guest VLAN 591 अभी भी अनसुलझा है; अंतिम तीन-यूनिट कोल्ड-बूट, UI और क्लाइंट-आइसोलेशन स्वीकृति अधूरी है। देखें वर्तमान स्थिति।

अनुसंधान प्रकटीकरण, TP-Link Deco XE75 Pro V3, फ़र्मवेयर 1.5.0 Build 20260603 Rel.15804। [email protected] के लिए तैयार और हमारे 802.1Q IoT VLAN कार्यान्वयन (deco-iot-vlan) के साथ सार्वजनिक रिलीज़।

सारांश

Deco का owner-authenticated debug SSH चैनल (TCP 20001 पर Dropbear, केवल direct-tcpip फ़ॉरवर्डिंग, पासवर्ड प्रमाणीकरण) 127.0.0.1:20002 पर एक आंतरिक tmpsvr सेवा तक पहुँचता है। इसके Lua हैंडलरों में से एक, inner_file_push (opcode 0xC456), params.file को "w" मोड में खोलता है और params.content को यथावत root के रूप में, बिना किसी पथ allowlist, बिना आकार सीमा, और बिना विशेषाधिकार ड्रॉप के लिखता है। एक सहोदर opcode (0xF0) एक मिलान करने वाला root फ़ाइल पठन प्रदान करता है। साथ में: पूरे root फ़ाइलसिस्टम का प्रमाणीकृत पठन + लेखन, जो एक राउटर पर पूरा डिवाइस है।

SSH :20001  (username = SHA1(owner_email), password = TP-Link account password)
  -> direct-tcpip -> 127.0.0.1:20002 (TMPv2)
     -> 0xC456 inner_file_push : io.open(file,"w"); write(content); close()   [root]
     -> 0x00F0 root file read  : byte-exact file read                          [root]

प्रभाव (लाइव-सत्यापित, गैर-विनाशकारी)

  • /etc/config एक लाइव राइटेबल ramfs है → कोई कुंजी बदलें, राउटर उसे मान लेता है।
  • /www को uhttpd द्वारा HTTPS पर सर्व किया जाता है → पुश की गई फ़ाइलें तुरंत पहुँच योग्य हो जाती हैं।
  • /tp_data/user_data स्थायी ubifs फ़्लैश है → रीबूट के बाद भी बनी रहती है।
  • LuCI रूट कैश को हमलावर Lua से बदला जा सकता है, जो GET /cgi-bin/luci के माध्यम से ट्रिगर होता है → रूट Lua निष्पादन → io.popen → मनमाना रूट बाइनरी निष्पादन।

सभी चार चरणों को निष्पादित किया गया और मालिक की अपनी मुख्य यूनिट पर वापस पूर्ववत किया गया।

यह नया क्यों है — और CCS'24 / Black Hat '24 के 2 साल बाद भी tmpsvr अभी तक अप्रभावित क्यों है

UCR SecLab टीम ने :20001 -> 127.0.0.1:20002 (tmpsvr) डीबग चैनल को दो साल पहले CCS 2024 — "Untangling the Knot: Breaking Access Control in Home Wireless Mesh Networks" (और Black Hat USA 2024 — "Fallen Tower of Babel") में सार्वजनिक रूप से प्रलेखित किया था। पुराने Deco मॉडलों (X55, FW 1.2.2) पर उनका प्रवेश बिंदु 512-बिट RSA होस्टकीज़ का फैक्टराइज़ेशन और अमान्यीकृत tmpsvr हैंडलरों का दुरुपयोग था।

इस सटीक फ़र्मवेयर पर देखे गए अंतर और शेष हैंडलर:

  • उन्होंने ssh-rsa होस्टकी का आकार 512-बिट से बढ़ाकर 2048-बिट कर दिया (सभी तीन मेश यूनिटों में एक साझा देखी गई कुंजी, SHA256:9feb3ac4...932a36, साथ ही प्रति-यूनिट ecdsa-sha2-nistp521), जिससे 2024 के टॉक का 512-बिट फैक्टराइज़ेशन पथ बंद हो गया।
  • फ़र्मवेयर 1.5.0 में निम्नलिखित रूट-स्तरीय हैंडलर मौजूद हैं:
    1. :20001 पर पासवर्ड प्रमाणीकरण (svr_auth_uci) SHA1(owner_email) + साझा TP-Link ID पासवर्ड का उपयोग करते हुए सक्रिय बना हुआ है।
    2. ऑपकोड 0xC456 (inner_file_push) अभी भी किसी भी कॉलर-प्रदत्त पथ को "w" मोड में root के रूप में बिना किसी पथ सत्यापन के खोलता है।
    3. ऑपकोड 0x00F0 अभी भी फ़ाइलसिस्टम पर किसी भी फ़ाइल को root के रूप में पढ़ता है।
    4. यहाँ तक कि ऑपकोड 0xC505 (tty2tcp/start) — 2024 के पेपर में चिह्नित वही अनकोटेड /bin/sh -c कमांड-इंजेक्शन हैंडलर — जून 2026 के फ़र्मवेयर (1.5.0) में पूरी तरह से अप्रभावित बना हुआ है।

प्रभावित (जैसा देखा गया)

  • उत्पाद: TP-Link Deco XE75 Pro V3 (3-यूनिट मेश; एक मुख्य यूनिट + दो स्लेव)
  • फ़र्मवेयर: 1.5.0 Build 20260603 Rel.15804
  • सतह: TCP 20001 (डीबग SSH) LAN से पहुँच योग्य; हैंडलर निकाले गए 1.5.0 यूज़रस्पेस (luci/controller/admin/mobile_app/iot_device मॉड्यूल, inner_file_push) में है।

गंभीरता (CVSS v3.1 + v4.0)

केवल LAN पहुँच क्षमता प्रदर्शित की गई है। देखे गए केवल-LAN प्रोफ़ाइल के लिए हम AV:A वेरिएंट का उपयोग करते हैं: v3.1 6.8 / v4.0 8.5। नीचे दिए गए AV:N स्कोर प्रदर्शित नेटवर्क पथ पर सशर्त हैं; क्लाउड पहुँच असत्यापित है।

यह पोस्ट-ऑथेंटिकेशन, मालिक-विशेषाधिकार से रूट तक का एस्केलेशन है — अनऑथ RCE नहीं — नीचे दिए गए देखे-गए-प्रोफ़ाइल स्कोर 6.8 (v3.1) और 8.5 (v4.0) हैं। पूर्ण तर्क और अस्वीकृत बढ़ोतरी docs/cvss-analysis.md में हैं।

CVSS v3.1 — केवल-LAN आकलन 6.8 (मध्यम); सशर्त रिमोट वेरिएंट 7.2 (उच्च):

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H   = 7.2 (High)
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H   = 6.8 (Medium)   # if LAN-only

निर्णायक कॉल: PR:H (मालिक / TP-Link-ID खाता डिवाइस का प्रशासनिक प्रिंसिपल है) और S:U (हैंडलर पहले से ही root के रूप में चलता है — कोई प्राधिकरण सीमा पार नहीं होती)। एक पूर्व ड्राफ़्ट ने PR:L + S:C के माध्यम से 9.9 स्कोर किया था; दोनों को अस्वीकार कर दिया गया है।

CVSS v4.0 — केवल-LAN मूल्यांकन 8.5 (High); सशर्त रिमोट वेरिएंट 8.6 (High):

CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N   = 8.6 (High)
CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N   = 8.5 (High)       # if LAN-only
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L   = 9.3 (Critical)   # with Subsequent-System LAN/mesh impact

वास्तविक दुनिया का जोखिम — एक चोरी हुआ/पुनः उपयोग किया गया TP-Link-ID पासवर्ड जो पूरे mesh में persistent root में बदल जाता है, साथ ही client-traffic MITM — यह narrative (और v4.0 के SC:H/SI:H/SA:L Subsequent-System metrics) में आता है, किसी बढ़ा-चढ़ाकर पेश किए गए v3.1 base vector में नहीं।

Proof of concept

poc/deco_filepush_poc.py — self-contained (stdlib + paramiko)। Credentials केवल DECO_EMAIL / DECO_PASSWORD env vars के माध्यम से। Live modes के लिए DECO_HOSTKEY आवश्यक है, जिसे स्वतंत्र रूप से सत्यापित किया जाता है: raw base64, एक public-key line, या एक ssh-keyscan key line (comments समर्थित)। अकेला scan डिवाइस को authenticate नहीं करता। HTTPS check served bytes की तुलना करता है लेकिन उसके certificate को सत्यापित नहीं करता। ठीक एक mode आवश्यक है; verification विफल होने पर nonzero के साथ exit होता है।

python3 poc/deco_filepush_poc.py --selftest        # offline framing sanity
[email protected] DECO_PASSWORD=*** DECO_HOSTKEY="$TRUSTED_DECO_HOSTKEY" \
  python3 poc/deco_filepush_poc.py --run           # write marker + readback + HTTPS check
[email protected] DECO_PASSWORD=*** DECO_HOSTKEY="$TRUSTED_DECO_HOSTKEY" \
  python3 poc/deco_filepush_poc.py --cleanup <nonce>   # overwrite marker with empty content

PoC /www/log_export (ramfs; रीबूट पर भी साफ़ हो जाता है) में एक एकल अक्रिय मार्कर लिखता है, फिर सफलता की रिपोर्ट करने से पहले डिवाइस के अपने रूट-रीड ऑपकोड के माध्यम से बाइट-सटीक रीडबैक और अपरिवर्तित HTTPS सर्विंग की आवश्यकता होती है।

प्रजनन सारांश (लाइव, 2026-10-17)

  1. ssh-keyscan -p 20001 <deco> → होस्ट कुंजी पिन करें (2048-बिट RSA पूरे मेश में साझा + प्रति-यूनिट nistp521)।
  2. SHA1(owner_email) / TP-Link खाता पासवर्ड के साथ SSH करें, 127.0.0.1:20002 के लिए direct-tcpip का अनुरोध करें।
  3. TMPv2 एसोसिएशन (01010100 → 01010200 → 01010200), फिर ऑपकोड 1 टोकन अनुरोध।
  4. ऑपकोड 0xC456, {"params":{"file":"/www/log_export/deco-write-<nonce>.html", "content":"..."}} → {"error_code":0,...}।
  5. ऑपकोड 0xF0, {"params":{"file":"..."}} → बाइट-सटीक रीडबैक।
  6. GET https://<deco>/log_export/deco-write-<nonce>.html → 200, सटीक बाइट्स।

दायरा / ईमानदारी

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