ESET Smart Security <= 3.0.672 (epfw.sys) Privilege Escalation Exploit

Проблема конкретно виконується на IOCTL обробки коду у пристрої драйверу epfw.sys. Драйвер пристрою не в змозі затвердити user-land адреси, передані IOCTL handler. В результаті атакуючий може отримати привілеї користувача на локальній системі


///////////////////////////////////////////////////////////////////////
// +-----------------------------------------------------+ //
// |                                                                           | //
// | ESET, LLC. - http://www.eset.com/                          | //
// |                                                                            | //
// | Affected Software:                                                 | //
// | ESET Smart Security <= 3.0.672                            | //
// |                                                                           | //
// | Affected Driver:                                                     | //
// | Eset Personal Firewall driver - epfw.sys <= 3.0.672.0 | //
// |                                                                           | //
// | Local Privilege Escalation Exploit                                | //
// | For Educational Purposes Only !                                | //
// |                                                                            | //
// +-----------------------------------------------------+ //
// |                                                                          | //
// | NT Internals - http://www.ntinternals.org/                | //
// | alex ntinternals org                                                | //
// | 18 December 2008                                                 | //
// |                                                                           | //
// | References:                                                          | //
// | Exploiting Common Flaws in Drivers                            | //
// | Ruben Santamarta - http://reversemode.com/            | //
// |                                                                           | //
// +-----------------------------------------------------+ //

Exploit:
http://www.ntinternals.org/ntiadv0807/Epfw_Exp.zip
backup: http://milw0rm.com/sploits/2008-Epfw_Exp.zip

...
.text:000118DE @@ioctl_0x8897229F:
.text:000118DE                 push    4
.text:000118E0                 pop     eax
.text:000118E1                 cmp     [ebp+OutputBufferLength], eax
.text:000118E4                 jb      @@invalid_parameter
.text:000118EA                 mov     ecx, ebx                       ; DeviceObject
.text:000118EC                 mov     ecx, [ecx+28h]                 ; DeviceExtension
.text:000118EF                 mov     ecx, [ecx+60h]
.text:000118F2                 mov     ebx, [ebp+OutputBuffer]
.text:000118F5                 mov     [ebx], ecx
.text:000118F7                 mov     [edi], eax                     ; Information
.text:000118F9                 mov     [esi], edx                     ; Status
.text:000118FB                 jmp     @@exit
...



coded by nessus