
Process Explorer दोषपूर्ण ड्राइवर PPL बायपास
हालांकि यह सर्वविदित है कि SysInternals Process Explorer ड्राइवरों (PSEXP152.sys) के पुराने संस्करण (17.x से पहले) भेद्य हैं और PPL प्रक्रियाओं (IOCTL: 0x8335003c) के लिए पूर्ण पहुँच प्रक्रिया हैंडल खोलने के लिए दुरुपयोग किए जा सकते हैं, नए संस्करण (17.x से ऊपर) अभी भी भेद्य हैं और एक अलग ड्राइवर फ़ंक्शन (IOCTL: 0x83350014) के साथ ऐसा करने में सक्षम हैं। यह IOCTL फ़ंक्शन मनमाने ढंग से हैंडल की प्रतिलिपि बनाता है और ड्राइवर संस्करण 17.00 में सिस्टम प्रक्रिया और किसी भी संरक्षित प्रक्रिया (PP/PPL) को फ़िल्टर करने के लिए एक पैच भी प्राप्त किया। लेकिन इस फ़ंक्शन के साथ एक बड़ी चूक थी, क्योंकि आपकी अपनी गैर-PPL प्रक्रिया से किसी भी प्रक्रिया और थ्रेड हैंडल की प्रतिलिपि बनाना अभी भी संभव था। बस PROCESS_QUERY_LIMITED_INFORMATION जैसी कम अनुमतियों के साथ एक PPL प्रक्रिया खोलना और फिर Process Explorer ड्राइवर के माध्यम से अपनी प्रक्रिया से इस हैंडल की प्रतिलिपि बनाना फ़िल्टर को बायपास करने और PPL प्रक्रिया के लिए पूर्ण पहुँच हैंडल प्राप्त करने के लिए पर्याप्त था। मैंने इस विधि का उपयोग वर्षों पहले PPL प्रक्रिया सुरक्षा को बायपास करने के लिए किया था, लेकिन Microsoft ने ड्राइवर संस्करण 17.11 के साथ इस बायपास को पैच कर दिया, अब यह जाँच कर कि लक्ष्य हैंडल एक PPL प्रक्रिया या थ्रेड हैंडल है या नहीं। फिर भी, 17.00 से 17.09 तक के ड्राइवर संस्करण (17.10 मौजूद नहीं है) Microsoft की भेद्य ड्राइवर ब्लॉकलिस्ट में शामिल नहीं हैं और मुझे संदेह है कि कुछ EDR विक्रेता भी इन संस्करणों को फ़्लैग नहीं करते हैं (अभी के लिए)।
यह PPL प्रक्रियाओं को मारने के लिए केवल PoC कार्यान्वयन है। वही शक्तिशाली हैंडल डुप्लिकेशन IOCTL अन्य हैंडल प्रकारों जैसे थ्रेड्स की प्रतिलिपि बनाने और अन्य PPL प्रक्रियाओं में शेलकोड इंजेक्ट करने के लिए भी उपयोग किया जा सकता है।
उपयोग:
1. पुराना SysInternals Process Explorer (17.00 से 17.10) डाउनलोड करें
2. भेद्य ड्राइवर लोड करने के लिए procexp64.exe को व्यवस्थापक के रूप में चलाएँ
3. Process Explorer में उदाहरण के लिए MsMpEng.exe का PID देखें (उदा: 3660)
4. लक्ष्य प्रक्रिया को मारने के लिए ps_ppl_bypass.exe PID ("ps_ppl_bypass.exe 3660") को व्यवस्थापक के रूप में चलाएँ
आधिकारिक SysInternals वेबसाइट से SysInternals Handles टूल से इसे निकालकर पुराना ड्राइवर संस्करण प्राप्त करना अभी भी संभव है: https://learn.microsoft.com/en-us/sysinternals/downloads/handle