前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2024-26229提权复现测试记录

CVE-2024-26229提权复现测试记录

作者头像
潇湘信安
发布2024-06-19 20:55:04
1690
发布2024-06-19 20:55:04
举报
文章被收录于专栏:潇湘信安潇湘信安

这篇记录文是在@IIX Fiber师傅帮助下完成的,同时也感谢群里@Maytersec、@天明、@程哥、@阿柳几个师傅给提供的测试环境和帮着一起测试。

0x01 漏洞描述

CVE-2024-26229:Windows CSC服务特权提升漏洞,csc.sys驱动程序中带有METHOD_NEITHER I/O控制代码的IOCTL地址验证不正确。当IOCTL使用METHOD_NEITHER选项进行I/O控制时,IOCTL有责任验证提供给它的地址,如果验证缺失或不正确,攻击者可以提供任意内存地址,从而导致代码执行或拒绝服务。

0x02 影响版本

从下文链接和本次测试看,应该从Win10 ≥1809版本之后都有受到影响,包括到Win11的23H2,1809之前的版本由于没测试环境(不太确定),目前只测试了以下4个版本。

代码语言:javascript
复制
https://www.avesnetsec.com/vulnerabilities/cve-2024-26229
代码语言:javascript
复制
Windows 10 1909(Success)
Windows 10 20H2(Success)
Windows 11 22H2(Success)
Windows 11 23H2(Success)
[...SNIP...]

0x03 漏洞复现

一、利用条件

这个提权漏洞的利用需要目标主机启用csc服务,可以使用sc qc csc命令查询,START_TYPE为DISABLED禁用(左图),SYSTEM_START启用(右图)。

图片
图片

2008/2012没有这服务(无法利用),2016/2019/2022倒是有这服务,但是默认都禁用了,而且没法启动,WinObjEx64中也没有找到csc,Win10有。

代码语言:javascript
复制
https://github.com/hfiref0x/WinObjEx64
图片
图片
图片
图片

二、利用方式

只需将免杀木马文件名改为cmd.exe放在exp目录下即可,默认优先执行这个目录下的cmd.exe,如果该目录下没有cmd.exe才会去执行System32下的cmd.exe

代码语言:javascript
复制
https://github.com/RalfHacker/CVE-2024-26229-exploit
图片
图片

刚出的CVE-2024-26229-BOF,比上边这工具利用起来更简单更好(内存执行,无需落地),使用inline-execute执行BOF文件即可将当前Beacon提升为SYSTEM。

代码语言:javascript
复制
https://github.com/NVISOsecurity/CVE-2024-26229-BOF
图片
图片

0x04 其他问题

问题1:

默认源码编译的CVE-2024-26229.exe在Win10 20H2利用成功,但在Win10 1909执行时会提示找不到vcruntime140.dll,需手动上传这个文件。

图片
图片

有的exp在执行时会遇到缺少dll文件的情况,我们可以尝试在Visual Studio将编译模式改为MTd,默认为MDd模式,不过MTd编译的文件要比MDd大不少。

图片
图片

问题2:

Win10 1909上传vcruntime140.dll后再执行exp并没有再报错,但还是之前的低权限...,这种情况可能是Token不对,可以用windbg看下偏移。

代码语言:javascript
复制
https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/
图片
图片

打开windbg -> Ctrl+E -> CVE-2024-26229.exe -> 输入dt _eprocess命令,可以看到Win10 1909的Token偏移为0x360,不同Windows版本Token偏移也不同。

代码语言:javascript
复制
Win10 1909 token:0x360
Win10 20H2 token:0x4b8
Win11 22H2 token:0x4b8
Win11 23H2 Token:0x4b8
[...SNIP...]
图片
图片

注:通过Google查找相关资料,看了下各个版本的 Token偏移,应该是从Win10 2004 (20H1)这个版本开始Token偏移才发生的变化,之前的是0x360,之后的都是0x4b8

代码语言:javascript
复制
https://keramas.github.io/2020/06/21/Windows-10-2004-EPROCESS-Structure.html

然后将CVE-2024-26229-exploit项目源码中的Token偏移0x4b8改为0x360CVE-2024-26229-BOF项目也一样,都得改下Token偏移才能在Win10 1909中利用。

代码语言:javascript
复制
gcc -c CVE-2024-26229-bof.c -o CVE-2024-26229-1909.o
图片
图片

Win10 1909 + CVE-2024-26229-exploit:

图片
图片
图片
图片

Win10 1909 + CVE-2024-26229-BOF:

图片
图片
图片
图片

0x05 文末总结

我们在实战项目测试中如果遇到Win 10/11时可以试试用这个exp来提权,而且大概率能绕过一些防护的拦截,但Win Server估计都提不了,实在没办法时可以试试…!

已将这个提权工具集成到PostExpKit插件中,支持在权限提升模块和Beacon命令下两种使用方式,感兴趣的师傅可在下方加入星球下载测试。

图片
图片

0x06 参考链接

代码语言:javascript
复制
https://xz.aliyun.com/t/13434
https://forum.butian.net/share/2333
https://wonderkun.cc/2021/08/22/windows10内核态提权方法汇总
https://www.techthoughts.info/windows-version-numbers/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档