ब्रॉडकास्ट प्रोटोकॉल TCP/IP पर NetBIOS और LLMNR का उपयोग अधिकांश आधुनिक नेटवर्क्स में केवल लीगेसी विंडोज वर्जन्स के साथ संगतता के लिए किया जाता है। दोनों प्रोटोकॉल स्पूफिंग और MITM हमलों के प्रति संवेदनशील हैं। मेटास्प्लॉइट में रेडी-मेड मॉड्यूल हैं जो आपको ब्रॉडकास्टिंग NetBIOS और LLMNR प्रोटोकॉल में कमजोरियों का आसानी से फायदा उठाने की अनुमति देते हैं ताकि स्थानीय नेटवर्क में यूजर क्रेडेंशियल्स को इंटरसेप्ट किया जा सके (NTLMv2 हैश सहित)। अपने नेटवर्क सुरक्षा को बेहतर बनाने के लिए, आपको इन प्रोटोकॉल को डोमेन नेटवर्क पर अक्षम करना होगा। आइए जानें कि विंडोज 10/विंडोज सर्वर 2019 में LLMNR और NetBIOS प्रोटोकॉल को मैन्युअली या ग्रुप पॉलिसी के माध्यम से कैसे अक्षम करें।
लिंक-लोकल मल्टीकास्ट नेम रिजॉल्यूशन (LLMNR) प्रोटोकॉल
LLMNR (UDP/5355, लिंक-लोकल मल्टीकास्ट नेम रिजॉल्यूशन) का उपयोग विस्टा से शुरू होने वाले सभी विंडोज वर्जन्स में किया जाता है और यह IPv6 और IPv4 क्लाइंट्स को DNS सर्वर का उपयोग किए बिना लोकल L2 नेटवर्क सेगमेंट में ब्रॉडकास्ट अनुरोधों के कारण पड़ोसी कंप्यूटर्स के नामों को हल करने की अनुमति देता है। यह प्रोटोकॉल स्वचालित रूप से उपयोग किया जाता है यदि DNS अनुपलब्ध है (विंडोज वर्कग्रुप्स में इस प्रोटोकॉल का उपयोग नेटवर्क डिस्कवरी के लिए किया जाता है)। इसलिए यदि डोमेन में DNS सर्वर हैं, तो इस प्रोटोकॉल की आवश्यकता नहीं है।
TCP/IP पर NetBIOS प्रोटोकॉल
TCP/IP पर NetBIOS या NBT-NS (UDP/137,138;TCP/139) एक ब्रॉडकास्ट प्रोटोकॉल है जो LLMNR का पूर्ववर्ती है और स्थानीय नेटवर्क में संसाधनों को प्रकाशित और खोजने के लिए उपयोग किया जाता है। डिफ़ॉल्ट रूप से, सभी विंडोज वर्जन्स में सभी नेटवर्क इंटरफेस के लिए TCP/IP पर NetBIOS समर्थन सक्षम है।
विंडोज पर, आप nbtstat कमांड का उपयोग करके NBT पर वर्तमान TCP/IP कनेक्शन और NetBIOS आंकड़े प्रदर्शित कर सकते हैं। IP पते द्वारा कंप्यूटर नाम प्राप्त करने के लिए:
nbtstat -A 192.168.131.190
जैसा कि आप देख सकते हैं, nbtstat ने NetBIOS प्रोटोकॉल का उपयोग करके स्थानीय नेटवर्क पर एक कंप्यूटर ढूंढा और उसका नाम लौटाया।
आप समान स्थानीय नेटवर्क पर पड़ोसी कंप्यूटर्स के बारे में NetBIOS कैश में सभी रिकॉर्ड्स प्रदर्शित कर सकते हैं:
nbtstat -c
NetBIOS और LLMNR प्रोटोकॉल स्थानीय नेटवर्क पर कंप्यूटर्स को एक-दूसरे को खोजने की अनुमति देते हैं यदि DNS सर्वर अनुपलब्ध है। शायद उन्हें वर्कग्रुप वातावरण में आवश्यकता होती है, लेकिन डोमेन नेटवर्क में इन दोनों प्रोटोकॉल को अक्षम किया जा सकता है।
टिप. डोमेन में इन पॉलिसीज के बड़े पैमाने पर कार्यान्वयन से पहले, हम अक्षम NetBIOS और LLMNR के साथ कंप्यूटर्स और सर्वर्स को टेस्ट करने की दृढ़ता से अनुशंसा करते हैं। और यदि LLMNR को अक्षम करने में आमतौर पर कोई समस्या नहीं होती है, तो NetBIOS को अक्षम करने से लीगेसी डिवाइसेज का ऑपरेशन पंगु हो सकता है।
GPO का उपयोग करके विंडोज पर LLMNR अक्षम करना
आप निम्न पावरशेल कमांड्स का उपयोग करके रजिस्ट्री के माध्यम से विंडोज कंप्यूटर पर LLMNR प्रोटोकॉल को स्थानीय रूप से अक्षम कर सकते हैं:
New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT" -Name DNSClient -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMultiCast -Value 0 -PropertyType DWORD -Force
डोमेन वातावरण में, कंप्यूटर्स और सर्वर्स पर LLMNR ब्रॉडकास्ट को ग्रुप पॉलिसी का उपयोग करके अक्षम किया जा सकता है। ऐसा करने के लिए:
gpmc.mscखोलें, एक नया GPO बनाएं या मौजूदा GPO को संपादित करें जो सभी वर्कस्टेशन्स और सर्वर्स पर लागू होता है;- कंप्यूटर कॉन्फिगरेशन -> एडमिनिस्ट्रेटिव टेम्पलेट्स -> नेटवर्क -> DNS क्लाइंट पर जाएं;
- मल्टीकास्ट नेम रिजॉल्यूशन बंद करें पॉलिसी को सक्षम करें इसके मान को सक्षम पर बदलकर;
- क्लाइंट्स पर GPO सेटिंग्स अपडेट होने तक प्रतीक्षा करें, या कमांड का उपयोग करके मैन्युअली अपडेट करें:
gpupdate /force
या आप GPP का उपयोग करके EnableMulticast = 0 रजिस्ट्री पैरामीटर को डोमेन कंप्यूटर्स पर तैनात कर सकते हैं (रजिस्ट्री कुंजी HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient पर)।
विंडोज 10/विंडोज सर्वर 2019 पर TCP/IP पर NetBIOS अक्षम करना
नोट. NetBIOS का उपयोग लीगेसी विंडोज वर्जन्स (2000, XP, आदि) और कुछ नॉन-विंडोज डिवाइसेज द्वारा किया जा सकता है, इसलिए इसे अक्षम करने से पहले प्रत्येक विशिष्ट वातावरण में टेस्ट किया जाना चाहिए।
आप विंडोज पर NetBIOS को मैन्युअली इस प्रकार अक्षम कर सकते हैं:
- नेटवर्क कनेक्शन प्रॉपर्टीज खोलें
- TCP/IPv4 चुनें और इसकी प्रॉपर्टीज खोलें
- एडवांस्ड पर क्लिक करें, फिर WINS टैब पर जाएं और TCP पर NetBIOS अक्षम करें चुनें
- परिवर्तन सेव करें।
यदि आपके कंप्यूटर पर एकाधिक नेटवर्क एडाप्टर्स (या VLANs) हैं, तो आपको उनमें से प्रत्येक की प्रॉपर्टीज में NetBIOS अक्षम करना होगा।
आप विंडोज कमांड प्रॉम्प्ट से नेटवर्क एडाप्टर्स के लिए TCP/IP पर NetBIOS स्थिति की जांच कर सकते हैं:
ipconfig /all |find "NetBIOS"
TCP/IP पर NetBIOS . . . . . : अक्षम
आप रजिस्ट्री के माध्यम से विशिष्ट नेटवर्क एडाप्टर के लिए NetBIOS को अक्षम भी कर सकते हैं। प्रत्येक नेटवर्क एडाप्टर का एक अलग रजिस्ट्री कुंजी होता है HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces के तहत जिसमें उसका TCPIP_GUID होता है।
विशिष्ट एडाप्टर के लिए NetBIOS अक्षम करने के लिए, उसके रजिस्ट्री कुंजी पर जाएं और NetbiosOptions पैरामीटर का मान 2 पर बदलें (यह डिफ़ॉल्ट रूप से 0 है)।
आप विंडोज DHCP सर्वर से IP पते प्राप्त करने वाले डोमेन क्लाइंट्स पर एक विशेष DHCP विकल्प का उपयोग करके NetBIOS को अक्षम कर सकते हैं।
dhcpmgmt.mscकंसोल चलाएं, DHCP सर्वर से कनेक्ट करें और स्कोप ऑप्शन जोन सेटिंग्स (या सर्वर - सर्वर ऑप्शन्स) चुनें;- एडवांस्ड टैब पर जाएं और वेंडर क्लास ड्रॉपडाउन सूची में माइक्रोसॉफ्ट विंडोज 2000 ऑप्शन्स चुनें;
- 001 माइक्रोसॉफ्ट डिसेबल Netbios ऑप्शन सक्षम करें और इसका मान 0x2 पर बदलें।
ग्रुप पॉलिसी के माध्यम से TCP/IP पर NetBIOS कैसे अक्षम करें?
ग्रुप पॉलिसी एडिटर या विंडोज 10/विंडोज सर्वर 2019 के लिए एडमिनिस्ट्रेटिव टेम्पलेट्स के नवीनतम संस्करण में कोई अलग GPO विकल्प नहीं है जो सभी नेटवर्क एडाप्टर्स के लिए TCP/IP पर NetBIOS को अक्षम करने की अनुमति देता है। सभी नेटवर्क एडाप्टर्स के लिए NetBIOS को पूरी तरह से अक्षम करने के लिए निम्न पावरशेल लॉगऑन स्क्रिप्ट का उपयोग करें:
$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}
इस कोड को disableNetbios.ps1 फाइल में सेव करें, इसे अपने GPO डायरेक्टरी में कॉपी करें और कंप्यूटर कॉन्फिगरेशन -> पॉलिसीज -> विंडोज सेटिंग्स -> स्क्रिप्ट्स -> स्टार्टअप -> पावरशेल स्क्रिप्ट्स के माध्यम से क्लाइंट्स पर चलाएं।
यदि आपकी वर्तमान पावरशेल एक्जीक्यूशन पॉलिसी इस स्क्रिप्ट को विंडोज कंप्यूटर्स पर चलने से रोक रही है, तो आपको PS1 स्क्रिप्ट पर हस्ताक्षर करने या इसे बाईपास मोड में चलाने की आवश्यकता है।
नोट. इस परिवर्तन को प्रभावी करने के लिए, आपको नेटवर्क एडाप्टर्स को सक्षम/अक्षम करना होगा या कंप्यूटर को पुनरारंभ करना होगा।
फिर कमांड प्रॉम्प्ट खोलें और निम्न कमांड चलाएं ताकि यह जांचा जा सके कि NetBIOS आपके नेटवर्क एडाप्टर्स के लिए अक्षम है (टनल इंटरफेस को छोड़कर):
wmic nicconfig get caption,index,TcpipNetbiosOptions