Windows 0day漏洞威胁Web3安全 私钥窃取风险上升

robot
摘要生成中

微软Windows系统0day漏洞分析:可能对Web3生态造成重大影响

上个月微软安全补丁中包含一个在野利用的win32k提权漏洞。该漏洞似乎不能在Windows 11系统版本上触发,仅存在于早期系统。本文将分析在当前新缓解措施不断改善的背景下,攻击者可能如何继续利用这个漏洞。分析过程在Windows Server 2016环境下完成。

0day漏洞是指未被披露和修补的漏洞,可被攻击者在未被察觉的情况下恶意利用,往往具备极大的破坏性。本次发现的0day漏洞存在于Windows系统层面,黑客可通过该漏洞获取Windows的完全控制权。这可能导致个人信息窃取、系统崩溃数据丢失、财务损失、恶意软件植入等后果。从Web3角度来看,用户的私钥可能被窃取,数字资产被转移。更大范围内,这个漏洞甚至可能影响基于Web2基础设施运行的整个Web3生态。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

分析补丁发现,问题出在一个对象的引用计数被多处理了一次。通过早期源码注释可以看出,以前的代码只是锁定了窗口对象,没有锁定窗口对象中的菜单对象,这里菜单对象可能被错误引用。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

为验证漏洞,我们实现了一个概念验证(PoC)。通过构造特殊的多层嵌套菜单,可以在xxxEnableMenuItem函数中触发漏洞。关键是要在合适的时机删除菜单C和菜单B的引用关系,成功释放菜单C对象。这样在xxxEnableMenuItem函数返回时,即将引用的菜单C对象已经无效。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

在实现漏洞利用(Exp)时,我们主要考虑了两种方案:执行shellcode代码和利用读写原语修改token地址。最终选择了后者,因为这种方法在最近两年仍有公开的exp可参考。整个利用过程分为两步:首先利用UAF漏洞控制cbwndextra的值,然后建立稳定的读写原语。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

通过精心设计内存布局,我们可以实现对目标对象的精确控制。利用GetMenuBarInfo()和SetClassLongPtr()函数分别实现任意读和任意写原语。除了替换TOKEN的写入操作依赖第二个窗口的class对象外,其他写入都利用第一个窗口对象的class对象使用偏移来写入。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

总的来说,虽然win32k漏洞由来已久,但微软正在尝试使用Rust重构该部分内核代码,未来新系统中可能会杜绝此类漏洞。目前这类漏洞的利用过程基本不太困难,主要依赖桌面堆句柄地址的泄露。对于老旧系统来说,这仍然是一个不安全的隐患。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

从漏洞发现的角度看,更完善的代码覆盖率检测可能有助于发现此类漏洞。对于漏洞利用检测而言,除了关注漏洞触发函数的关键点,还应该对内存布局异常和窗口类额外数据的异常偏移读写进行针对性检测,这可能是发现同类型漏洞的有效途径之一。

Numen 独家:微软 0day 漏洞可系统+物理层面掀掉 Web3 牌局

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 2
  • 分享
评论
0/400
半仓就是空仓vip
· 10小时前
华子又出故障了,快跑
回复0
SignatureCollectorvip
· 10小时前
又得换台电脑了吧
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)