अगस्त 2020 में, माइक्रोसॉफ्ट ने एक्टिव डायरेक्टरी में एक क्रिटिकल विंडोज सर्वर भेद्यता को ठीक करने के लिए एक अपडेट जारी किया — CVE-2020-1472 (जिसे Zerologon के नाम से जाना जाता है)। यह अपडेट 4 महीने पहले सभी डोमेन कंट्रोलर्स पर सफलतापूर्वक इंस्टॉल किया गया था। हालांकि, सभी विंडोज एडमिन यह नहीं जानते कि DCs पर अपडेट इंस्टॉल करना कहानी का अंत नहीं है। इस लेख में, हम Zerologon भेद्यता के बारे में बताएंगे, AD डोमेन कंट्रोलर्स को इससे कैसे बचाएं, फरवरी 2021 में एक और Zerologon अपडेट क्यों जारी किया जाएगा और एक विंडोज सर्वर एडमिनिस्ट्रेटर को इस सब के साथ क्या करना चाहिए।
ZeroLogon: विंडोज Netlogon भेद्यता CVE-2020-1472
सभी विंडोज सर्वर संस्करणों (2008 R2, 2012, 2016, 2019) में एक्टिव डायरेक्टरी में क्रिटिकल भेद्यता CVE-2020-1472 एक गैर-प्रमाणित उपयोगकर्ता को रिमोटली डोमेन एडमिनिस्ट्रेटर विशेषाधिकार प्राप्त करने की अनुमति देती है। Netlogon रिमोट प्रोटोकॉल (MS-NRPC) में AES-CFB8 एन्क्रिप्शन प्रोटोकॉल कार्यान्वयन में एक बग के कारण, नेटवर्क पर डोमेन कंट्रोलर तक पहुंच रखने वाला एक हमलावर विशेषाधिकारों को बढ़ा सकता है और AD में डोमेन कंट्रोलर खाते का पासवर्ड बदल सकता है। फिर एक हमलावर SYSTEM विशेषाधिकारों के साथ DC पर प्रमाणित कर सकता है और एक्टिव डायरेक्टरी पर पूर्ण नियंत्रण प्राप्त कर सकता है (डोमेन एडमिनिस्ट्रेटर पासवर्ड रीसेट करें या AD में कोई अन्य कार्य करें)।
Netlogon प्रोटोकॉल का उपयोग AD डोमेन नेटवर्क में उपयोगकर्ताओं और कंप्यूटर्स को प्रमाणित करने के लिए किया जाता है। Netlogon का उपयोग एक्टिव डायरेक्टरी डोमेन में कंप्यूटर खाता पासवर्ड को रिमोटली अपडेट करने के लिए भी किया जाता है।
Zerologon भेद्यता को लागू करने के लिए, हमलावर को Netlogon (निम्न पोर्ट उपयोग किए जाते हैं: RPC लोकेटर TCP/135, RPC डायनामिक पोर्ट रेंज और TCP/445 पर SMB प्रोटोकॉल) पर एक कनेक्शन स्थापित करने की आवश्यकता होती है, जो शून्य से शुरू होने वाले विशिष्ट अनुक्रम का उपयोग करता है। Netlogon भेद्यता आपको वैध डोमेन कंप्यूटर का प्रतिरूपण करने की अनुमति देती है, और आप अपने विशेषाधिकारों को बढ़ाने के बाद DC खाता पासवर्ड बदल सकते हैं।
भेद्यता को अधिकतम CVSS रेटिंग (10 में से 10 अंक) दी गई थी।
प्रभावित सभी विंडोज सर्वर संस्करण:
- विंडोज सर्वर 2019, विंडोज सर्वर 2016;
- विंडोज सर्वर 2004, 1909, 1903;
- विंडोज सर्वर 2012 R2/2012;
- विंडोज सर्वर 2008 R2 SP 1।
फिलहाल, कई काम करने वाले Zerologon पब्लिक एक्सप्लॉइट्स हैं (mimikatz में एक zerologon मॉड्यूल भी जोड़ा गया था)।
अपने नेटवर्क में zerologon एक्सप्लॉइट्स का परीक्षण न करें, क्योंकि यदि आप अपने DC पासवर्ड को खाली में रीसेट करते हैं, तो आप अपने AD इंफ्रास्ट्रक्चर को नुकसान पहुंचा सकते हैं।
आपके DCs का zerologon भेद्यता के लिए परीक्षण करने के लिए एक Python स्क्रिप्ट है: https://github.com/SecuraBV/CVE-2020-1472।
Zerologon के खिलाफ विंडोज सर्वर अपडेट्स
चूंकि माइक्रोसॉफ्ट अब विंडोज सर्वर 2008 R2 का समर्थन नहीं करता है, इस OS संस्करण के लिए कोई सार्वजनिक रूप से उपलब्ध बगफिक्स नहीं है। हालांकि, यदि आपने एक्सटेंडेड सिक्योरिटी अपडेट्स (ESU) 1-वर्ष की सदस्यता खरीदी है, तो आप WS2008R2 के लिए 4571729 अपडेट डाउनलोड और इंस्टॉल कर सकते हैं।
विंडोज सर्वर 2008 R2 के लिए एक अनौपचारिक Zerologon पैच है — 0patch (https://blog.0patch.com/2020/09/micropatch-for-zerologon-perfect.html)। आप इसे अपने जोखिम पर उपयोग कर सकते हैं।
अन्य विंडोज सर्वर संस्करणों के लिए अपडेट विंडोज अपडेट, WSUS में उपलब्ध हैं या आप माइक्रोसॉफ्ट अपडेट कैटलॉग से मैन्युअली अपडेट डाउनलोड कर सकते हैं और MSU अपडेट फ़ाइल को मैन्युअली इंस्टॉल कर सकते हैं।
- विंडोज सर्वर 2019 (KB4565349), विंडोज सर्वर 2016 (KB571694);
- विंडोज सर्वर 2004 (4566782), 1909 (KB4565351), 1903 (KB4565351);
- विंडोज सर्वर 2012 R2 (KB4571723), विंडोज सर्वर 2012 (KB4571702)।
एक्टिव डायरेक्टरी डोमेन कंट्रोलर्स को ZeroLogon से बचाना
Zerologon भेद्यता को ठीक करने वाले अपडेट अगस्त 2020 में जारी किए गए थे। अपने एक्टिव डायरेक्टरी को सुरक्षित करने के लिए, आपको अपने विंडोज सर्वर संस्करण के लिए अगस्त संचयी अपडेट (या बाद का) अपने सभी डोमेन कंट्रोलर्स पर इंस्टॉल करना होगा।
दरअसल, पैच एक अस्थायी फिक्स है।
माइक्रोसॉफ्ट Netlogon में सिक्योर रिमोट प्रोसीजर कॉल (RPC) में सुचारु परिवर्तन प्रदान करने के लिए Zerologon को दो चरणों में ठीक करने जा रहा है:
- पहला (डिप्लॉयमेंट) चरण। अगस्त पैच ज्ञात हमले के परिदृश्य से डोमेन कंट्रोलर्स की रक्षा के लिए एक आपातकालीन फिक्स है। लेकिन यह अपडेट भेद्यता को पूरी तरह से ठीक नहीं करता (DC पर Netlogon के माध्यम से हमला करने के अन्य परिदृश्य भी संभव हैं)। लीगेसी सिस्टम जो Netlogon के लिए RPC प्रोटोकॉल के नए सुरक्षित संस्करण का समर्थन नहीं करते, वे अभी भी डोमेन कंट्रोलर से कनेक्ट हो सकते हैं।
- दूसरा (एनफोर्समेंट) चरण. अगला अपडेट 9 फरवरी, 2021 को जारी किया जाएगा। इस अपडेट को इंस्टॉल करने के बाद, सभी डोमेन कंट्रोलर पुराने Netlogon प्रोटोकॉल का उपयोग करने वाले कनेक्शन को अस्वीकार कर देंगे (हालांकि, आप GPO का उपयोग करके लीगेसी उपकरणों के लिए अपवाद सेट कर सकते हैं, हम नीचे दिखाएंगे कि यह कैसे करना है)।
पहला पैच इंस्टॉल करने के बाद, आप डोमेन कंट्रोलर लॉग में असुरक्षित Netlogon RPC संस्करण का उपयोग करने वाले डिवाइस कनेक्शन इवेंट पा सकते हैं। इसके अलावा, यदि आपके नेटवर्क में कोई लीगेसी डिवाइस नहीं हैं, तो आप अपने डोमेन कंट्रोलर्स पर पुराने Netlogon RPC संस्करण के लिए समर्थन को अक्षम कर सकते हैं, फरवरी 2021 की प्रतीक्षा किए बिना (FullSecureChannelProtection रजिस्ट्री पैरामीटर का उपयोग करके)।
सुरक्षा अपडेट इंस्टॉल करने के बाद, कमजोर Netlogon संस्करण का उपयोग करके कंप्यूटर कनेक्ट करने की घटनाएं डोमेन कंट्रोलर लॉग में दर्ज की जाएंगी। आपको इवेंट व्यूअर -> विंडोज लॉग्स -> सिस्टम में NETLOGON से निम्नलिखित EventIDs पर ध्यान देना चाहिए:
- EventID 5827 और 5828 — Netlogon सर्विस ने एक कंप्यूटर खाते से कमजोर Netlogon सिक्योर चैनल कनेक्शन को अस्वीकार कर दिया। इस संदेश का अर्थ है कि इस कंप्यूटर का कनेक्शन कमजोर Netlogon संस्करण का उपयोग करके अस्वीकार कर दिया गया है (यह फरवरी 2021 तक एक संदर्भ संदेश है, कनेक्शन को ब्लॉक करने के लिए कोई वास्तविक कार्रवाई नहीं की जाती है)। आप सभी इवेंट्स को CSV फ़ाइल में सहेज सकते हैं और DC से कनेक्ट करने का प्रयास करने वाले उपकरणों के नामों का विश्लेषण कर सकते हैं। निम्न PowerShell कमांड का उपयोग करें:
Get-EventLog -LogName System -InstanceId 5827 -Source NETLOGON|Select-Object message| Export-Csv c:\ps\5827.csv -Encoding utf8
- EventID 5829 — कमजोर Netlogon संस्करण का उपयोग करके कनेक्शन की अनुमति है;
- EventID 583, 5831 — कमजोर Netlogon संस्करण का उपयोग करके कनेक्शन की अनुमति है क्योंकि डिवाइस को पॉलिसी "Domain controller: Allow vulnerable Netlogon secure channel connections" में जोड़ा गया है।
फरवरी 2021 तक, आपको सभी पहचाने गए उपकरणों पर नवीनतम सुरक्षा अपडेट इंस्टॉल करने होंगे। विंडोज में, नवीनतम संचयी अपडेट इंस्टॉल करना पर्याप्त है। अपने डिवाइस/सॉफ़्टवेयर विक्रेताओं (OEM) से उन सभी उपकरणों के लिए अपडेट मांगें जो एक्टिव डायरेक्टरी से कनेक्ट करने के लिए Netlogon रिमोट प्रोटोकॉल का उपयोग करते हैं।
फरवरी में एक विशेष सुरक्षा अपडेट जारी किया जाएगा जो डोमेन कंट्रोलर्स को एक मोड में रखेगा जहां सभी कनेक्टिंग डिवाइस को Netlogon प्रोटोकॉल के सुरक्षित संस्करण का उपयोग करना होगा। साथ ही, Event 5829 में निर्दिष्ट डिवाइस (जो सुरक्षित Netlogon संस्करण का समर्थन नहीं करते) डोमेन से कनेक्ट नहीं हो पाएंगे। आपको इन उपकरणों को GPO अपवाद में मैन्युअली जोड़ना होगा।
इसका मतलब है कि अब समर्थित नहीं विंडोज संस्करण (विंडोज XP/विंडोज सर्वर 2003/विस्टा/2008) आपके AD डोमेन में सामान्य रूप से काम नहीं कर पाएंगे।
Zerologon के लिए ग्रुप पॉलिसीज
यदि आपके नेटवर्क पर कोई ऐसा डिवाइस नहीं बचा है जो केवल असुरक्षित Netlogon संस्करण का समर्थन करता है, तो आप 9 फरवरी, 2021 से पहले (जब दूसरा चरण अपडेट जारी किया जाएगा, जो असुरक्षित Netlogon संस्करण का उपयोग करने वाले कनेक्शन को अस्वीकार करता है) DCs को सुरक्षित Netlogon संस्करण का उपयोग करने के लिए बाध्य करने के लिए एक अलग GPO बना सकते हैं। ऐसा करने के लिए, निम्न रजिस्ट्री कुंजी को अपने सभी DCs पर GPO का उपयोग करके डिप्लॉय करें:
- रजिस्ट्री कुंजी:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters - पैरामीटर प्रकार:
DWORD - पैरामीटर नाम:
FullSecureChannelProtection
संभावित मान:
- 1 — एनफोर्समेंट मोड सक्षम करता है। DC कमजोर Netlogon संस्करण के माध्यम से कनेक्शन को अस्वीकार करेगा। पैरामीटर का "Domain controller: Allow vulnerable Netlogon secure channel connections" पॉलिसी (नीचे देखें) में जोड़े गए खातों पर कोई प्रभाव नहीं पड़ता;
- 0 – DC को नॉन-विंडोज उपकरणों से कमजोर Netlogon संस्करण का उपयोग करके कनेक्शन स्वीकार करने की अनुमति देता है (यह विकल्प एनफोर्समेंट चरण रिलीज़ में अप्रचलित हो जाएगा)।
गैर-विंडोज डिवाइस को Netlogon का उपयोग करके DC से कनेक्ट करने की अनुमति कैसे दें?
GPO में एक विशेष पैरामीटर दिखाई दिया जो कुछ उपकरणों/खातों को DC से कनेक्ट करने के लिए कमजोर Netlogon संस्करण का उपयोग करने की अनुमति देता है। पॉलिसी को Domain controller: Allow vulnerable Netlogon secure channel connections कहा जाता है और आप इसे कंप्यूटर कॉन्फिगरेशन -> विंडोज सेटिंग्स -> सुरक्षा सेटिंग्स -> लोकल पॉलिसीज -> सुरक्षा विकल्प के तहत पा सकते हैं।
AD में एक सुरक्षा समूह बनाएं और इसमें उन खातों/उपकरणों को जोड़ें जिन्हें लीगेसी Netlogon RPC का उपयोग करके डोमेन कंट्रोलर के साथ सिक्योर चैनल स्थापित करने की अनुमति देने की आवश्यकता है।
DC के लिए पॉलिसी सक्षम करें (डिफ़ॉल्ट डोमेन कंट्रोलर पॉलिसी स्तर पर), Define Security पर क्लिक करें और उस समूह को निर्दिष्ट करें जिसे असुरक्षित Netlogon प्रोटोकॉल का उपयोग करने की अनुमति है (Create Vulnerable Connection -> Allow)।
Deny विकल्प की जांच करके, आप विशिष्ट उपकरणों के लिए असुरक्षित Netlogon RPC के उपयोग को अस्वीकार कर सकते हैं।