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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SuiteCRM-RCE — CVE-2020-28328 पर SuiteCRM लॉग फ़ाइल रिमोट कोड निष्पादन और कुछ अतिरिक्त क्रॉस-साइट स्क्रिप्टिंग का विवरण | Kitploit
उपकरण/GitHubGitHub/mcorybillington/suitecrm-rce
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणफिशिंगपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षा
GitHubmcorybillington/suitecrm-rce

SuiteCRM-RCE

CVE-2020-28328 पर SuiteCRM लॉग फ़ाइल रिमोट कोड निष्पादन और कुछ अतिरिक्त क्रॉस-साइट स्क्रिप्टिंग का विवरण

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

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

सभी देखें →

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

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

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

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

CVE-2020-28328 SuiteCRM लॉग फ़ाइल सिस्टम सेटिंग और लॉग फ़ाइल विषाक्तता के माध्यम से रिमोट कोड निष्पादन

अवलोकन

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

गंभीरता

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
मैं इस रेटिंग से पूरी तरह सहमत नहीं हूँ क्योंकि एक्सप्लॉइट के लिए प्रशासनिक पहुँच की आवश्यकता होती है, जो PR:L को PR:H में बदल देगा, अंतिम स्कोर को 8.8 से 7.2 तक समायोजित करेगा।
मैं इसे इस प्रकार रेट करूँगा: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H संदर्भ:


https://nvd.nist.gov/vuln/detail/CVE-2020-28328

संस्करण विवरण

SuiteCRM संस्करण 7.11.15

क्रॉस-साइट स्क्रिप्टिंग (XSS)

संग्रहीत क्रॉस-साइट स्क्रिप्टिंग 'Create Documents' फ़ाइल अपलोड में मौजूद है। एक निम्न-विशेषाधिकार वाला उपयोगकर्ता किसी भी सामग्री वाली फ़ाइल अपलोड करने में सक्षम है। उपयोगकर्ता तब इस दस्तावेज़ को डाउनलोड करने के लिए प्रदान किए गए लिंक की जांच कर सकता है और id पैरामीटर का पता लगाकर फ़ाइल सिस्टम पर फ़ाइल के स्थान का पता लगा सकता है। यह लंबा, यादृच्छिक मान /uploads/ निर्देशिका के अंदर फ़ाइल का नाम है। उपयोगकर्ता इस फ़ाइल में मनमाना जावास्क्रिप्ट रख सकता है और फिर लिंक किसी अन्य उपयोगकर्ता को भेज सकता है। इसका उपयोग किसी अन्य उपयोगकर्ता के सत्र को हाईजैक करने और/या उस उपयोगकर्ता की ओर से कार्य करने के लिए किया जा सकता है, जैसा कि PoC वीडियो में दिखाया जाएगा।

रिमोट कोड निष्पादन

यह पता लगाने के बाद कि मैं क्रॉस-साइट स्क्रिप्टिंग के माध्यम से सत्र हाईजैकिंग द्वारा एडमिन बन सकता हूँ, मैंने तब पाया कि मैं 'Admin → System Settings' के तहत सिस्टम गुणों को नियंत्रित कर सकता हूँ, विशेष रूप से लॉग फ़ाइल गुण। लॉग फ़ाइल एक्सटेंशन काफी हद तक ब्लॉक किए गए थे, लेकिन मैं BurpSuite का उपयोग करके 'Log File Name' मान को किसी भी मनमाने मान में अपडेट करने में सक्षम था, जिसमें .php एक्सटेंशन शामिल हैं। मैंने ऐसा बिना कुछ बदले एक अनुरोध सबमिट करके और उस POST अनुरोध को कैप्चर करके किया जो वास्तव में मानों को अपडेट करता है। मैंने logger_file_name पैरामीटर के माध्यम से फ़ाइल नाम को shell.php में बदल दिया और बस 'Extension' फ़ील्ड को खाली कर दिया। इससे एक php फ़ाइल प्राप्त हुई जिसे मैं वेबरूट पर ब्राउज़र में एक्सेस कर सकता था, लेकिन मुझे फ़ाइल के अंदर निष्पादित करने के लिए कुछ php कोड की आवश्यकता थी।
इसके बाद, मैंने फ़ाइल में आउटपुट की जाँच की और देखा कि यदि मैं लॉगिंग को info पर सेट करता हूँ (जो मुझे लगता है कि डिफ़ॉल्ट था...), तो मैं उपयोगकर्ता गुणों (जैसे उपयोगकर्ता का प्रथम या अंतिम नाम) के माध्यम से फ़ाइल में इनपुट को नियंत्रित कर सकता हूँ, यदि मैं किसी उपयोगकर्ता को अपडेट करता हूँ। इसलिए, मैंने burp में एक अनुरोध कैप्चर किया और last_name फ़ॉर्म फ़ील्ड में कुछ php कोड <?php $id =`id`; echo $id; ?> डाला। इसके परिणामस्वरूप वेब सर्वर उपयोगकर्ता www-data के संदर्भ में Linux पर id कमांड का आउटपुट प्राप्त हुआ। लॉग फ़ाइल के आधार पर मैं बता सकता हूँ कि केवल एकल उद्धरण, दोहरे उद्धरण और बैक स्लैश को एस्केप किया गया था। आप बैकएंड पर sql लॉग फ़ाइल को tail करके इसकी पुष्टि कर सकते हैं।

क्रॉस-साइट रिक्वेस्ट फोर्जरी के लिए दोनों को श्रृंखलित करना (एक क्लिक -> शेल)

मैं यह सब एडमिन उपयोगकर्ता के रूप में करने में सक्षम था क्योंकि मैं सत्र कुकीज़ प्राप्त करने में सक्षम था, हालांकि एक कार्यशील श्रृंखला के लिए, मुझे एडमिन उपयोगकर्ता के संदर्भ में जावास्क्रिप्ट के माध्यम से इसे निष्पादित करने की आवश्यकता थी। मैं इनमें से प्रत्येक POST अनुरोध को करने के लिए कुछ fetch अनुरोधों का उपयोग करके इसे स्क्रिप्ट करने में सक्षम था। पहले ने सिस्टम गुणों को अपडेट किया, दूसरे ने एडमिन उपयोगकर्ता के 'Last Name' फ़ील्ड को अपडेट किया, और अंतिम ने नव निर्मित लॉग फ़ाइल पर दुर्भावनापूर्ण php कोड के साथ एक GET अनुरोध किया। दुर्भावनापूर्ण php कोड मेरी मशीन के विरुद्ध एक curl अनुरोध करेगा, एक bash रिवर्स शेल डाउनलोड करेगा, और फिर उस curl अनुरोध के आउटपुट को सीधे bash में पाइप करेगा, कोड को निष्पादित करेगा। फिर मैंने इसे उसी विधि का उपयोग करके अपलोड किया जिस पर मैंने XSS अनुभाग में चर्चा की थी और एडमिन उपयोगकर्ता के रूप में नए लिंक पर पुनः विज़िट किया। मेरी bash फ़ाइल होस्ट करने वाले एक वेब सर्वर और चल रहे एक netcat लिसनर के साथ, मैं एक रिवर्स शेल प्राप्त करने में सक्षम था।

शमन

क्रॉस-साइट स्क्रिप्टिंग

सुनिश्चित करें कि आपके पास Apache में AllowOveride All सेट है। nginx में यह सेटिंग नहीं है और मैंने इसका nginx पर परीक्षण नहीं किया।

रिमोट कोड निष्पादन

SuiteCRM के नवीनतम रिलीज़, या कम से कम संस्करण 7.11.17 में अपडेट करें।
यह विशिष्ट फिक्स है। कमिट 1618af16eaa494c4551bac961e5ac8fc3d87ab8c

SuiteCRM को रिपोर्ट करना

SuiteCRM रिपोर्टिंग प्रक्रिया के दौरान बहुत उत्तरदायी था। उन्होंने RCE को स्वीकार किया, जिसे पैच किया गया था। XSS एक वेब सर्वर कॉन्फ़िगरेशन का परिणाम था इसलिए उन्होंने इसे एक कमजोरी के रूप में स्वीकार नहीं किया। हालांकि, उन्होंने नोट किया कि वे इसके आलोक में दस्तावेज़ीकरण को अपडेट करेंगे।

समयरेखा

06 AUG 2020 -> दोनों मुद्दे [email protected] को रिपोर्ट किए गए
07 AUG 2020 <- SuiteCRM ने रिपोर्ट प्राप्त करने की पुष्टि की और आंतरिक सुरक्षा टीम के साथ मुद्दा उठाया
21 AUG 2020 -> मैंने अनुवर्ती के लिए [email protected] से संपर्क किया
25 AUG 2020 <- SuiteCRM ने वेब सर्वर कॉन्फ़िगरेशन/XSS के बारे में उत्तर दिया
26 AUG 2020 -> मैंने यह कहने के लिए उत्तर दिया कि AllowOveride All का सुझाव XSS को कम करता है
16 SEP 2020 -> मैंने अनुवर्ती के लिए [email protected] से संपर्क किया
17 SEP 2020 <- SuiteCRM ने मुद्दे को आंशिक मुद्दे के रूप में पुष्टि करने के लिए उत्तर दिया
29 OCT 2020 अपडेट जारी किया गया
03 NOV 2020 -> मैंने यह सुनिश्चित करने के लिए [email protected] से संपर्क किया कि राइटअप जारी करने से पहले उनकी ओर से और कुछ आवश्यक नहीं है
05 NOV 2020 <- SuiteCRM ने उत्तर दिया

अब हमने इस मुद्दे के लिए एक पैच जारी कर दिया है और यह सार्वजनिक डोमेन में है, हमारे दृष्टिकोण से आपके लिए कमजोरियों पर ब्लॉग पोस्ट करने में कोई समस्या नहीं है।

05 NOV 2020 -> मेरे द्वारा CVE का अनुरोध किया गया
06 NOV 2020 <- CVE-2020-28328 जारी किया गया

POC

https://www.exploit-db.com/exploits/49001

SuiteCRM को धन्यवाद!

उनके साथ काम करना बहुत आसान था और मैं निश्चित रूप से इस सॉफ़्टवेयर में कमजोरियों की खोज और रिपोर्टिंग जारी रखने की योजना बना रहा हूँ!

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