
ZeroLogon के लिए लैब परिचय
ZeroLogon शोषण (CVE-2020-1472) के लिए एक भेद्यता का परीक्षण करने हेतु एक प्रयोगशाला सेटअप। इसमें एक Python स्क्रिप्ट है जो भेद्यता का परीक्षण करने के लिए Impacket लाइब्रेरी का उपयोग करती है, और Windows Server 2019 के साथ एक वर्चुअल मशीन (VM) जो डोमेन कंट्रोलर (DC) के रूप में कॉन्फ़िगर की गई है।
स्क्रिप्ट Netlogon प्रमाणीकरण बायपास करने का प्रयास करती है। बायपास सफलतापूर्वक करने पर यह तुरंत समाप्त हो जाएगी, और कोई Netlogon संचालन नहीं करेगी। जब DC पैच किया जाता है, तो डिटेक्शन स्क्रिप्ट RPC कॉल के कई जोड़े भेजने के बाद हार मान लेगी और निष्कर्ष निकालेगी कि लक्ष्य संवेदनशील नहीं है (0.04% की गलत नकारात्मक संभावना के साथ)।
वैकल्पिक
बस vagrant up टाइप करें ताकि Windows Server 2019 का एक संवेदनशील बिल्ड VM के रूप में लोड हो सके। फिर, इस ट्यूटोरियल का पालन करते हुए VM को एक डोमेन कंट्रोलर के रूप में कॉन्फ़िगर करें। अंत में, DC पर हमला लॉन्च करें (zerologon_tester.py)। इस हमले के डॉकरीकृत संस्करण या virtual environment का उपयोग करने की अनुशंसा की जाती है।
Docker विकल्प. चलाएँ:
# NOTE: On Windows, you may need to enable the `Hyper-V` Wiwndows feature.
# NOTE2: On Windows, you may need to switch to `Linux Containers`.
$ docker build -f Dockerfile . -t zerologon
# This command run the zerologon test on the DC with domain VAGRANT in the address 192.168.33.10
$ docker run zerologon VAGRANT 192.168.33.10
VirtualEnv विकल्प. चलाएँ:
$ python3 -m virtualenv zerologon
$ zerologon/Scripts/Activate.ps1
# NOTE: This may give you some issues with your firewall!!
$ pip install git+https://github.com/SecureAuthCorp/impacket
$ pip install -r requirements.txt
$ python zerologon_tester.py VAGRANT 192.168.33.10
इस हमले का आउटपुट कुछ इस तरह दिखना चाहिए:

यह स्क्रिप्ट केवल हमले की व्यवहार्यता का परीक्षण करने के लिए है, यह किसी अन्य तरीके से सर्वर का शोषण नहीं करती है। स्क्रिप्ट DC में कोई परिवर्तन नहीं करती है। यदि आप उत्सुक हैं कि PoC हमले को कैसे लागू किया जाए, तो यह लेख या इसी तरह का कोई अन्य देखें।
स्क्रिप्ट लक्ष्य का उपयोग DC या बैकअप DC को लक्षित करने के लिए किया जा सकता है। यह संभवतः केवल-पढ़ने वाले DC के विरुद्ध भी काम करता है, लेकिन इसका परीक्षण नहीं किया गया है। DC का नाम उसका NetBIOS कंप्यूटर नाम होना चाहिए। यदि यह नाम सही नहीं है, तो स्क्रिप्ट संभवतः STATUS_INVALID_COMPUTER_NAME त्रुटि के साथ विफल हो जाएगी। इस भेद्यता पर एक श्वेतपत्र यहाँ प्रकाशित किया जाएगा।
NOTE: यदि कुछ गलत हो जाता है और आपको
STATUS_INVALID_COMPUTER_NAMEत्रुटि प्राप्त होती है, तोnbtstat -A 192.168.33.10चलाएँ, इससे आपको उस पते पर क्या चल रहा है, इसकी कुछ जानकारी मिलेगी। अन्यथा, आप हमेशा जाँच सकते हैं कि मशीन आपके होस्ट से पिंग करके पहुँच योग्य है या नहीं (ping 192.168.33.10)।NOTE2: यदि हमला विफल होता है, तो हो सकता है कि मशीन को सुरक्षा पैच के साथ अपडेट कर दिया गया हो। अपडेट की जाँच करें और 2020 के बाद से
Security Patchesजैसी कोई भी चीज़ हटा दें।