• 关于IRQL问题的记录

    为什么提高IRQL到DISPATCH_LEVEL级就能禁止线程切换?
  • x64 sysret漏洞分析(CVE-2012-0217)

    Intel sysret 在64位windows下引发的漏洞 漏洞描述 根据Intel手册描述,其64位 CPU 下的sysret指令不主动进行栈切换,需要由开发人员自己显式切换GS、RBP和 RSP,当以上受影响操作系统由kernel-mode返回user-mode时,首先将GS,RBP和RSP恢复为user-mode的值,然后调用sysret。但是当返回地址为无效地址(有效地址的48-63位必须和第47位一致)时,sysret将会触发#GP异常,此时会跳到KiGeneralProtectionFault执行,由于 此时CPU运行在ring0,但RSP、RBP、GS已经切到user-mode地址空间,若精心构造gs所指向的值,可导致ring0下执行任意代码。
  • CVE-2011-2018 漏洞分析

    CVE-2011-2018 未初始化TrapFrame.TempSegCs引发的漏洞。
  • VMware x64 guest os EOP(CVE-2008-4279)

    漏洞描述 在VMware x64 Guest OS中, 利用其模拟指令的缺陷可导致以ring 0权限执行任意代码。
  • GP异常处理函数设计缺陷引发的漏洞

    #GP 异常处理函数设计缺陷引发的漏洞(CVE-2010-0232)
  • Expand-Down引发EOP

    CAN-2003-0910(Windows Expand-Down 数据段 权限提升漏洞)
  • UD异常处理函数设计缺陷引发的漏洞

    漏洞描述 漏洞发生在KiTrap06函数中, 当“BOP”发生时,此函数就会取出CONTEXT结构里保存的环境,返回到NtVdmControl函数,最后回到ntvdm.exe的用户态部分进行处理。但是因为任何进程都可以读写ntvdm.exe进程地址空间中保存的CONTEXT结构中的数据,而KiTrap06并未验证环境结构的有效性,导致可以修改保存在CONTEXT结构里的返回地址和代码段选择子,进而在内核态执行用户态提供的代码来进行本地权限提升。
  • 1
  • 2