1 概述
本周,安天威胁情报服务向客户推送的关于基于SLK文件格式进行攻击的消息引发了用户和读者的关注——6月28日,Avanan的安全分析人员发现,在针对Microsoft 365用户的攻击中,.slk文件的使用量显著增加。在这种攻击中,攻击者发送一个带有.slk附件的电子邮件,其中包含一个恶意宏(MSI EXEC脚本)来下载和安装远程访问木马。这是一种非常复杂的攻击,具有多种专门设计用来绕过Microsoft 365的混淆方法。
由于SLK并非一种常见的文件格式,部分用户联系安天希望了解更多的细节信息以及安天产品对相关风险的防护情况。
安天在2018年下半年,开始捕获到通过SLK格式文件承载的宏病毒攻击,但由于这种攻击会触发Office的宏自动执行告警,所以当时并不流行。近期此类型攻击次数有所增加。近期攻击有两个特点:一是通过电子邮件附件的形式发送给用户,该附件包含恶意宏(内嵌MSI exec或PowerShell脚本等)用以下载和安装远程访问木马。二是最新的.slk文件通过构造可以成功绕过Microsoft 365安全性检测,这将给2亿多Microsoft 365用户带来风险。近期恶意样本通过电子邮件附件形式发送到用户,相关攻击电子邮件采用了社工构造技巧,相关的主题基于人员组织和个人信息构建。例如,发给制造商的电子邮件将讨论零件规格,发给技术公司的电子邮件将要求其更改大型电子订单,而发给政府部门的电子邮件将讨论法律问题。使用目标的名称和组织来定制主题、内容和附件文件名。它们的共同点是具有关联度,基于社工技巧让用户点击打开附件中的SLK文件。
对于安全人员来说,SLK并不陌生,SLK (Symbolic Link) 是一种Microsoft基于文本的电子表格格式,通常用于在应用程序(尤其是电子表格)之间交换数据。SLK文件通常具有.slk后缀,它仅由可显示的ANSI字符组成,可以很容易地由其他应用程序(例如数据库)创建和处理。尽管SLK文件不能包含VBA宏,但它们仍可以包含可执行代码,例如DDE命令或MS Excel 4.0宏。在2007年XLSX引入之前且XLS文件是私有文件格式的时候,SLK是XLS的开放格式替代品,对于最终用户来说,SLK文件看起来像一个Excel文档。对于攻击者来说,这是绕过Microsoft 365安全性的一种简单方法,即使对于受Microsoft 365高级安全保护的账户也是如此。(以下第2部分为详细样本分析,您可选择跳过,直接到达第3部分了解结论并获得防范建议)
2 样本分析
2.1 SLK恶意样本分析
SLK格式本身是纯文本文件,由于纯文本文件没有固定格式头,这反而容易导致一些AV软件不能有效识别和处理。下图是近期流行的一个相关样本的部分内容,在其中可以发现PowerShell命令。该命令作为参数传递给EXEC()宏函数,Excel宏函数EXEC可以将其参数作为系统命令执行。
图 2-1样本内容
在此样本中“ PowerShell”上方,可见字符串“Auto_open”以及对单元格R101C1的引用。这将名称Auto_open分配给单元格R101C1,该名称在MS Excel 4.0宏中导致在打开文件时直接自动执行。
图 2-2 Excel打开SLK文件
PowerShell命令从termbin .com站点下载并执行第二个PowerShell命令
图 2-3 PowerShell命令
第二阶段下载Windows可执行文件(java.exe),它实际上是AZORult恶意软件家族的实例。
2.2 带有加密混淆的恶意SLK样本分析
2.2.1 恶意文件攻击流程简述
微软在宏病毒出现后,不断强化Office产品体系的安全性,包括设置自动宏告警、限制和提醒Office组件访问Outlook联系人列表,引入ASLR机制制衡格式溢出等。针对在线的Microsoft 365产品微软更是强化了默认安全防护(Exchange Online Protection , 简称EOP)和其高级威胁防护(Exchange Online Advanced Threat Protection,简称ATP)。使用.slk文件之所以能够绕过上述机制,安天研究人员分析研究了相关原因:
此类样本主要恶意内容如下图: