查看: 904|回复: 9
收起左侧

[分享] CET-ShadowStack与漏洞驱动利用

[复制链接]
莉塔林Rita
头像被屏蔽
发表于 2024-12-28 08:06:45 | 显示全部楼层 |阅读模式
本帖最后由 莉塔林Rita 于 2024-12-28 08:29 编辑

(前排告诉yzw:2024-12有新的Windows内核漏洞利用——CVE-2024-35250,你真的不考虑玩Windows内核提权吗?)

(这个漏洞标准用户也可以爽爽提权到内核态,不需要UAC一秒一个框骚扰用户呢)

CET-ShadowStack和CET-Indirect Branch Tracking是Intel和AMD于11代酷睿/第三代Zen处理器架构中引入的新玩具,全称为“控制流强制-影子堆栈”和“控制流强制-间接分支追踪”技术。



引用一段来自Linux内核项目组的介绍

CET 引入了影子堆栈和间接分支跟踪 (IBT)。影子堆栈是从内存中分配的辅助堆栈,应用程序无法直接修改。执行 CALL 指令时,处理器将返回地址推送到普通堆栈和影子堆栈。函数返回时,处理器会弹出卷影堆栈副本,并将其与普通堆栈副本进行比较。如果两者不同,则处理器会引发 control-protection fault。IBT 验证间接 CALL/JMP 目标是否按照编译器使用“ENDBR”操作码标记的方式进行标记。并非所有 CPU 都同时具有 Shadow Stack 和 Indirect Branch Tracking。目前,在 64 位内核中,仅支持用户空间影子堆栈和内核 IBT。

这个新玩具可以有效地打击各种恶意软件滥用漏洞驱动,对,此处点名嘲笑银狐作者之一yzw:4202年能让你玩漏洞驱动,也就是大部分用户不开内核态CET-ShadowStack/CET-Indirect Branch Tracking而已。

那么这么好玩的玩具去哪里玩呢?

第一步:打开Windows 10/11的安全中心,找到设备安全性。



第二步:找到“内核模式硬件强制堆栈保护”,打开它。


第三步:重启即可。





额外的题外话:

事实上,所谓的堆栈欺骗和PoolParty之类的反检测技术,也是建立在一个事实上:由于用户空间启动CET技术会带来不可避免的兼容性问题,大部分操作系统都没有强制对用户态强制执行CET技术。

而堆栈欺骗之类的技术,本质来说是“应用程序对自己执行ROP(返回导向编程)漏洞利用”,因此如果在未来能够对用户态执行强制CET的话,此类技术将无法生存超过一秒钟。

目前,Linux和Android可以强制在用户态执行CET技术,但都需要在内核编译阶段强制执行。





那么打开内核CET后的兼容性呢?

至少我还能爽完三角洲行动,因此LGTM(Looks good to me)。






为何CET技术会对滥用漏洞内核驱动和内核漏洞利用造成十分甚至九分的痛苦?

well,让我们复习CET技术干了什么

CET 使操作系统能够创建⼀个 shadow stack (影⼦栈)。正常情况下,当执⾏ call 指令时,会将 call 指令后⼀条指令地址压栈。当启⽤了 shadow stack 后,会同时在普通数据栈和 shadow stack 中压⼊返回地址,随后在执⾏ ret 返回时,会将 shadow stack 中的返回地址和普通数据栈中的返回地址做对⽐,如匹配,则正常执⾏,如不匹配,则触发#CP(Controlflow Protection) 异常。

很显然,当影子堆栈启动后,你对存在漏洞的内核组件和内核驱动发送的操作码(shellcode)是无法让其与CPU中的影子返回地址与数据栈相匹配的。

这导致动态利用内核漏洞/存在漏洞的内核驱动变得难度很大——你要想办法让CPU中的那个影子备份也被同时更新,但在能这么干之前你就已经触发了处理器的控制流保护异常(最后爽爽蓝屏)。

因此路径变成了你需要先静态修补这个带有漏洞的驱动/内核组件,但那样你又会爽爽破坏掉数字签名。

就,这么简单。





签名档歌词(本次BGM):

「囁いて」もっと近くに感じたいの

[轻声低语」想要与你更加亲密

涙を見せるくらいなら「さよなら」くちづけて

与其让你看到我的悲伤, 不如就此「吻别」

音のない世界 深いまるで海の中

在这无声的世界 仿佛置身深沉的大海中

ひとりの世界 また夜明けを待とうか

在这孤独的世界 我是否要再度等待苏醒的那天

手を伸ばした ただぬくもり感じたくて

我将手伸出 只是为了感受那股温暖

また同じね 窓は氷のようで

这封印一如既往冷如冰霜

月の光が眩しい程 孤独が影を堕すから

月光越是显得耀眼 这孤独的身影便越是堕落黑暗

「囁いて」もっと近くに感じたいの

[轻声低语」想要与你更加亲密

吐息さえ縛りたい全ては衝動

这一切冲动都使我窒息

「またね」なんて”嘘”わかっているけど

纵使我明白「下回见」都是编造出的"谎言"

涙を見せるくらいなら「さよなら」くちづけて

与其让你看到我的悲伤, 不如就此「吻别」https://music.163.com/song?id=1959744052

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1经验 +100 收起 理由
白露为霜 + 100 感谢支持,欢迎常来: )

查看全部评分

Yuki丶
发表于 2024-12-28 08:08:44 | 显示全部楼层
这就玩
莉塔林Rita
头像被屏蔽
 楼主| 发表于 2024-12-28 08:25:03 | 显示全部楼层

内核组件漏洞不知比滥用漏洞驱动高出了几个数量级(确信)。
StarlitFuture
发表于 2024-12-28 09:21:37 | 显示全部楼层
很多事情还是需要微软亲自下场才行,自从默认打开核心隔离(Core Isolation)以后,很多国内厂商的驱动都正规了不少,一些冷门软件像Ukey、电子签章、标书制作软件这些也能正常加载,属实惊到我了;几年前工作电脑开核心隔离直接废一半,网银都登不上去

评分

参与人数 1人气 +1 收起 理由
a27573 + 1

查看全部评分

ANY.LNK
发表于 2024-12-28 09:28:07 | 显示全部楼层
emmmmm………………………………

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
莉塔林Rita
头像被屏蔽
 楼主| 发表于 2024-12-28 09:42:42 | 显示全部楼层
ANY.LNK 发表于 2024-12-28 09:28
emmmmm………………………………

emmmmmmmmmm
家庭版OS好久没用了不知道该怎么做.png
但是你的处理器是支持CET的()
莉塔林Rita
头像被屏蔽
 楼主| 发表于 2024-12-28 09:43:32 | 显示全部楼层
StarlitFuture 发表于 2024-12-28 09:21
很多事情还是需要微软亲自下场才行,自从默认打开核心隔离(Core Isolation)以后,很多国内厂商的驱动都正 ...

只能说微软开始吸取过去的教训,但是不多。
cxllxc
发表于 2024-12-28 11:19:13 | 显示全部楼层
ANY.LNK 发表于 2024-12-28 09:28
emmmmm………………………………

搜一下教程,大概就是去改注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\KernelShadowStacks]
"Enabled"=dword:00000001
"WasEnabledBy"=dword:00000002
ANY.LNK
发表于 2024-12-28 14:34:32 | 显示全部楼层
cxllxc 发表于 2024-12-28 11:19
搜一下教程,大概就是去改注册表

嗯,我注意到了,不过我先得处理一些别的事(系统刚刚完成全新安装,需要设置一下)
不知道这是剑
发表于 2024-12-29 03:35:40 | 显示全部楼层
StarlitFuture 发表于 2024-12-28 09:21
很多事情还是需要微软亲自下场才行,自从默认打开核心隔离(Core Isolation)以后,很多国内厂商的驱动都正 ...

银联那个安全控件带来的驱动还是2013年的
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-22 16:10 , Processed in 0.134779 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表