
कंसोल मॉनिटर ड्राइवर एक KMDF कर्नेल-मोड फ़िल्टर ड्राइवर है जो ConDrv को भेजे या उससे प्राप्त कुछ फ़ास्ट I/O ऑपरेशनों (इनपुट और आउटपुट) को कैप्चर करता है। ConDrv एक डिवाइस है जो condrv.sys द्वारा बनाया गया है, जो कंसोल एप्लिकेशन (cmd/powershell/etc) और वास्तविक कंसोल (conhost.exe) के बीच ट्रैफ़िक को संभालता है।
यह प्रोजेक्ट mimikatz डिटेक्शन तकनीक चरण 2 के लिए किए गए शोध पर आधारित है। इस सोल्यूशन में कई प्रोजेक्ट हैं:
Console Monitor Driver एक KMDF कर्नेल-मोड फ़िल्टर ड्राइवर है जो ConDrv को या ConDrv से भेजे गए कुछ Fast I/O ऑपरेशनों (इनपुट और आउटपुट) को कैप्चर करता है। ConDrv condrv.sys द्वारा बनाया गया एक डिवाइस है, जो कंसोल एप्लिकेशन (cmd/powershell/etc) और वास्तविक कंसोल (conhost.exe) के बीच ट्रैफ़िक को संभालता है। Console Monitor एक C# GUI एप्लिकेशन है जो अंतिम उपयोगकर्ता को कंसोल पर भेजे गए या कंसोल से प्राप्त प्रत्येक कीस्ट्रोक या लाइन दिखाता है। इस एप्लिकेशन का उपयोग नगण्य है, लेकिन यह प्रस्तुतियों और डिबगिंग के लिए बहुत अच्छा है।
Console Monitor GUI एप्लिकेशन एक named pipe बनाता है और आने वाले कनेक्शनों के लिए सुनता है। namedpipe को भेजा गया सारा डेटा GUI पर दिखाया जाता है। ड्राइवर जाँचता है कि namedpipe मौजूद है या नहीं, यदि नहीं है, तो यह एक त्रुटि लौटाएगा और इंस्टॉल नहीं होगा। यदि namedpipe मौजूद है (GUI चल रहा है), तो यह इंस्टॉल होता है और स्निफ किया गया सब कुछ pipe को भेजता है।
इसे काम करने के लिए निम्नलिखित चरणों का पालन करना आवश्यक है:
अंतर्निहित तकनीक वही है जो पहले ConsoleMonitorDriver के साथ थी, लेकिन यहाँ सभी डेटा को स्निफ करने के बजाय, KMDF फ़िल्टर ड्राइवर ड्राइवर से गुजरने वाले डेटा के साथ कई स्ट्रिंग्स का मिलान करने का प्रयास करता है। इस विशेष मामले में, कंसोल एप्लिकेशन के शीर्षक की जाँच एक स्थिर स्ट्रिंग के साथ की जाती है, साथ ही कंसोल आउटपुट की सामग्री की जाँच कई स्थिर स्ट्रिंग्स के साथ की जाती है। यदि कोई मिलान होता है, तो Event Tracing for Windows (ETW) के माध्यम से इवेंट लॉग में एक इवेंट भेजा जाता है। वर्तमान में, ड्राइवर में 4 अलग-अलग इवेंट परिभाषित हैं:
सिस्टम को इन संदेशों को सही ढंग से पढ़ने में सक्षम बनाने के लिए, event.xml फ़ाइल को wevtutil.exe के साथ इंस्टॉल करना आवश्यक है, लेकिन यह install.ps1 स्क्रिप्ट में शामिल है।
ड्राइवर को काम करने के चरण:
जाहिर है, शीर्षक और आउटपुट के साथ मिलान की जाने वाली स्ट्रिंग्स को बदला जा सकता है, ताकि स्ट्रिंग्स बदलने पर अन्य मैलवेयर/टूल्स का भी इस टूल से पता लगाया जा सके।
बस install.ps1 के Uninstall-Driver फ़ंक्शन का उपयोग करें।
फ़ाइलों में रीडायरेक्ट का पता नहीं लगाया जाएगा, क्योंकि आउटपुट ConDrv डिवाइस को नहीं भेजा जाएगा।