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

admin 2024年6月17日11:36:49评论37 views字数 2468阅读8分13秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安设为星标”,否则可能看不到了

这篇记录文是在@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启用(右图)。

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

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

https://github.com/hfiref0x/WinObjEx64
CVE-2024-26229提权复现测试记录
CVE-2024-26229提权复现测试记录

二、利用方式

只需将免杀木马文件名改为cmd.exe放在exp目录下即可,默认优先执行这个目录下的cmd.exe,如果该目录下没有cmd.exe才会去执行System32下的cmd.exe
https://github.com/RalfHacker/CVE-2024-26229-exploit
CVE-2024-26229提权复现测试记录

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

https://github.com/NVISOsecurity/CVE-2024-26229-BOF
CVE-2024-26229提权复现测试记录

0x04 其他问题

问题1:

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

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

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

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

问题2:

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

https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/
CVE-2024-26229提权复现测试记录

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

Win10 1909 token:0x360Win10 20H2 token:0x4b8Win11 22H2 token:0x4b8Win11 23H2 Token:0x4b8[...SNIP...]
CVE-2024-26229提权复现测试记录

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

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中利用。

gcc -c CVE-2024-26229-bof.c -o CVE-2024-26229-1909.o
CVE-2024-26229提权复现测试记录

Win10 1909 + CVE-2024-26229-exploit:

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

Win10 1909 + CVE-2024-26229-BOF:

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

0x05 文末总结

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

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

0x06 参考链接

https://xz.aliyun.com/t/13434https://forum.butian.net/share/2333https://wonderkun.cc/2021/08/22/windows10内核态提权方法汇总https://www.techthoughts.info/windows-version-numbers/

原文始发于微信公众号(潇湘信安):CVE-2024-26229提权复现测试记录

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月17日11:36:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-26229提权复现测试记录https://cn-sec.com/archives/2854760.html

发表评论

匿名网友 填写信息