
DCSYNC और DCSHADOW हमलों की निगरानी करता है और इन घटनाओं के लिए कस्टम विंडोज इवेंट्स बनाता है।
यह उपकरण एक एप्लिकेशन/सेवा है जिसे डोमेन कंट्रोलर्स पर तैनात किया जा सकता है ताकि डोमेन कंट्रोलर सिंक्रनाइज़ेशन प्रयासों के बारे में सचेत किया जा सके। जब कोई प्रयास पकड़ा जाता है, तो उपकरण विंडोज इवेंट लॉग में एक इवेंट लिखेगा। इन इवेंट्स को SIEM में सहसंबंधित किया जा सकता है। इसके अलावा, यह उपकरण वैध DC IPs की एक सूची ले सकता है और, इस कॉन्फ़िगरेशन में, केवल तब अलर्ट करता है जब DC SYNC प्रयास किसी गैर-DC IP से आता है। यह उपकरण ब्लू टीमों को Microsoft ATA या फैंसी IDS/IPS जैसे वाणिज्यिक उपकरणों के बिना DC SYNC और DC SHADOW हमलों से निपटने का एक तरीका प्रदान करने के लिए है।
संक्षिप्त यूट्यूब वीडियो: https://www.youtube.com/watch?v=oLND9QZfaJc
इस उपकरण को स्थापित करने के लिए, आप पूर्व-निर्मित बाइनरी का उपयोग कर सकते हैं या स्वयं उपकरण बना सकते हैं। पूर्व-निर्मित बाइनरी का लिंक यहाँ है:
32bit सेवा: https://github.com/shellster/DCSYNCMonitor/raw/master/Release/DCSYNCMONITORSERVICE.exe
64bit सेवा: https://github.com/shellster/DCSYNCMonitor/raw/master/x64/Release/DCSYNCMONITORSERVICE.exe
आपको अपने डोमेन कंट्रोलर पर Winpcap या Npcap स्थापित करने की आवश्यकता होगी। Winpcap काम करना चाहिए, लेकिन इसकी अनुशंसा नहीं की जाती है क्योंकि पैकेट कैप्चर विधियाँ NPcap जितनी कुशल या संपूर्ण नहीं हैं। इस उपकरण का Winpcap के साथ संक्षिप्त रूप से परीक्षण किया गया है।
Npcap स्थापित करने के लिए, इंस्टॉलर को यहाँ से डाउनलोड करें: https://nmap.org/npcap/
आपको सुनिश्चित करना चाहिए कि निम्नलिखित विकल्प चेक किए गए हैं:
स्थापना के बाद, आपको डोमेन कंट्रोलर को रीबूट करना होगा।
Npcap सिस्टम के DLL खोज पथ में सहायक लाइब्रेरी DLLs स्थापित नहीं करता है, इसलिए आपको स्थापना के बाद निम्नलिखित कार्य करने होंगे:
copy "%WINDIR%\System32\Npcap\*.dll" "%WINDIR%\System32\"
#If Applicable (32bit Service on 64bit System):
copy "%WINDIR%\SYSWOW64\Npcap\*.dll" "%WINDIR%\SYSWOW64\"
नोट: यदि पिछला चरण पूरा नहीं हुआ है, तो उपकरण चलाने का प्रयास करने पर आपको wpcap.dll या Packet.dll गायब होने के बारे में त्रुटियाँ प्राप्त होंगी।
अब इस प्रोजेक्ट से DCSYNCMONITOR.EXE को उपयुक्त स्थान पर कॉपी करें। हम 32bit सिस्टम या 64bit सर्विस वाले 64bit सिस्टम के लिए %WINDIR%\SYSTEM32 की अनुशंसा करते हैं, या यदि आप 64bit सिस्टम पर 32bit सर्विस का उपयोग कर रहे हैं तो %WINDIR%\SYSWOW64 की।
उपकरण अब चलाया जा सकता है। हालाँकि, आप इसे दो तरीकों में से एक में चला सकते हैं:
इस मोड में, उपकरण हर बार जब कोई नया IP (पिछले पाँच मिनट में नहीं देखा गया) डोमेन कंट्रोलर पर DC SYNC करने का प्रयास करता है, तो विंडोज एप्लिकेशन इवेंट लॉग में DCSYNCALERT Warning इवेंट लिखेगा। इसमें डोमेन कंट्रोलर के बीच वैध सिंक्रनाइज़ेशन गतिविधियाँ शामिल होंगी।
एक कॉन्फ़िगरेशन फ़ाइल जिसे "dc_ip_list.conf" कहा जाता है, उपकरण के समान निर्देशिका में रखी जा सकती है। यदि यह फ़ाइल मौजूद है, तो इसमें प्रति पंक्ति एक IPv4 (या लंबे रूप में IPv6) पता होना चाहिए। उपकरण इस सूची को स्टार्ट-अप पर लोड करेगा। इस मोड में, मेल खाने वाले IP पतों से DC Sync प्रयासों के लिए कोई इवेंट नहीं लिखा जाएगा। हालाँकि, यदि किसी अन्य IP पते से DC Sync प्रयास होता है, तो विंडोज एप्लिकेशन इवेंट लॉग में DCSYNCALERT Error इवेंट लिखा जाएगा।
नोट dc_ip_list.conf फ़ाइल में परिवर्तन सेवा के रुकने और पुनः प्रारंभ होने तक प्रभावी नहीं होंगे।
इस उपकरण का उपयोग करने का सामान्य तरीका इसे एक सेवा के रूप में स्थापित करना है। एक बार उपकरण सही फ़ोल्डर में रखे जाने के बाद, इसे आसानी से चलाकर किया जा सकता है:
DCMONITORSERVICE.exe -install
एक बार सेवा स्थापित हो जाने के बाद, आपको इसे Services.msc मेनू से या उपयुक्त net या sc कमांड का उपयोग करके मैन्युअल रूप से प्रारंभ करना होगा। यह भविष्य में रीबूट पर स्वचालित रूप से प्रारंभ होगा।
यदि आपको सेवा को अनइंस्टॉल करने की आवश्यकता है, तो निम्न कमांड चलाएँ:
DCMONITORSERVICE.exe -remove
अंत में, सेवा स्थापित किए बिना उपकरण को स्टैंडअलोन मोड में चलाने के लिए (डीबगिंग के लिए विशेष रूप से उपयोगी):
DCMONITORSERVICE.exe -standalone
DC SYNC चेतावनी इवेंट तब होते हैं जब वैध DC IPs की कोई सूची प्रदान नहीं की जाती है, या जब किसी वैध DC IP से DC SYNC होता है:

DC SYNC त्रुटि इवेंट तब होते हैं जब वैध DC IPs की सूची प्रदान की जाती है और किसी अन्य IP पते से DC SYNC होता है:

आपको Visual Studio 2015 या बाद के संस्करण की आवश्यकता होगी। कम्युनिटी (मुफ्त) संस्करण पूरी तरह से स्वीकार्य है। एक बार प्रोजेक्ट खोलने के बाद, आपको तुरंत 32bit और 64bit दोनों किस्मों में Dev और Release संस्करण बनाने में सक्षम होना चाहिए। डीबग संस्करणों को उत्पादन वातावरण में तैनात नहीं किया जाना चाहिए। वे व्यापक त्रुटि और डीबगिंग जानकारी प्रदान करते हैं, जिसमें tcp पैकेट डंप शामिल हैं (यदि आप monitor.cpp फ़ाइल में निम्नलिखित पंक्ति को अनकमेंट करते हैं):
#ifdef _DEBUG
//debug_print("TCP SRC IP: %s\nData:\n", tcppacket.source_ip.address.c_str());
//print_payload((const u_char *)tcppacket.data, tcppacket.data_length);
#endif
रीलीज़ संस्करण बहुत छोटे होते हैं और स्वचालित रूप से डीबग स्टेटमेंट हटा देते हैं।
इस उपकरण की निम्नलिखित ज्ञात सीमाएँ हैं:
यह उपकरण MIT लाइसेंस के अंतर्गत प्रदान किया गया है (लाइसेंस देखें)
यह उपकरण शेल्बी स्पेंसर द्वारा लिखा गया था:
FusionX ने उदारतापूर्वक मुझे इस उपकरण को अपडेट और परिष्कृत करने के लिए समय दिया, साथ ही इसे घोषित करने के लिए एक मंच प्रदान किया। हालाँकि, यह प्रोजेक्ट पूरी तरह से मेरे स्वामित्व और विकास में है।
सुझाव, प्रतिक्रिया और पुल अनुरोध सभी का स्वागत और प्रोत्साहन है।