摘要
近日一则新闻报道了安全研究员 vulnano 在 Meta 举办的漏洞赏金活动BountyCon 中斩获 111,750美元巨额奖励,其发现的Windows版Messenger高危漏洞更让他登顶活动排行榜首。
这究竟是一个怎样的漏洞?攻击者如何通过“发送一个文件”就能在受害者电脑上执行任意代码?让我们来一窥究竟。
漏洞概述
2024年6月,研究员在Facebook Messenger for Windows中发现了一个严重的路径遍历漏洞。
攻击者只需通过加密聊天向受害者发送一个特制文件,便能将文件写入受害者电脑的任意目录。结合系统中已安装的常见软件(如Viber、Slack)存在的DLL劫持漏洞,最终实现了无需用户交互的远程代码执行。
漏洞细节:诡异的文件路径
当研究员从Android版Messenger向Windows版用户发送加密附件时,即在文件名中使用了URL编码的路径遍历序列%2e%2e%5c
(即..
)后惊奇发现,Messenger for Windows在处理该文件时,竟未进行有效过滤,导致文件被存放到非预期路径:
C:\\Users\\vulna\\AppData\\Local\\Messenger\\TamStorage\\media_bank\\AdvancedCrypto\\100027775233281\\persistent\\da7a85eb-aac7-46da-9cba-7a2f38f88e08\\2024\\06\\03\\20240603T091559605.att.04484a15-4cbf-4a1d-9e65-a48c59dcc7a2\\..\\test.bat
通过精心构造文件名,攻击者理论上可以将文件放置在任意位置,然而 Windows 的256字符路径长度限制了彻底“为所欲为”的道路。
绝地反击:44字符的极限利用
基础路径本身已长达212字符,仅剩下44字符可供操作,这44字符能够做什么呢?
当使用
C:\Users\vulna\AppData\Local\Messenger\TamStorage\media_bank\AdvancedCrypto\100027775233281\persistent\da7a85eb-aac7-46da-9cba-7a2f38f88e08\2024\06\03\20240603T091559605.att.04484a15-4cbf-4a1d-9e65-a48c59dcc7a2\..\..\..\..\..\..\..\..\..\..\..
后,目录遍历到了C:\Users\vulna\AppData\Local\
,但可供利用的字符仅剩12个。
许多常见应用(如Viber、Slack)都安装于此,并且这些应用在启动时往往会从该目录加载DLL文件,如果某些DLL不存在,就为DLL劫持创造了条件。
以 Viber 为例,它会尝试从C:\Users\vulna\AppData\Local\Viber
加载不存在的qwave.dll
。而通过路径遍历,攻击者能够将恶意DLL精准投放到此位置,而..\qwave.dll
恰好是12个字符:。
攻击链:从文件上传到代码执行
完整的攻击步骤如下:
-
构造恶意文件:制作一个包含恶意代码的DLL文件,并将其命名为一长串路径遍历序列:
%2e%2e%5c%2e%2e%5c...%2e%2e%5cViber%5cqwave.dll
-
发送文件:通过Android版Messenger的加密聊天功能,将此文件发送给使用Windows版Messenger的受害者
-
文件落地:受害者的Messenger客户端在处理此文件时,触发路径遍历漏洞,最终将恶意DLL写入
C:\Users\[用户]\AppData\Local\Viber\qwave.dll
-
触发执行:当受害者(或系统)启动Viber时,程序会加载并执行恶意qwave.dll中的代码,攻击完成
整个过程无需用户交互,只要攻击者能向受害者发送消息即可。
漏洞时间线与“加钱”故事
-
2024年6月3日:首次报告路径遍历漏洞,Meta回应称,若能证明可实现代码执行,将显著提升奖励金额
-
2024年6月5日:提交通过Viber实现RCE的完整利用链
-
2024年8月8日:Meta初定奖励$34,500
-
2024年8月8日:研究员依据Meta官方赏金标准提出异议,认为奖励应与漏洞严重程度匹配
-
2024年8月23日:Meta最终将奖励提升至75,000,加上额外奖金,总额达到111,750。
测试环境
-
攻击端:Google Pixel Fold (Android 14), Messenger v459.1.0.57.108
-
受害端:Windows 11 Home, Messenger for Windows v212.1.0.15.233
Meta目前已修复此漏洞。请确保你的Messenger for Windows及其它软件保持最新版本。
攻击演示视频:https://youtu.be/wvywPUdTIPA?si=rPCoGAukL80pv5Fw
资料来源:https://www.vulnano.com/2025/09/remote-code-execution-though.html