微软Teams可用来执行任意payload

2019年9月14日13:32:37 发表评论
AD1 AD2 AD3 AD4

Microsoft Teams是一款基于聊天的智能团队协作工具,可以同步进行文档共享,并为成员提供包括语音、视频会议在内的即时通讯工具。攻击者可以用Microsoft Teams的mock installation文件夹中的真实二进制文件来执行恶意payload

微软Teams可用来执行任意payload

该问题影响大多数使用Squirrel安装和更新框架的Windows桌面APP,该开使用NuGet包。研究人员测试发现受影响的应用包括WhatsApp, Grammarly, GitHub, Slack 和 Discord。

易构建包

逆向工程师Reegun Richard发现他可以创建一个伪造的Microsoft Teams包,并使用签名的二进制文件来执行特定位置展示的内容。研究人员实验的过程中发现整个过程除了攻击者创建的一个最小包外不需要目标系统上的任何资源。

研究人员发现在正常的Microsoft Teams安装过程中,需要真实的Update.exe文件和current、packages两个文件夹就可以启动系统中继承了经过签名的可执行文件的信任的恶意软件,这类恶意软件可以绕过一些防御措施。Update可执行文件会部署current文件夹中的所有内容。而packages位置需要一个RELEASES文件,但并不需要其是有效的,只需要SHA1文件名大小的格式。

Richard在POC视频中证明如何用update.exe来启动payload后再受害者主机上获取shell访问权限。

微软意识到了该问题,但并没有决定解决该漏洞。研究人员称微软给出的理由是glitch并不满足安全问题的底线。也就是说,并不是所有的NuGet包都受到该漏洞的影响,但所有依赖Squirrel one-click installer的app都受到影响。

除了Microsoft Teams外,所有的APP都需要正确的version文件夹、RELEASES文件和对应的Update文件才能工作。所以,攻击中需要的最小包要包含:

· 签名的update.exe文件

· 含有payload的'current'或'app-(version number)' 文件夹

· 含有伪造的RELEASES文件的packages文件夹

研究人员对受影响的WhatsApp, Grammarly, GitHub, Slack 和 Discord应用程序都创建了POC,在之前的研究中,Richard和另一个研究人员发现使用Squirrel安装器的app可以被滥用来下载和运行可执行文件。

POC下载

部分内容被隐藏
评论刷新后查看

发表评论

后发表评论