
एक Fortinet fortimon3_74.sys kernel driver flaw का फायदा उठाकर PPL को bypass करने और lsass.exe जैसी protected processes को unauthenticated kill command के ज़रिए terminate करने का proof-of-concept।
Fortinet के fortimon3_74.sys कर्नेल ड्राइवर (FortiClient का "anti-exploit" मिनीफ़िल्टर) में एक भेद्यता किसी भी स्थानीय एडमिनिस्ट्रेटर को किसी भी प्रोसेस को समाप्त करने की अनुमति देती है - जिसमें Windows Defender (MsMpEng.exe) और lsass.exe जैसी PPL (Protected Process Light) संरक्षित प्रोसेस भी शामिल हैं - एक अनधिकृत संचार पोर्ट पर 8-बाइट संदेश भेजकर।
कोई बफ़र ओवरफ़्लो नहीं। कोई हीप स्प्रे नहीं। कोई ROP चेन नहीं। बस 8 बाइट्स।
| फ़ील्ड | मान |
|---|---|
| ड्राइवर | fortimon3_74.sys (FortiClient Anti-Exploit Minifilter) |
| पोर्ट | \Fortimon3FilterAntiExploitPort |
| प्रभाव | PPL बायपास, मनमाना प्रोसेस समाप्ति |
| पहुँच | स्थानीय एडमिनिस्ट्रेटर |
| प्रमाणीकरण | कोई नहीं |
| BYOVD जोखिम | उच्च - ड्राइवर Fortinet द्वारा हस्ताक्षरित है |
ड्राइवर बिना किसी कॉलर प्रमाणीकरण के एक मिनीफ़िल्टर संचार पोर्ट को उजागर करता है। यह एक सरल 8-बाइट संदेश स्वीकार करता है:
struct {
DWORD magic; // 0x6C6C696B ("kill" in little-endian ASCII)
DWORD pid; // Target process ID
};
यह संदेश प्राप्त होने पर, ड्राइवर कर्नेल मोड से PROCESS_ALL_ACCESS के साथ ZwOpenProcess को कॉल करता है (PPL जाँचों को बायपास करते हुए), फिर ZwTerminateProcess। कॉलर या लक्ष्य पर कोई सत्यापन नहीं किया जाता।
ZwOpenProcess हैंडल कॉलर की हैंडल टेबल में बनाया जाता है (OBJ_KERNEL_HANDLE फ़्लैग अनुपस्थित), जिससे एक संक्षिप्त विंडो बनती है जहाँ एक यूज़रमोड हमलावर lsass.exe जैसी PPL-संरक्षित प्रोसेस के लिए PROCESS_ALL_ACCESS हैंडल डुप्लिकेट कर सकता है - प्रोसेस को मारे बिना क्रेडेंशियल चोरी को सक्षम करते हुए।
PROCESS_TERMINATE के बजाय PROCESS_ALL_ACCESS का उपयोगOBJ_KERNEL_HANDLE फ़्लैग अनुपस्थित होने से कर्नेल हैंडल यूज़रमोड को उजागर होता है
पूरा डेमो देखें - संरक्षित प्रोसेस के विरुद्ध PPL बायपास प्रदर्शित करता है।
| फ़ाइल | विवरण |
|---|---|
poc.c | Proof of Concept - भेद्य ड्राइवर के माध्यम से नाम से किसी भी प्रोसेस को समाप्त करता है |
cl.exe poc.c /Fe:poc_kill.exe
poc_kill.exe MsMpEng.exe
आवश्यक: स्थानीय एडमिनिस्ट्रेटर विशेषाधिकार, fortimon3_74.sys लोडेड।
me1n
fortimon3_74.sys |
| भेद्य ड्राइवर बाइनरी (Fortinet-हस्ताक्षरित) |
poc.jpg | स्क्रीनशॉट - lsass.exe समाप्त, सिस्टम रीस्टार्ट ट्रिगर हुआ |
forti.mp4 | एक्सप्लॉइट का वीडियो डेमो |