Windows内核0day漏洞剖析:Web3资产安全受威胁

微软Windows系统0day漏洞分析与利用

近期,微软安全补丁中修复了一个被黑客在野利用的Windows内核提权漏洞。该漏洞主要存在于早期Windows系统版本中,而非Windows 11。本文将分析在当前安全防护措施不断完善的背景下,攻击者如何继续利用这一漏洞。

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

漏洞背景

这是一个Windows系统层面的0day漏洞,攻击者可通过该漏洞获取Windows的完全控制权。被控制后的危害包括个人信息泄露、系统崩溃、数据丢失、财务损失、恶意软件植入等。对Web3用户而言,私钥可能被窃取,数字资产面临被转移的风险。从更大范围来看,该漏洞可能影响基于Web2基础设施运行的Web3生态。

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

补丁分析

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

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

漏洞复现

我们构造了一个特殊的四层菜单结构来触发漏洞。这些菜单需要满足一些特定条件,以通过相关函数的检测。最终在返回用户层时,通过删除菜单间的引用关系来释放目标菜单对象,使得后续对该对象的引用变得无效。

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

漏洞利用

利用该漏洞的主要思路是通过读写原语修改token地址。整个利用过程可分为两个关键步骤:一是如何利用UAF漏洞控制cbwndextra的值,二是如何基于控制的cbwndextra值建立稳定的读写原语。

我们通过精心设计的内存布局,利用窗口对象和HWNDClass对象之间的关系,成功实现了第一次数据写入。随后通过连续分配三个HWND对象,并释放中间一个来构造所需的内存结构。

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

在读写原语方面,我们使用GetMenuBarInfo()实现任意读,使用SetClassLongPtr()实现任意写。除了TOKEN的替换操作外,其他写入都是利用第一个窗口对象的class对象通过偏移来完成。

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

总结

  1. 微软正在尝试使用Rust重构win32k相关代码,未来此类漏洞可能在新系统中被杜绝。

  2. 该漏洞的利用过程相对简单,主要难点在于如何控制第一次写入。

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

  4. 对于漏洞检测而言,除了关注关键函数点,还应该对异常的内存布局和数据读写进行针对性检测。

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

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
BearEatsAllvip
· 16小时前
旧系统这不赶紧换啊
回复0
ZkSnarkervip
· 16小时前
有趣的事实:说实话,生产环境中仍在运行 Windows 7
查看原文回复0
夜不撸毛vip
· 16小时前
芜湖牛批...炸硬盘警告
回复0
ser_we_are_earlyvip
· 16小时前
win7老铁还在吗?
回复0
Gas费刺客vip
· 16小时前
才睡醒没系统安全补丁更新感觉更安全
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)