
Fidelis Network and Deception - असुरक्षित फ़ाइल अनुमतियाँ विशेषाधिकार वृद्धि
इस एक्सप्लॉइट को संयुक्त राज्य सरकार द्वारा सार्वजनिक रिलीज़ के लिए अनुमोदित किया गया था। असीमित वितरण हेतु दस्तावेज़ीकरण को अनुमोदित करने वाले सर्विसमैनों और सरकारी लियाज़नों को विशेष धन्यवाद। कृपया निम्नलिखित OTR नंबर देखें:
दिनांक: 20220516 0123H UTC
एक्सप्लॉइट लेखक: Henry Reed, The Aerospace Corporation
विक्रेता होमपेज: https://fidelissecurity.com/
प्रभावित संस्करण:
परीक्षण किया गया:
CVE: CVE-2022-0997
CVE विवरण: Fidelis Network and Deception के CommandPost, Collector, और Sensor घटकों में अनुचित फ़ाइल अनुमतियाँ एक हमलावर को, जिसके पास CLI तक स्थानीय प्रशासनिक पहुँच है, प्रभावित स्क्रिप्ट फ़ाइलों को संशोधित करने में सक्षम बनाती हैं, जिसके परिणामस्वरूप रूट उपयोगकर्ता द्वारा बाद में लॉग ऑन करने पर मनमाने कमांड रूट के रूप में चलाए जा सकते हैं। यह भेद्यता Fidelis Network and Deception के 9.4.5 से पहले के संस्करणों में मौजूद है। इस भेद्यता को दूर करने के लिए पैच और अपडेट उपलब्ध हैं।
/etc/profile.d/ निर्देशिका की स्क्रिप्ट लॉगिन पर लॉन्च होती हैं। fidelis उपयोगकर्ता के पास login.sh स्क्रिप्ट का स्वामित्व होता है, जो fidelis उपयोगकर्ता को फ़ाइल को मनमाने ढंग से संशोधित करने की अनुमति देता है। रूट उपयोगकर्ता द्वारा बाद में लॉग ऑन करने पर यह स्क्रिप्ट लॉन्च होती है, जिससे एक प्रतिद्वंद्वी रूट के रूप में मनमाना कोड निष्पादन प्राप्त कर सकता है।
यह अनुशंसा की जाती है कि प्रभावित Fidelis Deception या Fidelis Network उपयोगकर्ता इस भेद्यता को पैच करने के लिए अपने सॉफ़्टवेयर को अपडेट करें। सभी उपयोगकर्ताओं के लिए भी यह अनुशंसा की जाती है, चाहे वे इस भेद्यता से प्रभावित हुए हों या नहीं, कि प्रारंभिक कॉन्फ़िगरेशन के बाद अपने Fidelis उत्पादों तक शेल पहुँच अक्षम कर दें।
यदि किसी कारण से इनमें से कोई भी संभव न हो, तो इस दस्तावेज़ में संवेदनशील फ़ाइल के लिए एक शमन उपाय वर्णित है। लेखक के परीक्षण की सीमा तक, ऐसा प्रतीत होता है कि वर्णित शमन उपायों को लागू करने से पहले उपयोगकर्ताओं को विशेषाधिकार बढ़ाने के लिए भेद्यता का उपयोग करना होगा, इसलिए Fidelis को अपडेट करना और SSH को अक्षम करना दृढ़ता से अनुशंसित है।
परीक्षण किया गया:
/etc/profile.d/login.sh पर गलत तरीके से कॉन्फ़िगर की गई स्वामित्व अनुमतियाँ fidelis उपयोगकर्ता को कई Fidelis उत्पादों में रूट उपयोगकर्ता के समकक्ष विशेषाधिकार बढ़ाने की अनुमति देती हैं। /etc/profile.d की स्क्रिप्ट हर बार जब कोई उपयोगकर्ता शेल खोलता है तो लॉन्च होती हैं। फ़ाइल fidelis उपयोगकर्ता के स्वामित्व में है, जो fidelis उपयोगकर्ता को स्क्रिप्ट को मनमाने ढंग से संशोधित करने और, जब रूट उपयोगकर्ता लॉग इन करता है, रिवर्स शेल जैसा मनमाना कोड चलाने की अनुमति देती है।
$ vim /etc/profile.d/login.sh
इस भेद्यता की खोज सबसे पहले LinPEAS, एक Linux विशेषाधिकार वृद्धि गणना स्क्रिप्ट का उपयोग करके की गई थी:

लाल हाइलाइट में दिखे टेक्स्ट पर ध्यान दें, "You have write privileges over /etc/profile.d/login.sh". लाल-हाइलाइट किया गया आउटपुट एक्सप्लॉइट के कार्यशील होने की उच्च विश्वसनीयता को इंगित करता है।
LinPEAS द्वारा प्रकट की गई एक्सप्लॉइट की प्रत्येक संभावित श्रेणी के साथ nook.hacktricks.xyz पर एक गाइड का लिंक होता है जो बताता है कि भेद्यता का शोषण कैसे करें। त्वरित पढ़ने के बाद, यह निर्णय लिया गया कि Python2 के माध्यम से एक रिवर्स शेल इस भेद्यता का शोषण करने का सबसे आसान तरीका होगा; हालाँकि, कोई भी अन्य कोड भी इस्तेमाल किया जा सकता था। नया कोड if स्टेटमेंट if [[ $(whoami) = root ]] से शुरू होता है:

login.sh में रिवर्स शेल जोड़ने के बाद, हम उस उपयोगकर्ता के रूप में मैन्युअल रूप से लॉग इन करके रूट लॉगिन का अनुकरण करते हैं। ध्यान दें कि वास्तविक दुनिया में, हमलावर को तब तक इंतजार करना होगा जब तक कोई व्यवस्थापक रूट उपयोगकर्ता के रूप में मैन्युअल रूप से लॉग इन न कर ले।

इसके बाद हमलावर को एक रिवर्स रूट शेल मिलता है:

/etc/profile.d/login.sh के उपयोगकर्ता और समूह स्वामियों को root:root में बदलना और /etc/profile.d/login.sh पर केवल "अन्य" (others) श्रेणी के उपयोगकर्ताओं को पढ़ने और निष्पादित करने की अनुमति देना इस भेद्यता को कम कर सकता है:
