原文作者 Cedric Pernet, Elliot Cao, Jaromir Horejsi, Joseph C. Chen, William Gamazo Sanchez
我们四个月前曝光了一个新的恶意软件,趋势科技将其命名为SLUB。SLUB此前利用具有CVE-2018-8174 VBScript引擎漏洞的网站进行水坑攻击,并使用GitHub和Stack进行恶意软件与控制服务器之间的通信。
7月9日,我们通过另一个水坑攻击的网站发现了新版本的SLUB。这个恶意网站利用的是CVE-2019-0752,这是趋势科技发现的一个Internet Explorer 0day(ZDI)漏洞,该漏洞今年4月刚刚修补。这是我们第一次发现此漏洞的实际利用。
这个新版本的SLUB恶意软件已经停止使用GitHub作为一种交流方式,而是通过两个免费工作区大量使用Slack。 Slack是一个协作消息系统,允许用户通过使用频道创建和使用自己的工作空间,类似于互联网中继聊天(IRC)系统。 Slack已关闭了SLUB相关的工作区。
巧合的是,涉及SLUB水坑攻击的两个网站都有支持朝鲜政府的内容。
SLUB恶意软件的感染源于对具有CVE-2018-8174或CVE-2019-0752漏洞的网站进行水坑攻击。 使用未修补的Internet Explorer浏览器浏览这些网站的电脑将被SLUB加载程序感染。
下面列出了漏洞利用脚本执行加载程序的步骤。 感染链类似于之前的SLUB版本; 然而,这个版本采用不同的技术来绕过杀毒软件de启发式和机器学习算法:
在PowerShell下使用隐藏的WindowStyle和混淆手段(obfuscation)来加载SLUB。
使用Rundll32调用从水坑攻击感染网站下载的“假冒C ++运行”恶意DLL(假冒dll名称:mfcm14u.dll)。
恶意DLL按照Windows命名惯例实现导出符号,并使用实际的Windows API名称:AfxmReleaseManagedReferences。 请注意,这种命名约定的组合可以帮助攻击者绕过机器学习算法。
图1. 下载和启动SLUB加载程序的PowerShell脚本
PowerShell脚本将检查系统的体系结构,以确认应该下载哪些恶意DLL文件。 恶意DLL文件实际上是SLUB加载器。 对于x86系统,将下载32位SLUB加载程序,并将使用CVE-2019-0808,这是3月份修补的一个相对较新的漏洞。 在x64系统中,将下载64位SLUB加载程序,并将利用CVE-2019-0803(4月修补的另一个新漏洞)。 两者都用于Windows的权限提升。 然后,加载程序将检查系统的体系结构,以确认是否要下载并使用x86版本或x64版本的SLUB恶意软件来感染受害者。所有漏洞利用程序,加载程序和SLUB恶意软件都直接托管在用于水坑攻击的感染网站上。
图2. SLUB恶意软件感染链
图3. SLUB恶意软件感染链的网络流量特征
自从我们发布了关于SLUB的上一份报告以来,后门已经更新,并且实施了一些改进。 最值得注意的变化是完全采用Slack作为组织和命令受感染机器的途径。
下面列出详细的变化:
不再使用GitHub
操作员创建一个Slack工作区
每个受感染的计算机都加入工作区,在工作区中创建一个名为<use_name> - <pc_name>的单独通道
命令和控制(C&C)通信仅使用这些Slack通道; 如果操作员想要在受感染的机器上执行命令,他会向受害者特定的通道插入一条消息并固定此消息
受害者机器从其专用通道读取固定消息,解析消息并执行所请求的命令
除了这些改动,我们还从两个Slack令牌发现了新信息,这两个Slack令牌被硬编码为二进制(类似于以前的版本)。
这些令牌可用于查询Slack API以获取某些元数据信息,例如群组信息,用户列表,频道列表。 调查信息表明,在本次研究时,工作空间至少从5月底开始一直处于活动状态,其中一个用户的时区设置为“韩国标准时间”。
检查两个令牌响应标头时,我们可以在OAuth范围中看到以下差异:
C2 令牌:
通知令牌:
C2令牌在其OAuth范围中包含“admin”,允许它“管理你的工作区”。
如果操作员需要更改这些令牌,那么他可以通过更新toni132[.]pen[.]io网页的内容来更新它们。 这个网页的源代码可以依据某些关键词进行解析:* HELLO ^,WHAT ^,!!! *。
如果找到所需的关键字,就会解析并更新令牌:
具体来说,通信是这样工作的:如果操作员(来自用户列表的用户之一)想要向受害者发送指令,则他将消息发布并固定到相应的信道上。 消息的文本值指定应执行哪个命令。
下面的示例显示了用于截屏的“capture”命令,由操作员固定到某个通道。
列出给定目录中的文件的命令如下所示:
列出被感染机器桌面上的所有文件的命令如下所示:
被感染机器然后读取命令,执行它,(以对目标计算机屏幕截图为例)被感染机器将上传屏幕截图并将链接共享到指定文件。请注意,“upload”值已被设置为“true”。
其他支持命令如exec, dnexec, capture, file, drive, reg, 和 tmout,它们与我们之前发布的SLUB文章类似。 在运行命令的情况下,命令输出结果上传到file.io,与上一篇文章相同。
在此次攻击中,我们发现SLUB恶意软件使用了两个Slack群组“sales-yww9809”和“marketing-pwx7789。”工作空间创建时间未知。 在sales-yww9809群组中包含两个用户,Lomin (lomio8158@cumallover[.]me)和Yolo (yolo1617@cumallover[.]me),两个账号是在同一天(2019年5月23日)创建的。 Lomin的时区是格林尼治标准时间下的非洲/蒙罗维亚时区,而Yolo是韩国标准时间下的亚洲/首尔时区。 另一个群组,marketing-pwx7789包含的两个用户名为Boshe(boshe3143@firemail[.]cc)和Forth (misforth87u@cock[.]lu)。 它们的账号也是在同一天(2019年4月17日)创建的。 与之前的类似,Boshe的时区是格林尼治标准时间下的非洲/蒙罗维亚时区,而Forth则是在韩国标准时间下的亚洲/首尔时区。
这些电子邮件地址使用免费的加密电子邮件服务,我们无法找到有关这些用户名的其他信息。
这一攻击再次显示了其部署OpSec时的专业水平。 持续使用像Slack,cock.li和pen.io这样的在线服务使跟踪这个威胁更加困难。
与之前的版本类似,这个新版本的恶意软件传播非常谨慎,并且没有广泛传播。 我们在其他任何地方找不到任何其他变体,我们也没有发现这些攻击者正在进行任何其他活动。我们再次相信,这次袭击针对的是访问特定网站的特定人员,对这些人员进行监视极有可能是最终目标。
应对这一事件,Slack回复了以下内容:
正如他们在上一篇文章中所述,并在此新帖中进一步详述,趋势科技已发现并正在积极跟踪试图使用称为SLUB的针对性恶意软件的第三方,此恶意软件尝试使用Slack进行通信。 作为趋势科技调查的一部分,我们了解到用于SLUB通信的免费工作空间。 我们调查并立即关闭了报告的Slack Workspaces,因为这违反了我们的服务条款。 我们确认Slack在此事件中没有以任何方式受到损害。 我们致力于防止滥用我们的平台,我们将对违反我们服务条款的任何人采取行动
Trend Micro Deep Security customers are protected by the following rules:
趋势科技Deep Security客户会受到以下规则的保护:
1009067-Microsoft Windows VBScript Engine Remote Code Execution Vulnerability (CVE-2018-8174)
1009655-Microsoft Internet Explorer Scripting Engine Memory Corruption Vulnerability (CVE-2019-0752)
1009647-Microsoft Windows GDI Elevation Of Privilege Vulnerability (CVE-2019-0803)
1009582-Microsoft Windows Win32k Elevation Of Privilege Vulnerability (CVE-2019-0808)
翻译:看雪翻译小组 一壶葱茜
校对:看雪翻译小组 jasonk龙莲
原文地址:https://blog.trendmicro.com/trendlabs-security-intelligence/slub-gets-rid-of-github-intensifies-slack-use/