PostExpKit - CVE-2024-26229提权复现测试

这篇记录文是在@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个版本。

https://www.avesnetsec.com/vulnerabilities/cve-2024-26229

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有。

https://github.com/hfiref0x/WinObjEx64

图片

图片

二、利用方式

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

https://github.com/RalfHacker/CVE-2024-26229-exploit

图片

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

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看下偏移。

Windows SDK - Windows 应用开发 | Microsoft Developer

图片

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

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

Windows 10 2004 (20H1) Token Stealing Payload and EPROCESS Changes | An Utsusemi of Keramas

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

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 参考链接

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/

  • 这个插件目前只在【潇湘信安】知识星球公开,感兴趣的师傅可在下方领取优惠券加入。
  • 更多适用于后渗透实战的CobaltStrike脚本、插件功能正在陆续进行测试,敬请期待...。
  • 大家在使用PostExpKit插件过程中有遇到啥问题可以在知识星球或者WX找我反馈、交流。

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值