Facebook Messenger 被曝漏洞,可导致恶意软件获得持续访问权限(详细分析)
新冠肺炎疫情不仅对我们的健康产生重大影响,而且对我们的社交生活、个人生活和工作亦是如此。它使我们保持物理距离和社交距离、在家工作并通过聊天应用联系。我们发现自己在网上度过的日子要比以往更多,使用移动和桌面聊天应用的人数激增。自疫情以来,有些应用的使用量上涨了40%。单是 Facebook 的用户使用时长就上涨了70%,通讯时长增加了50%。
近期,Reason Labs 公司的研究员在Windows 版本的 Facebook Messenger app 中发现了一个问题。该 app 执行不应被执行的代码,触发可导致攻击者劫持 Messenger 代码中某资源的调用漏洞,导致攻击者运行恶意软件。研究人员在进行安全审计时发现了这个漏洞。Facebook 已发布新版本 460.16 解决该问题。本文将对漏洞进行详细分析。
在进攻型网络安全杀死链中,持续性威胁是攻击者需要采取的一个重要步骤,目的是确保自己不会失去和远程工作站的连接。多数针对 Windows 的持续性方法非常常见且广为人知,如注册表键、调度任务、自动启动服务等等。
对于网络威胁研究人员或取证调查人员而言,找到使用持续性方法的恶意行动者非常容易,因为所有恶意软件的常见逻辑只要求具备三个因素:
恶意软件需要通信。
恶意软件需要运行。
恶意软件需要保持隐蔽。
第二阶段的持续性威胁更为复杂,原因在于攻击者将试图找到一个不存在的某进程或 DLL的不必要的调用,这样就能劫持该调用运行恶意文件。通过 Procmon 检查进程的任何人将注意到很多程序试图加载并不存在的资源。这样做的原因有两个:
1、该资源是可选的且真的不存在。
2、该程序并不具有该资源的绝对路径并需要遍历搜索顺序。
研究人员在测试新的 “Messenger” 桌面应用时,从 Python27 目录中找到了加载 Powershell.exe 的一个奇怪的调用。当时我们就知道出事了,因为 “Python27” 位于 “c:\python27” 目录中,它是一个完整性较低的位置。这就意味着每个恶意程序都能在无需管理员权限的情况下访问该路径。
我们决定通过 msfvenom 创建一个反向 shell 并通过 Metasploit 创建一个监听器作为 PoC。创建好反向 shell 后,它将其传输到 c:\python27 目录中且其名称被修改为 Powershell.exe,这样,我们就能劫持该调用:
我们在攻击者机器上运行监听器,准备获取源自受害者及其的反向 shell 连接:
之后我们执行了 “Messenger” 应用并获得反向 shell 连接:
虽然 Facebook 已修复该漏洞,但我们必须继续警惕其它在线技术(消息和视频会议应用、远程工作工具等)中潜在的漏洞。
看我如何发现针对 Facebook Messenger 的 GIF 攻击并赢得1万美元
https://blog.reasonsecurity.com/2020/06/11/persistence-method-using-facebook-messenger-desktop-app/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。