Windows XP核心驱动本地权限提升漏洞
作者: Polymorphours, 出处:IT专家网, 责任编辑: 张帅,
2007-10-26 00:00
Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞,这个内核提权的0day发现有段日子了,笔者这里公布仅为大家共同探讨,一起学习提高……
检查输入输出
| .text:00011D2F cmp eax, 0Ah .text:00011D32 jz short loc_11D41 ; -> 如果函数返回 |
0Ah 进行拷贝
| .text:00011D32 .text:00011D34 .text:00011D34 loc_11D34: ; CODE XREF: sub_11CD8+40j .text:00011D34 mov eax, 0C0000001h .text:00011D34 .text:00011D39 .text:00011D39 loc_11D39: ; CODE XREF: sub_11CD8+24j .text:00011D39 mov [ebx+18h], eax .text:00011D3C mov [ebx+1Ch], edi .text:00011D3F jmp short loc_11D59 .text:00011D3F .text:00011D41 ; --------------------------------------------------------------------------- .text:00011D41 .text:00011D41 loc_11D41: ; CODE XREF: sub_11CD8+5Aj .text:00011D41 mov edi, [ebx+3Ch] ; -> 在此之前没有对 |
UserBuffer进行检查,直接复制数据到UserBuffer
| .text:00011D44 mov ecx, ebp .text:00011D46 mov eax, ecx .text:00011D48 shr ecx, 2 .text:00011D4B rep movsd .text:00011D4D mov ecx, eax .text:00011D4F and ecx, 3 .text:00011D52 xor eax, eax .text:00011D54 rep movsb .text:00011D56 mov [ebx+1Ch], ebp .text:00011D56 .text:00011D59 .text:00011D59 loc_11D59: ; CODE XREF: sub_11CD8+2Dj .text:00011D59 ; sub_11CD8+67j .text:00011D59 pop edi .text:00011D5A pop esi .text:00011D5B pop ebp .text:00011D5C pop ebx .text:00011D5D retn 4 .text:00011D5D .text:00011D5D sub_11CD8 endp |
看完漏洞代码的片断后,我们知道这个漏洞其实非常好利用
利用方法1:
和之前的Symtdi.sys的提权漏洞一样,去HOOK一个不常用的系统调用,然后我们自己出发系统调用,来使系统运行我们的特权代码
利用方法2:
由于没有写入的数据限制,我们可以直接在GDT中添加调用门,或者在HOOK IDT中的中断处理例程 (要注意多CPU的情况)。
- 本文关键词:

