一、背景
腾讯安全御见威胁情报中心捕获到一例伪装成某公司的用户投诉调研文档的钓鱼邮件攻击。黑客在投递的恶意文档中嵌入恶意宏代码,一旦用户在打开文档时选择执行宏,就会在用户电脑上执行一段Powershell,通过多次解码后,执行Poweshell版开源远控木马powerfun。该远控木马采用Powershell实现,可作为控制端段或被控端运行,安装后会搜集系统信息上传,下载安装其他模块,执行任意远程指令。
为了掩盖其行动,黑客精心伪装攻击文档内容,使得其与真实的用户调研文档十分相似。同时其中嵌入的恶意Powershell代码经过多层混淆,采用“无文件”的攻击方式来保证攻击过程不易被发现。
腾讯电脑管家、腾讯御点均可查杀拦截该诱饵文档。

二、详细分析
载荷投递
打开文档时microsoft office程序提示文档中被嵌入的宏被禁用,问询是否启用内容,一旦启用,恶意代码便会执行。

文档标题:HSS Hire Services Complaint form(HSS Hire服务投诉表)。引语:(译文)“我们致力于提供高质量的护理和服务以满足您的需求,我们重视您的反馈,包括投诉。请告诉我们还有哪些地方可以改进我们的服务。“

根据该文档的导航信息,文档内容包含6个部分,各部分主题分别如下:
第1部分:客户详情。
第2部分:请提供反馈涉及的服务的详细信息。
第3部分:请详细说明你的反馈问题。
第4部分:你对这个问题已经采取了哪些行动?
第5部分:你希望通过提供反馈得到什么样的结果?
第6部分:声明(签字和日期)。

从文档中提取出宏代码,可以看到在AutoOpen()函数中定义了一个字符串变量veqTMFKmz,并在变量中通过拼接的方式赋值Powershell -ec “xxxxx”,最终执行一段经过base64编码的命令。

在Powershell代码执行时,还会通过MsBox()提示一段话,告诉用户文档创建时使用的microsoft office版本过低导致,需要联系作者将文档另存为一个新的格式,以此来掩盖其恶意代码执行过程。用于迷惑用户的提示内容如下:
“This application appears to have been made with an older version of the Microsoft Office product suite. Please have the author save this document to a newer and supported format. [Error Code: -219]”

base64编码的Powershell命令解码后如下,该命令将核心代码重新进行base64编码,并且以命令 powershell -noexit -e “xxxxxxx”的格式执行。

核心代码首先通过DllImport引入了四个系统函数:
calloc
memset
VirtualProtect
CreateThread
然后利用引入的函数calloc申请内存,memset将二进制代码写入内存,VirtualProtect修改内存为可执行属性,最后CreateThread创建线程指向该片内存执行恶意代码。

而创建线程执行的恶意代码为另一段经过压缩编码的Powershell命令,该段命令解压后为公开的Powershell实现的远控木马powerfun
(github地址: https://github.com/rapid7/metasploit-framework/blob/master/data/exploits/powershell/powerfun.ps1)。

远控木马
木马通过参数设置通信类型及方式,“bind” 设置为绑定443端口,作为控制端进行监听连接请求,”reverse”反向连接服务器,作为被控端建立连接。”Sslcon“为是否采用SSL协议连接。此次代码设置的控制端服务器端地址为34.65.251.183:443。

接着获取用户名和机器名上传,根据列表下载模块安装,以及循环读取接受到的Powershell命令执行。

三、安全建议
1、建议不要打开不明来源的邮件附件,对于邮件附件中的文件要谨慎运行,如发现有脚本或其他可执行文件可先使用杀毒软件进行扫描;
2、建议升级office系列软件到最新版本,对陌生文件中的宏代码坚决不启用;
3、推荐企业用户部署腾讯御点终端安全管理系统防御病毒木马攻击,个人用户启用腾讯电脑管家的安全防护功能;
4、推荐企业使用腾讯御界高级威胁检测系统检测未知黑客的各种可疑攻击行为。御界高级威胁检测系统,是基于腾讯反病毒实验室的安全能力、依托腾讯在云和端的海量数据,研发出的独特威胁情报和恶意检测模型系统;
