
EDR एजेंटों को टेलीमेट्री भेजने से रोकने के लिए एक वैध WFP कॉलआउट ड्राइवर का लाभ उठाएं।
सह-लेखक: @oops4git(https://github.com/oops4git)
EDRPrison एक वैध WFP कॉलआउट ड्राइवर, WinDivert, का उपयोग करके EDR सिस्टम को प्रभावी रूप से शांत करता है। Shutter, FireBlock, और EDRSilencer जैसे टूल्स से प्रेरणा लेते हुए, यह प्रोजेक्ट नेटवर्क-आधारित एवेज़न तकनीकों पर केंद्रित है। अपने पूर्ववर्तियों के विपरीत, EDRPrison केवल अंतर्निहित WFP पर निर्भर रहने के बजाय एक बाहरी वैध WFP कॉलआउट ड्राइवर स्थापित और लोड करता है। इसके अतिरिक्त, यह EDR प्रक्रियाओं या उनके एक्ज़ीक्यूटेबल्स के साथ सीधे इंटरैक्ट किए बिना रनटाइम फ़िल्टर गतिशील रूप से जोड़कर EDR प्रक्रियाओं से आउटबाउंड ट्रैफ़िक को ब्लॉक करता है।
संक्षेप में, EDRPrison में निम्नलिखित प्रमुख विशेषताएं और क्षमताएं हैं
अधिक तकनीकी विवरण के लिए कृपया लेख देखें: https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent
EDRPrison को सफलतापूर्वक चलाने के लिए उन्नत विशेषाधिकारों की आवश्यकता होती है। EDRPrison में निम्नलिखित तीन घटक शामिल हैं:
EDRPrison अपने पूर्ववर्तियों की तुलना में कई संवर्द्धन और सुधार प्रदान करता है, जिससे यह नेटवर्क-आधारित EDR एवेज़न के लिए एक अधिक मजबूत और गुप्त उपकरण बन जाता है:
मेरे पास उपलब्ध संसाधनों के कारण, मैंने अब तक अपने भौतिक सर्वर पर Elastic Endpoint और Microsoft Defender for Endpoint (MDE) के विरुद्ध EDRPrison का परीक्षण किया है।
Elastic Endpoint और MDE के लिए प्रासंगिक प्रक्रियाएं स्रोत कोड में हार्डकोडेड हैं। परीक्षणों के दौरान, न तो मुख्य प्रोग्राम और न ही WinDivert सुरक्षा प्रणालियों द्वारा पहचाना गया।
मैंने Mimikatz जैसे कुछ सामान्य मैलवेयर नमूनों का परीक्षण किया। ये नमूने अभी भी पहचाने जा सकते हैं क्योंकि इंटरनेट कनेक्टिविटी के बिना भी, EDR सिस्टम हैश-आधारित सिग्नेचर जैसी बुनियादी पहचान क्षमताएं बनाए रखते हैं। मैलवेयर निष्पादित करने के बाद, पैकेटों की संख्या बढ़ गई, यह दर्शाता है कि उनमें अलर्ट डेटा था।

जबकि कुछ पहचान स्थानीय रूप से होती हैं, वे EDR पैनल पर दिखाई नहीं देती हैं। इंटरनेट कनेक्टिविटी के बिना, EDR सिस्टम अधिक परिष्कृत मैलवेयर हमलों को रोकने के लिए मशीन लर्निंग और क्लाउड कंप्यूटिंग जैसी उन्नत क्षमताओं का लाभ नहीं उठा पाते हैं।


अधिक EDR प्रक्रियाओं को हार्डकोड करने के लिए निम्नलिखित कोड स्निपेट को संशोधित करें।
static void initData()
{
processDictionary.TryAdd("MsMpEng.exe", 1);
processDictionary.TryAdd("MsSense.exe", 1);
processDictionary.TryAdd("SenseIR.exe", 1);
processDictionary.TryAdd("SenseNdr.exe", 1);
processDictionary.TryAdd("SenseCncProxy.exe", 1);
processDictionary.TryAdd("SenseSampleUploader.exe", 1);
processDictionary.TryAdd("elastic-endpoint.exe", 1);
processDictionary.TryAdd("elastic-agent.exe", 1);
}
EDRPrison के उपयोग का पता लगाने या उसे कम करने के लिए निम्नलिखित दृष्टिकोणों का उपयोग किया जा सकता है। हालांकि, पर्यावरण के आधार पर, इनमें से कुछ पहचानें गलत-सकारात्मक (FP) परिणाम दे सकती हैं।
यदि WinDivert ड्राइवर सिस्टम पर पहले से स्थापित नहीं है, तो EDRPrison पहले निष्पादन पर कॉलआउट ड्राइवर स्थापित करेगा। OS और टेलीमेट्री डेटा दोनों इस इवेंट को लॉग करेंगे।
EDRPrison और WinDivert पर निर्भर अन्य प्रोग्रामों के लिए डिस्क पर WinDivert64.sys और WinDivert.dll की उपस्थिति आवश्यक है। इन फ़ाइलों की निगरानी ऐसे प्रोग्रामों का पता लगाने में मदद कर सकती है।
WinDivertTool जैसे उपकरण उन प्रक्रियाओं का पता लगा सकते हैं जो वर्तमान में Windows Filtering Platform (WFP) का उपयोग कर रही हैं।

Elastic के पास एक पहचान नियम है जो सुरक्षा सॉफ़्टवेयर प्रक्रियाओं के विरुद्ध पैकेट ड्रॉप या ब्लॉक क्रियाओं की पहचान कर सकता है, जो EDRPrison की उपस्थिति का संकेत दे सकता है।
उपकरण WFPExplorer व्यवस्थापकों को सक्रिय WFP सत्रों, पंजीकृत कॉलआउट्स और फ़िल्टरों की समीक्षा में सहायता करता है।




एक संभावित भविष्य की सुविधा ड्राइवर स्थापना के लिए अतिरिक्त सुरक्षा जोड़ सकती है, जो WinDivert जैसे ड्राइवरों के अनधिकृत उपयोग के विरुद्ध सुरक्षा को और बढ़ाती है।
रेड टीम के दृष्टिकोण से, पर्यावरण की सुरक्षा कॉन्फ़िगरेशन के आधार पर, उपर्युक्त पहचानों को विफल करने के लिए कई रणनीतियों का उपयोग किया जा सकता है।
यदि पर्यावरण में WinDivert को दुर्भावनापूर्ण माना जाता है, तो वैकल्पिक हस्ताक्षरित, ओपन-सोर्स ड्राइवरों का उपयोग किया जा सकता है। इन विकल्पों के पास दुर्भावनापूर्ण उपयोग के कम रिकॉर्ड होने चाहिए और फिर भी पैकेट इंटरसेप्शन, रीइंजेक्शन और अन्य हेरफेर तकनीकों का समर्थन करना चाहिए।
ऐसे वातावरणों में जहां बाहरी ड्राइवर स्वीकृत होने तक अनधिकृत हैं, एक स्थापित या अंतर्निहित WFP कॉलआउट ड्राइवर को रिवर्स-इंजीनियर करना चुनौतीपूर्ण लेकिन संभव है। इसके कॉलआउट फ़ंक्शनों का पुन: उपयोग करके, रेड टीम के सदस्य मौजूदा ड्राइवरों का लाभ उठा सकते हैं। कई सुरक्षा सॉफ़्टवेयर समाधान अपने स्वयं के WFP कॉलआउट ड्राइवर शामिल करते हैं जिन्हें पुन: उपयोग किया जा सकता है।
इंटरसेप्ट किए गए पैकेटों को ब्लॉक या ड्रॉप करने के बजाय, रेड टीम के सदस्य उन्हें रीडायरेक्ट या प्रॉक्सी कर सकते हैं। यह विधि पैकेट ड्रॉप या ब्लॉक क्रियाओं पर केंद्रित पहचान नियमों से बच सकती है, जबकि अभी भी EDR प्रक्रियाओं के साथ वांछित हस्तक्षेप प्राप्त कर सकती है।
निम्नलिखित संसाधनों ने मेरे शोध के दौरान मुझे प्रेरित किया और बहुत मदद की। मैं सभी लेखकों को धन्यवाद देता हूं:
https://github.com/netero1010/EDRSilencer
https://github.com/dsnezhkov/shutter
https://www.mdsec.co.uk/2023/09/nighthawk-0-2-6-three-wise-monkeys/
https://github.com/amjcyber/EDRNoiseMaker
https://www.securityartwork.es/2024/06/17/edr-silencer-2/
https://windowsir.blogspot.com/2024/01/edrsilencer.html
https://github.com/TechnikEmpire/HttpFilteringEngine
https://reqrypt.org/windivert.html
https://learn.microsoft.com/en-us/defender-cloud-apps/network-requirements
https://github.com/microsoft/windows-driver-samples/tree/main/network/trans/WFPSampler