您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
findwindowexa_findwindowexaw
内核,漏洞,地址findwindowexa_findwindowexaw
发布时间:2020-12-06加入收藏来源:互联网点击:
对于Windows内核提权漏洞而言,其主要目的是为了提升权限,而提升权限的主要手法就是进行Token替换,因此可以通过以下几个特征点进行检查:
在实现任意地址读写原语后,是否有借助泄露的内核地址进行结构查找的操作,例如遍历EPROCESS链在合适的时间点(如当前进程退出前)检查当前的进程的Token是否已被替换为其他高权限进程(例如System进程)的Token,或者查看当前进程创建的子进程的Token是否为System权限0x04 Windows内核漏洞利用攻防史Windows内核团队和漏洞缓解团队一直致力于减少Windows内核的漏洞&利用攻击面,简单了解Windows系统中的内核安全攻防时间线有助于我们对Windows内核利用历史的了解和对Windows内核利用趋势的预测,这些对狩猎都有帮助。
Windows 7KASLR需要额外的内核信息泄露来绕过KASLR绕过方式:https[:]//github.com/sam-b/windows_kernel_address_leaksWindows 8.1SMEP (Supervisor Mode Execution Prevention)需要处理器支持(2011年引入), CR4寄存器的第20位作为开关当CPU处于Ring0模式时,如果执行了Ring3的代码,就会触发页错误绕过方式:CVE-2015-2360 Duqu 2.0在野利用样本禁止使用0地址页之前的内核空指针引用漏洞利用方式:申请0地址,借助0地址进行任意地址读写之后的内核空指针引用漏洞利用:0地址页无法申请,无法完成利用,例如CVE-2018-8120不能在Windows 8及以上版本进行利用Windows 10 1607 (Redstone 1)提升Bypass KASLR的难度将GDI_CELL结构的pKernelAddress成员置为空,通过GdiSharedHandleTable进行内核信息泄露的方式被缓解缓解通过SetWindowText操纵tagWND.strName进行任意内核地址读写的利用方式限制tagWND.strName指针只能指向桌面堆 (缓解CVE-2015-2360和CVE-2016-7255这两个漏洞的在野利用方式)将字体解析模块拆为独立组件,并将其权限限制为AppContainer缓解win32k字体解析类提权漏洞,限制这类漏洞利用过程中的文件读写(缓解CVE-2016-7256和CVE-2020-0938这些字体漏洞的在Windows 10上的利用)Windows 10 1703 (Redstone 2)提升Bypass KASLR的难度缓解通过gSharedInfo进行pvScan0内核指针信息泄露的方式缓解通过桌面堆进行内核信息泄露的方式:Win32ClientInfo结构体内的ulClientDelta指针被移除,无法再通过ulClientDelta进行内核信息泄露缓解借助tagWND构造任意地址读写原语的方式SetWindowLongPtr操作的ExtraBytes内存指针被移到用户态,无法再借助它对tagWND.strName进行修改缓解借助Bitmap进行利用的方式Bitmap对象头部大小增加了8字节Windows 10 1709 (Redstone 3)Win32k Type Isolation for Bitmap:将Bitmap header与Bitmap data分开进一步缓解借助Bitmap对象构造任意地址读写原语的方式绕过方式:借助Palette对象构造任意地址读写原语,参考《Demystifying Windows Kernel Exploitation by Abusing GDI Objects》Windows 10 1803 (Redstone 4)Win32k Type Isolation for Palette缓解借助Palette对象构造任意地址读写原语的方式绕过Type Isolation缓解措施的提权样本:CVE-2018-8453在野利用样本,具体细节参考《Overview of the latest Windows OS kernel exploits found in the wild》缓解通过HMValidateHandle进行内核信息泄露的方式通过HMValidateHandle泄露的内核tagWND副本中,相关指针值不复存在Windows 10 1809 (Redstone 5)继续提升Bypass KASLR的难度创建多个桌面堆,对相关API进行大幅修改绕过方式:用一种新的方式泄漏并计算包含内核模式指针的对象的绝对地址,可参考《DEVELOPMENT OF A NEW WINDOWS 10 KASLR BYPASS (IN ONE WINDBG COMMAND)》这篇文章Windows 10 1903进一步缓解内核漏洞利用的攻击面绕过方式:CVE-2021-1732在野利用样本,借助spmenu进行内核信息泄露,借助GetMenuBarInfo/SetWindowLong函数实现任意地址读写,可在最新版Windows 20H2系统上完成利用0x05 主流浏览器与win32k漏洞的攻防史Chrome/Edge(Chromium-based)Win32k LockdownChrome于2016年首先引入,在Chrome+Windows 8.1及以上环境中禁止调用win32k模块的API绕过方式:采用win32k模块以外的内核漏洞,例如CVE-2018-8611和CVE-2020-17087这类在野利用样本Edge(Chakra)Win32k System Call FilterWindows 8.1开始支持限制对部分win32k API进行调用:在RS3中Edge可以调用349个win32k API;而在RS4中,Edge能调用的win32k API数量减少为78个,所有GDI对象都无法在Edge中创建绕过方式:使用那些没有被过滤的win32k API的漏洞,例如DirectX漏洞,可以参考《Subverting Direct X Kernel For Gaining Remote System》0x06 Windows内核提权漏洞趋势预测Windows 10上的内核漏洞挖掘难度也许变化不大,但利用难度已经变得非常大主流浏览器/文档处理软件相继引入Sandbox机制,APT组织对沙箱逃逸/提权漏洞的需求会越来越大传统的win32k组件内核提权漏洞逐渐被主流浏览器拒之门外非win32k模块内核提权漏洞的需求在APT市场上会继续增加,但成本会越来越高,类似CVE-2018-8611这种高度复杂漏洞利用接下来还会出现逻辑类提权漏洞的数量会稍有增加(作为内存破坏类漏洞的替代品)浏览器自身组件的沙箱逃逸漏洞数量也会增加,这类漏洞是浏览器自己的漏洞,但也可以实现沙箱逃,可以从Low提权到Medium,比如Chrome Mojo组件的沙箱逃逸漏洞和Windows打印机提权漏洞更多内容请前往微信公众号:安恒威胁情报中心
安恒威胁情报中心介绍
安恒威胁情报中心汇聚了海量威胁情报,支持多点渠道数据输入,支持自动情报数据产出,能实现网络安全的高效赋能。平台使用者可通过自定义策略进行威胁监控、威胁狩猎,并对输入数据进行自动化的生产加工,同时支持人工分析团队对情报进行复核整理。
本文到此结束,希望对大家有所帮助呢。
上一篇:(金谷酒数)-金谷酒数是什么意思
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |