Windows零日漏洞威胁Web3安全:Web2基础设施漏洞或影响数字资产

robot
摘要生成中

微软Windows系统零日漏洞分析:可能危及Web3生态安全

近期微软发布的安全补丁中修复了一个正在被黑客利用的Windows系统提权漏洞。这个漏洞主要存在于早期Windows版本中,无法在Windows 11上触发。本文将分析在当前安全机制不断加强的背景下,攻击者可能如何继续利用这个漏洞。

漏洞背景

这是一个零日漏洞,即未公开披露就已被利用的系统漏洞。通过该漏洞,黑客可获取Windows系统的完全控制权,从而可能导致个人信息泄露、系统崩溃、数据丢失、财务损失等严重后果。对于Web3用户来说,私钥可能被窃取,数字资产面临被转移的风险。从更大范围看,这个漏洞甚至可能影响到基于Web2基础设施运行的整个Web3生态。

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

漏洞分析

补丁分析显示,这是一个win32k中与窗口对象引用计数相关的问题。通过分析早期源码注释发现,以前的代码只锁定了窗口对象,而没有锁定窗口中的菜单对象,导致菜单对象可能被错误引用。

进一步分析发现,问题出在xxxEnableMenuItem函数中。该函数返回的菜单对象可能是窗口主菜单,也可能是子菜单甚至子子菜单。通过构造特殊的多层嵌套菜单结构,可以在函数返回用户层时释放某个中间菜单对象,从而在后续引用时造成漏洞。

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

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

漏洞利用

利用该漏洞的主要思路有两种:

  1. 执行shellcode代码。但在高版本Windows中,这种方式面临一些技术难题。

  2. 利用读写原语修改token地址。这种方式具有更好的通用性,主要需要解决如何控制cbwndextra值的问题。

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

最终采用的方案是:

  1. 通过控制窗口对象内存布局,利用xxxRedrawWindow函数中的标志位操作写入HWNDClass的cb-extra值。

  2. 设计连续的HWND对象内存布局,释放中间对象并用HWNDClass对象占用。

  3. 利用堆内存中泄露的内核句柄地址精确控制对象排列。

  4. 使用GetMenuBarInfo()实现任意读,SetClassLongPtr()实现任意写。

  5. 最终通过修改token地址实现提权。

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

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

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

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

总结

  1. 微软正在用Rust重构win32k相关代码,未来此类漏洞可能会减少。

  2. 该漏洞利用过程相对简单,主要依赖桌面堆句柄地址泄露。

  3. 发现该漏洞可能依赖于更完善的代码覆盖率检测。

  4. 对异常的内存布局和读写操作进行检测,有助于发现类似漏洞。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 3
  • 分享
评论
0/400
Rekt_Recoveryvip
· 4小时前
在杠杆上损失了90%,但仍然活着... 坦白说,分享来自战壕的战争故事
查看原文回复0
Token Therapistvip
· 5小时前
别总整些花里胡哨的web3
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)