
ETW उपभोक्ताओं से कर्नल पते लीक करना। प्रशासक (Administrator) विशेषाधिकारों की आवश्यकता है।
इस रिपॉजिटरी में एक प्रोग्राम के लिए PoC शामिल है जो कर्नेल मेमोरी पतों को लीक करने के लिए ETW का उपयोग करता है। यह एक कंज्यूमर बनाकर (लगभग किसी भी प्रोवाइडर के लिए हो सकता है, क्योंकि लगभग सभी कर्नेल पते लीक करते हैं) और उससे स्टैक ट्रेस का अनुरोध करके ऐसा करता है। स्टैक ट्रेस प्राप्त होने के बाद, इसे कर्नेल मेमोरी पतों को निकालने के लिए पार्स किया जाता है। चूँकि Microsoft एडमिनिस्ट्रेटर से कर्नेल को सुरक्षा सीमा नहीं मानता है, इस स्थिति में जल्द ही बदलाव नहीं होगा। यह कुछ एक्सप्लॉइटेशन परिदृश्यों में उपयोगी हो सकता है (जैसे कि कर्नेल बेस पता लीक करना यदि आप जानते हैं कि एक ETW प्रोवाइडर एक कर्नेल पता लीक करता है जो कर्नेल बेस पते या उस मामले के लिए किसी अन्य दिलचस्प पते से एक निश्चित ऑफसेट पर है) या केवल एक पार्टी ट्रिक के रूप में।
ध्यान रखें कि ETW प्रोवाइडर्स से खपत शुरू करने के लिए प्रशासनिक विशेषाधिकार आवश्यक हैं। यदि पहले से ही कोई प्रोग्राम है जो ETW इवेंट्स का उपभोग करता है, जिसमें सामान्य उपयोगकर्ता के पास ट्रेस तक पहुंच है, तो सामान्य उपयोगकर्ता भी कर्नेल पतों को लीक करने में सक्षम होगा। यह वास्तविक कर्नेल डेटा का कोई लीक प्रदान नहीं करता है, केवल कर्नेल पते (जब तक कि शायद अत्यधिक एज केस में नहीं)।

आप EtwLeakKernel में उपयोग करने का एक उदाहरण देख सकते हैं। आप किसी अन्य ETW कंज्यूमर का भी उपयोग कर सकते हैं और स्टैक का अनुरोध कर सकते हैं, इस उदाहरण में यह Microsoft-Windows-Kernel-Network का उपयोग कर रहा है।
git clone https://github.com/Idov31/EtwLeakKernel --recursive