
dbutil_2_3.sys में मनमाना कर्नेल रीड/राइट, nt authority/system तक स्थानीय विशेषाधिकार वृद्धि (लोकल प्रिविलेज एस्केलेशन) का प्रूफ ऑफ कॉन्सेप्ट
सिस्टम cmd चलाकर LPE के लिए CVE-2021-21551 का सरल PoC।
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21551
हस्ताक्षरित डेल विंडोज़ ड्राइवर (dbutil_2_3.sys) में एक समस्या खोजी गई थी जो पूरे स्थानीय सिस्टम से समझौता कर सकती है। ड्राइवर की ioctl डिस्पैच रूटीन में उपयोगकर्ता द्वारा आपूर्ति किए गए बफर का सत्यापन नहीं होता है।
कोई भी व्यक्ति हैंडल बना सकता है और इन ioctl कोडों पर ioctl अनुरोध भेज सकता है, जो विंडोज़ सुरक्षा मॉडल को तोड़ते हैं:
यह PoC क्रमशः arbitrary kernel memory read/write के लिए 0x9b0c1ec4/0x9b0c1ec8 ioctl कोडों का शोषण करता है। सबसे पहले यह सिस्टम टोकन प्राप्त करने के लिए कर्नेल में PsInitialSystemProcess का पता लगाता है और फिर इस टोकन को वर्तमान प्रक्रिया के EPROCESS struct में लिखता है। संकलन से पहले BSOD से बचने के लिए https://www.vergiliusproject.com/ का उपयोग करके अपने EPROCESS ऑफसेट अपडेट करें।
DWORD EPROCESS_ActiveProcessLinks = 0x2e8;
DWORD EPROCESS_Token = 0x348;
संकलन के लिए विज़ुअल स्टूडियो का उपयोग करें (विंडोज़ हेडर आवश्यक है)। Ntdll SDK header: https://github.com/mathisvickie/segy-software/blob/main/external/ntdll.h
परीक्षण किया गया:
सफल शोषण सिस्टम cmd चलाएगा। यदि आपको PAGE_FAULT_IN_NONPAGED_AREA बगचेक मिलता है, तो संभवतः ऑफसेट गलत हैं। नमूना आउटपुट:
