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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-12356 — गैर-विनाशकारी डिटेक्टर BeyondTrust Remote Support और PRA में अनप्रमाणित RCE के लिए, तर्क इंजेक्शन और PostgreSQL एस्केप बाईपास को जोड़कर समय-आधारित विभेदन के माध्यम से शोषण-क्षमता की पुष्टि करता है। | Kitploit
उपकरण/GitHubGitHub/skraft9/cve-2024-12356
भेद्यता स्कैनरभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubskraft9/cve-2024-12356

CVE-2024-12356

गैर-विनाशकारी डिटेक्टर BeyondTrust Remote Support और PRA में अनप्रमाणित RCE के लिए, तर्क इंजेक्शन और PostgreSQL एस्केप बाईपास को जोड़कर समय-आधारित विभेदन के माध्यम से शोषण-क्षमता की पुष्टि करता है।

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

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

सभी देखें →

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

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

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

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

BeyondTrust रिमोट सपोर्ट और प्रिविलेज्ड रिमोट एक्सेस में आर्गुमेंट इंजेक्शन और PostgreSQL स्ट्रिंग-एस्केप बायपास के माध्यम से अनप्रमाणित रिमोट कोड निष्पादन

नैतिक चेतावनी: केवल शोध, शैक्षिक और अधिकृत परीक्षण प्रयोजनों के लिए। कृपया बिना अनुमति के सिस्टम के विरुद्ध उपयोग न करें।


BeyondTrust रिमोट सपोर्ट (RS) और प्रिविलेज्ड रिमोट एक्सेस (PRA) ऐसे उपकरण हैं जो किसी संगठन के आंतरिक सिस्टम में प्रिविलेज्ड रिमोट सत्रों की मध्यस्थता करते हैं, इसलिए वे अक्सर इंटरनेट पर उजागर होते हैं और नेटवर्क पर एक विश्वसनीय स्थान रखते हैं।

एक अनप्रमाणित हमलावर जो उपकरण के WebSocket एंडपॉइंट तक पहुंच सकता है, दो दोषों को जोड़कर साइट उपयोगकर्ता के रूप में ऑपरेटिंग-सिस्टम कमांड निष्पादित कर सकता है: उपकरण की thin-scc-wrapper स्क्रिप्ट में एक आर्गुमेंट इंजेक्शन (CVE-2024-12356) और एक PostgreSQL स्ट्रिंग-एस्केप बायपास जो एक अमान्य UTF-8 बाइट को प्रारंभिक SQL-लिटरल ब्रेक में बदल देता है (CVE-2025-1094)। कमजोर पथ किसी भी प्रमाणीकरण से पहले पहुंचा जाता है।

इस रिपॉजिटरी में bt_rs_rce_check.py उस श्रृंखला के लिए एक गैर-विनाशकारी डिटेक्टर है। यह उस सटीक अनप्रमाणित कोड पथ को चलाता है जिसका वास्तविक एक्सप्लॉइट उपयोग करता है लेकिन पहुंच-क्षमता के प्रमाण पर रुक जाता है: यह लक्ष्य से केवल एक हानिरहित sleep (समय-आधारित अंतर) या आपके नियंत्रण वाले आउट-ऑफ-बैंड कलेक्टर के लिए एक हानिरहित होस्टनाम/HTTP लुकअप चलाने के लिए कहता है। यह कभी शेल नहीं खोलता, फाइलें नहीं लिखता, डेटा नहीं पढ़ता, स्थायित्व नहीं बनाता, या पार्श्व रूप से आगे नहीं बढ़ता।

  • CVE आईडी:
    • CVE-2024-12356 — BeyondTrust RS और PRA में कमांड/आर्गुमेंट इंजेक्शन
    • CVE-2025-1094 — PostgreSQL psql अमान्य-UTF-8 SQL-इंजेक्शन दोष, RCE को पूरा करने के लिए जोड़ा गया
  • कमजोरी का प्रकार:
    • मूल कारण: CWE-88 आर्गुमेंट इंजेक्शन (BeyondTrust ने CVE-2024-12356 को CWE-77 के रूप में वर्गीकृत किया; Rapid7 का विश्लेषण तर्क देता है कि CWE-88 अधिक सटीक है)
    • जुड़ा दोष: CWE-89 अमान्य UTF-8 के अनुचित हैंडलिंग के माध्यम से SQL इंजेक्शन (CVE-2025-1094)
    • शुद्ध प्रभाव: CWE-78 OS कमांड इंजेक्शन (अनप्रमाणित RCE)
  • प्रभावित सॉफ्टवेयर: BeyondTrust रिमोट सपोर्ट (RS) और प्रिविलेज्ड रिमोट एक्सेस (PRA)।
  • प्रभावित संस्करण: 24.3.1 और पुराने (सभी अनपैच्ड ऑन-प्रिम और, प्रकटीकरण के समय, क्लाउड बिल्ड)।
  • समाधान: BeyondTrust पैच BT24-10 (BT24-10-ONPREM1 / BT24-10-ONPREM2 स्व-होस्टेड उपकरणों के लिए; क्लाउड इंस्टेंस BeyondTrust द्वारा पैच किए गए थे)।
  • स्कोर: 9.8 (क्रिटिकल) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • शोषण स्थिति: जंगली में सक्रिय रूप से शोषित; CISA KEV कैटलॉग में सूचीबद्ध।

प्रभाव

यह श्रृंखला एक ऐसे उपकरण पर साइट उपयोगकर्ता के रूप में अनप्रमाणित रिमोट कोड निष्पादन उत्पन्न करती है जिसका पूरा उद्देश्य आंतरिक सिस्टम में प्रिविलेज्ड एक्सेस की मध्यस्थता करना है, इसलिए एक एकल अनाम अनुरोध एक उजागर RS या PRA होस्ट को एक पैर जमाने और उपकरण द्वारा मध्यस्थता किए गए प्रत्येक डाउनस्ट्रीम सिस्टम की ओर एक पिवट में बदल देता है।

इसके लिए कोई क्रेडेंशियल, कोई उपयोगकर्ता इंटरैक्शन, और कोई पूर्व पहुंच की आवश्यकता नहीं है: हमलावर बाहरी और अनाम है, और एकमात्र पूर्वापेक्षा उपकरण के WebSocket एंडपॉइंट तक नेटवर्क पहुंच है।

कमजोरी का खुलासा जंगली में शोषित पाए जाने के बाद किया गया था, इसे 19 दिसंबर 2024 को CISA ज्ञात शोषित कमजोरियों कैटलॉग में जोड़ा गया था, और इसे सार्वजनिक रूप से दिसंबर 2024 में अमेरिकी वित्त विभाग के उल्लंघन से जोड़ा गया है जिसका श्रेय एक राज्य-प्रायोजित अभिनेता को दिया जाता है।


कमजोरी श्रृंखला

कमजोर तर्क उपकरण की thin-scc-wrapper शेल स्क्रिप्ट में रहता है, जो एक अनप्रमाणित WebSocket फ्रेम से हमलावर-नियंत्रित सत्र कुंजी (gskey) पढ़ता है और इसे डेटाबेस की ओर भेजता है। पूर्ण RCE तीन अलग-अलग समस्याओं की एक श्रृंखला है।

1. thin-scc-wrapper में आर्गुमेंट इंजेक्शन (CVE-2024-12356)। रैपर अविश्वसनीय gskey को एक हेल्पर को बिना उद्धरण के भेजता है, इसलिए शेल echo चलने से पहले इसे तर्कों में विभाजित कर देता है:

root@kitploit:~
quoted=$(export PHPRC="$BG_app_root/config/php-cli.ini"; echo $gskey | $ingrediRoot/app/dbquote)

एक कुंजी जो -e से शुरू होती है, echo को echo -e में बदल देती है, जो बैकस्लैश एस्केप की व्याख्या करता है और हमलावर को अगले चरण में प्रवाहित डेटा में मनमाने कच्चे बाइट्स — सबसे महत्वपूर्ण रूप से \xC0 — उत्सर्जित करने देता है। हमलावर एक नया कमांड इंजेक्ट करने के बजाय एक मौजूदा कमांड के फ्लैग को नियंत्रित करता है, यही कारण है कि यह क्लासिक कमांड इंजेक्शन के बजाय आर्गुमेंट इंजेक्शन (CWE-88) है।

2. अमान्य UTF-8 के माध्यम से PostgreSQL एस्केप बायपास (CVE-2025-1094)। dbquote PHP के pg_escape_string() के साथ मान को एस्केप करता है, जो libpq के PQescapeStringInternal() को कॉल करता है। एक मल्टीबाइट वर्ण के लिए यह pg_encoding_mblen() द्वारा रिपोर्ट की गई लंबाई पर भरोसा करता है और वर्ण के बाइट्स को शब्दशः, बिना सत्यापन के कॉपी करता है:

root@kitploit:~
len = pg_encoding_mblen(encoding, source);
for (i = 0; i < len; i++)   /* copy the character */
    *target++ = *source++;

0xC0 जैसा बाइट 2-बाइट वर्ण की घोषणा करता है, इसलिए एस्केपर अगले बाइट को अपने "निरंतरता" के रूप में निगल जाता है — तब भी जब वह बाइट एकल उद्धरण (0x27) हो। इसलिए अनुक्रम 0xC0 0x27 एक अनएस्केप्ड सिंगल-कोट बाइट के साथ "एस्केप्ड" स्ट्रिंग में एम्बेडेड रहते हुए गुजरता है।

3. psql लिटरल से बाहर निकलता है और \! चलाता है (CVE-2025-1094)। "एस्केप्ड" स्ट्रिंग को psql में पाइप किया जाता है, जो 0xC0 0x27 को एक वर्ण के रूप में नहीं मानता है, इसलिए 0x27 SQL स्ट्रिंग लिटरल को जल्दी बंद कर देता है और इसके बाद की हर चीज़ को नए इनपुट के रूप में पार्स किया जाता है। हमलावर इसका उपयोग psql के \! मेटा-कमांड तक पहुंचने के लिए करता है, जो साइट उपयोगकर्ता के रूप में एक शेल कमांड चलाता है:

root@kitploit:~
<0xC0>'; \! <cmd> #

Rapid7 ने पाया कि व्यवहार में RCE हमेशा CVE-2025-1094 पर निर्भर करता है, और यह अपने आप में पर्याप्त है: एक बाइनरी WebSocket फ्रेम के अंदर कच्चा 0xC0 बाइट वितरित करना (एक टेक्स्ट फ्रेम के बजाय, जहां UTF-8 सत्यापन इसे हटा देगा) gskey तक अपरिवर्तित पहुंचता है और बिना किसी echo -e चरण के SQL ब्रेकआउट को ट्रिगर करता है। यह डिटेक्टर उस बाइनरी-फ्रेम दृष्टिकोण का उपयोग करता है।


पहुंच-क्षमता

पूरी श्रृंखला एक एकल WebSocket पर प्री-प्रमाणीकरण पहुंच योग्य है:

  1. एंडपॉइंट — /nw के लिए एक अनप्रमाणित WebSocket (उपकरण पर एक Tornado हैंडलर)।
  2. ऐप चयन — कमजोर "thin" ऐप को Sec-WebSocket-Protocol: ingredi support desk customer thin हेडर के साथ चुना जाता है, जिसे URL-एन्कोडेड ingredi%20support%20desk%20customer%20thin के रूप में भेजा जाता है।
  3. कंपनी समाधान — लक्ष्य टेनेंट HTTP Host हेडर (एक स्थापित कंपनी से मैप किया गया) या, फॉलबैक के रूप में, X-Ns-Company हेडर से हल किया जाता है। यदि कोई भी स्थापित कंपनी से मैप नहीं होता है तो उपकरण gskey संसाधित होने से पहले सॉकेट बंद कर देता है।
  4. पेलोड — एक न्यूलाइन-सीमांकित बाइनरी फ्रेम जिसमें प्रोटोकॉल संस्करण 1, एक thinMint UUID, authType 0 (gskey प्रमाणीकरण), फिर दुर्भावनापूर्ण gskey (संस्करण 1 का अर्थ है कोई locale_code लाइन नहीं):
root@kitploit:~
1
<thinMint UUID>
0
<0xC0>'; \! <cmd> #

पहचान

BT24-10 एक इनपुट-सत्यापन गेट जोड़ता है जो किसी भी गैर-अल्फ़ान्यूमेरिक gskey को dbquote/psql तक पहुंचने से पहले अस्वीकार कर देता है:

root@kitploit:~
elif [[ ! "$gskey" =~ ^[a-zA-Z0-9]{32}$ ]]; then
    blog "bad session key given"
    ...
    exit 1

0xC0, एक उद्धरण, या एक शेल मेटाकैरेक्टर वाली कोई भी कुंजी अस्वीकार कर दी जाती है और स्क्रिप्ट बाहर निकल जाती है, इसलिए एक पैच किया गया उपकरण कोई 1 failure उत्तर और कोई कमांड निष्पादन उत्पन्न नहीं करता है। डिटेक्टर उस व्यवहारिक अंतर को एक एग्रेस-स्वतंत्र समय-आधारित अंतर में बदल देता है जिसे लक्ष्य से किसी आउटबाउंड कनेक्टिविटी की आवश्यकता नहीं होती है:

  • नियंत्रण — एक वैध-प्रारूप gskey (A × 32)। पैच और अनपैच दोनों बिल्ड पर यह DB लुकअप तक पहुंचता है और ['2\n', '1 failure\n'] जल्दी लौटाता है।
  • इंजेक्शन — <0xC0>'; \! sleep <delay> #। एक कमजोर होस्ट पर psql इंजेक्टेड sleep चलाता है, इसलिए 1 failure उत्तर लगभग <delay> सेकंड से विलंबित होता है। एक पैच किए गए होस्ट पर gskey regex कुंजी को अस्वीकार कर देता है, स्क्रिप्ट बाहर निकल जाती है, और सॉकेट बिना किसी उत्तर के तेजी से बंद हो जाता है।

क्योंकि निर्णय उपकरण के अपने उत्तर के समय पर निर्भर करता है, यह तब भी मान्य रहता है जब लक्ष्य आउटबाउंड DNS/HTTP को ब्लॉक करता है — एक ऐसा मामला जहां अकेले OAST कॉलबैक गलत-नकारात्मक परिणाम देगा। वैकल्पिक कॉलबैक मोड केवल पुष्टि के लिए है, उन होस्टों के लिए जो एग्रेस की अनुमति देते हैं।


उपयोग

एकमात्र निर्भरता स्थापित करें:

root@kitploit:~
pip install -r requirements.txt

डिफरेंशियल मोड (अनुशंसित, एग्रेस-स्वतंत्र):

root@kitploit:~
python3 bt_rs_rce_check.py --target rs.example.com --mode differential

OAST पुष्टि के साथ डिफरेंशियल:

root@kitploit:~
python3 bt_rs_rce_check.py --target rs.example.com \
    --oast <your-collector>.oast.pro --mode both

जब Host हेडर किसी टेनेंट से हल नहीं होता है, एक स्पष्ट स्लग प्रदान करें, या उम्मीदवार स्लग की एक फ़ाइल (प्रति पंक्ति एक) जो X-Ns-Company हेडर के माध्यम से क्रम में आज़माई जाती है:

root@kitploit:~
python3 bt_rs_rce_check.py --target rs.example.com --company acme
python3 bt_rs_rce_check.py --target rs.example.com --company-list slugs.txt

मुख्य विकल्प:

विकल्पअर्थ
--target <host>उपकरण वर्चुअल होस्ट / FQDN (आवश्यक)।
--company <slug>स्पष्ट टेनेंट स्लग, X-Ns-Company के रूप में भेजा गया।
--company-list <file>उम्मीदवार स्लग की फ़ाइल, जब तक एक हल न हो जाए तब तक आज़माई जाती है।
--oast <domain>कॉलबैक पुष्टि के लिए आउट-ऑफ-बैंड कलेक्टर डोमेन।
--mode {differential,callback,both}पहचान रणनीति (डिफ़ॉल्ट differential)।
--delay <seconds>समय-आधारित परीक्षण के लिए sleep अवधि (डिफ़ॉल्ट 9)।
--timeout <seconds>प्रति-प्रोब सॉकेट टाइमआउट (डिफ़ॉल्ट 25)।
--header 'H: v'अतिरिक्त कच्चा अनुरोध हेडर; दोहराने योग्य।

परिणाम पढ़ना:

  • VULNERABLE — इंजेक्टेड 1 failure उत्तर नियंत्रण के सापेक्ष लगभग --delay सेकंड से विलंबित था। sleep निष्पादित हुआ; अनप्रमाणित RCE श्रृंखला इस होस्ट पर शोषण योग्य है।
  • PATCHED — नियंत्रण ने 1 failure तेजी से लौटाया, लेकिन इंजेक्शन बिना किसी उत्तर के अस्वीकार कर दिया गया। BT24-10 gskey regex मौजूद है और इंजेक्शन कभी भी psql सिंक तक नहीं पहुंचता है।
  • UNRESOLVED ("company did not resolve") — कोई भी प्रोब 1 failure उत्पन्न नहीं करता, इसलिए नियंत्रण भी gskey हैंडलर तक नहीं पहुंचा। यह पैच किया गया परिणाम नहीं है; उपकरण ने सॉकेट बंद कर दिया क्योंकि Host/कंपनी किसी स्थापित कंपनी से मैप नहीं हुई। सही वर्चुअल होस्ट (--target) या एक वैध स्लग (--company / --company-list) के साथ पुनः प्रयास करें।

उपचार

BT24-10 (BT24-10-ONPREM1 / BT24-10-ONPREM2) लागू करें या 24.3.1 से आगे अपग्रेड करें। क्योंकि श्रृंखला PostgreSQL psql दोष (CVE-2025-1094) पर भी निर्भर करती है, PostgreSQL क्लाइंट टूलिंग को भी पैच रखें, और जहां संभव हो उपकरण के WebSocket एंडपॉइंट के नेटवर्क एक्सपोज़र को प्रतिबंधित करें।


संदर्भ

  • CVE-2024-12356 — NVD प्रविष्टि: BeyondTrust RS/PRA कमांड/आर्गुमेंट इंजेक्शन (CVSS 9.8)।
  • CVE-2025-1094 — NVD प्रविष्टि: PostgreSQL psql अमान्य-UTF-8 / SQL-इंजेक्शन दोष, RCE को पूरा करने के लिए जोड़ा गया।
  • BeyondTrust सलाहकार BT24-10 — RS/PRA कमांड इंजेक्शन के लिए आधिकारिक विक्रेता सुरक्षा सलाहकार और पैच।
  • CISA KEV कैटलॉग प्रविष्टि — CVE-2024-12356, 19 दिसंबर 2024 को जोड़ा गया, और CISA अलर्ट जो जोड़ने की घोषणा करता है।
  • Rapid7 विश्लेषण: CVE-2024-12356 — अनप्रमाणित RCE को फिर से बनाया और जुड़े PostgreSQL दोष CVE-2025-1094 की खोज की।
  • Metasploit शोषण मॉड्यूल — rapid7/metasploit-framework PR #19877, BeyondTrust RS/PRA के विरुद्ध अनप्रमाणित RCE।

कानूनी

यह सॉफ्टवेयर केवल अधिकृत सुरक्षा परीक्षण और रक्षात्मक शोध के लिए प्रदान किया गया है। इसे विशेष रूप से उन सिस्टमों के विरुद्ध चलाएं जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपको लिखित रूप में स्पष्ट रूप से अधिकृत किया गया है। यह एक गैर-विनाशकारी डिटेक्टर है जो जानबूझकर हथियारबंद कमांड निष्पादन, डेटा एक्सेस और स्थायित्व से बचता है। सभी लागू कानूनों का पालन करने और उचित प्राधिकरण प्राप्त करने के लिए आप पूरी तरह से जिम्मेदार हैं; लेखक दुरुपयोग के लिए कोई दायित्व स्वीकार नहीं करते हैं।

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