【摘要】 一、概述近日,腾讯安全御见威胁情报中心捕获到一起针对某大型数字加密币交易平台客服人员发起的鱼叉式定向攻击。攻击者自称为币圈资深用户,由于对该交易平台客服不满,进而对比了该
一、概述近日,腾讯安全御见威胁情报中心捕获到一起针对某大型数字加密币交易平台客服人员发起的鱼叉式定向攻击。攻击者自称为币圈资深用户,由于对该交易平台客服不满,进而对比了该平台与其竞争关系的xx平台,并列出多条建议在邮件附件中,希望该平台做出改进。
邮件附件中包含了一个名为“客服和xx投诉对比和记录2019.xls”的电子表格文件,该文件为攻击诱饵文件,携带Excel 4.0 XLM宏代码,当接收邮件的客服人员打开该文件,且允许执行其中的宏代码,宏代码将拉取一个伪装为HelloWorld的恶意程序执行,最终经过多层恶意代码解密,执行Cobalt Strike远控后门。
针对数字加密币公司的定向攻击流程
一旦客服人员机器被成功植入木马,攻击者则可以轻易的获取到交易平台内部信息资料,甚至通过该客服机器作为跳板机,入侵交易所内部核心机密数据,最终导致平台遭受不可预估的损失。最坏的情况下,可能导致交易平台数字虚拟币被盗。数字虚拟币大规模被盗的事件在币圈曾频繁发生,每次都会引起数字虚拟币市值的极大波动。
通过攻击目标企业安全意识薄弱职位的相关人员,在APT攻击中往往能取得不错的成效。例如攻击者通常通过对攻击目标客服人员发送咨询/建议邮件,对销售人员发送订单信息/采购邮件,对人力资源人员发送简历信息邮件,对法务人员发送律师函等。
腾讯安全团队此前捕获到的:《御点截获针对某大型商贸企业的定向商业APT攻击》,也同样使用了类似的手法。(链接:https://mp.weixin.qq.com/s/kusT8mArumwmuRaiAtdRWA)
攻击邮件示例
攻击文档示例
总结一下本次攻击的特点:
事件基础信息针对某区块链数字加密币交易平台的APT攻击影响客户和行业数字加密币交易平台公司攻击路径鱼叉邮件攻击,利用社会工程学诱骗目标打开内嵌恶意宏代码的攻击文件。主要技术特点1.诱饵文档利用Excel 4.0 XLM恶意宏代码;2.社会工程学利用,诱导目标启用宏代码;
3.XLM恶意宏代码拉取一个伪装为HelloWorld(伪装成常用的测试程序名,欺骗性更强)的恶意程序执行,经过多层恶意代码解密执行,最终释放RAT远控木马;
4.远控木马的持久化运行,攻击者实现对目标网络的入侵和信息窃取。
二、技术分析
Excel 4.0恶意宏利用使用Office2010打开恶意文档,可看到虽然有宏提示,但无法看到宏代码(使用了Excel 4.0宏技术)。表格内容通过提示需点击“启用内容”进一步查看表格详细内容,进而诱导被攻击者启用宏。
诱饵文档极具迷惑性
Microsoft很早就使用VBA宏来代替Excel 4.0宏技术,这导致Excel 4.0宏并不为大众所熟知。文档中右键点击标签页,取消隐藏选择auto后,可看到其Excel 4.0-XLM宏代码,宏内容隐藏在表格中,主要功能为通过将d列表格内容写入文件null.hta,然后通过rundll32执行null.hta。
右键标签页取消隐藏工作表,选中auto
之后可看到表格中隐藏的宏代码
也可使用oletools直接提取宏
下图为整理后的null.hta代码,主要功能为从链接(hxxp://close.webredirect.org/age.png)处下载图片文件到本地ProgramData目录下命名为A164C0BF-67AE-3C7E-BC05-BFE24A8CDB62.dat 执行。
伪装自身为HelloWorld的空白main函数恶意程序: 查看下载回的age.png文件,粗略看是一个Main函数为空的HelloWorld程序,攻击者使用该手法来迷惑分析人员误以为其只是一个测试程序。
仔细观察可发现看似是HelloWorld的空白程序,其中包含了一个卸载接口函数,宏代码使用以下.net命令执行该文件中的卸载函数:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -U C:\Windows\..\ProgramData\A164C0BF-67AE-3C7E-BC05-BFE24A8CDB62.dat
卸载接口中将执行一段PowerShell代码,PowerShell代码使用Base64编码并压缩
解码解压缩后的PowerShell代码如下,主要功能为访问地址 Hxxp://close.webredirect.org/index.png?random,随后将返回一个大小约200k的数据流,在内存中对返回的数据先进行Base64解码,解码后内容的前16字节作为RC4密钥,使用RC4再解密剩余部分数据执行。
进一步查看RC4解密后的PowerShell代码如下,主要功能为释放RAT远控木马,并将其设置持久化。
其中关键变量wlbsctrl,解码后为一个区分x86,x64不同平台的dll模块,Powershell代码通过对释放到本地的wlbsctrl.dll进行持久化操作,而wlbsctrl.dll模块主要功能为调用InstallUntil.exe模块进而执行27F31D55-D6C6-3676-9D42-C40F3A918636.dat中的卸载接口,从而实现间接开机启动执行27F31D55-D6C6-3676-9D42-C40F3A918636.dat中的恶意代码。
关键变量rat解码后查看,依然为一个HelloWorld-Main空程序,该模块同样使用卸载函数执行恶意代码,不同点为卸载接口内PowerShell内容不同,该模块解码后存放于用户目录27F31D55-D6C6-3676-9D42-C40F3A918636.dat文件中。
27F31D55-D6C6-3676-9D42-C40F3A918636.dat中的PowerShell代码内部解密硬编码变量DoIt执行,解密方式依然为RC4,密钥为Base64解码后内容的前16字节。
对DoIt变量解密后可拿到其代码,主要为创建线程,申请内存执行payload,payload的解密方式依然为Base64解码+RC4,与之前的不同之处为解密完成后再进行一次Base64解码获取最后要执行的ShellCode。
云端拉取内存装载执行的ShellCode:
ShellCode代码通过遍历LDR找到kernel32模块,然后获取LoadLibraryA的地址,加载Wininet模块,然后获得一系列网络操作函数 InternetConnect, httpOpenRequest, httpSendRequest地址调用,最终向地址 192.52.167.185发送Get请求,并使用InternetReadFIle循环每次读取0x2000字节网络数据流在内存中拼接出一个完整Dll文件,Dll使用反射式装载的方式在内存中执行。
Cobalt Strike后门远控DLL: 内存中可dump出的反射加载的DLL文件
观察该Dump模块可知为Cobalt Strike生成的DLL后门远控攻击模块,Cobalt Strike攻击模块数据交互支持HTTP、HTTPS、DNS和SMB隧道协议,该后门支持远程屏幕,键盘记录,远程Shell等常用的远程控制功能。攻击模块通过异或0x69解密出上线配置信息。
解密可得攻击者使用C2地址为192.52.167.185
Cobalt Strike控制端主界面如下(图片来自官方站点),是一个具备键盘记录,屏幕监控,远程shell的多功能的后门远控,攻击者可利用该木马窃取用户机器内重要资料,详细资料可参考其官方站点(https://www.cobaltstrike.com)。
三、安全建议1、建议不要打开不明来源的邮件附件,除非清楚该文档来源可靠; 2、企业要防止组织架构和员工信息的公开泄漏; 3、使用高版本完整版Ofiice,并注意安装Office安全更新,如下图中高版本Office会自动识别出文档有风险,提醒用户“编辑此文件可能损害计算机”;
4、使用杀毒软件防御可能的病毒木马攻击。
IOCs
MD5
66e36f8395ab863c0722e129da19b53a 47a3bfa4c2cda547a20cfd495355ed8f 1c19ccab8237cd63b9e1f2d3b4303bc7 14be66a46b1964ba2307fe8a54baadf2 1d93f68b6d7f0b03eb137974b16e249b 95c998ebef4804e2d15dcef659d73df6
URL
hxxp://close.webredirect.org/age.png hxxp://close.webredirect.org/index.png
C2
192.52.167.185