LAZARUS APT利用恶意word文档攻击MAC用户

上个月,Kaspersky研究人员发布报告称Lazarus APT组织Lazarus进军macOS平台和加密货币行业。Lazarus APT组织又称为Hidden Cobra,是来自朝鲜的APT组织,该组织长期对韩国、美国进行渗透攻击,此外还对全球的金融机构进行攻击,堪称全球金融机构的最大威胁。该组织最早的攻击活动可以追溯到2007年。据国外安全公司的调查显示,Lazarus组织与2014 年索尼影业遭黑客攻击事件,2016 年孟加拉国银行数据泄露事件,2017年美国国防承包商、美国能源部门及英国、韩国等比特币交易所被攻击等事件有关。

研究人员感兴趣的是一个适用于macOS和Windows系统的恶意word文档。该恶意伪造的office文档使用的是VBA宏,但对攻击macOS平台的银行木马来说是非常少见的。本文主要分析Kaspersky write-up中没有提到的攻击部分。
恶意文档分析
下面就是Kaspersky发现的攻击韩国用户的恶意文档:

但奇怪的是Kaspersky称该活动是从2018年底开始活动的,但研究人员发现该文档的创建时间是4年前的2014年11月3日。该文档的内容是关于一家名为Han Seung的公司和法定代表人Jin Seok Kim。

研究人员搜索发现有很多名为Han Seung的公司,但并没有名为Jin Seok Kim的公司成员。研究人员猜测公司和法定代表人的名字都应该是伪造的。
研究人员用oletools分析了文档中的VBA代码。从代码中可以看出,文档首先检查了是否运行在Mac平台上,然后是否根据VBA版本来声明system和popen函数。

如果不在mac平台上,文档会定义含有ASCII码的144个不同的数据数组,这些代码一起组成了完整的Powershell脚本。

重构的脚本片段如下:

这些都设置好后,代码会定义AutoOpen()子路径,以测试恶意软件在mac还是Windows机器上。

可以看出,mac版本通过system函数进行构建和调用来从以下URL下载payload到/tmp文件夹:
https://nzssdm.com/assets/mt.dat
该文件用chmod给赋予了可执行权限,然后打开。因为是用curl下载的,Gatekeeper和XProtect都不会发现。
Windows版本会用下面的powershell命令来构建字符串:
powershell -ExecutionPolicy Bypass -file spath
Mac版本中,spath是随机命名的,文件名为13个字符,但增加了.ps1扩展,并保存在用户的temp目录中。
后门分析
mt.dat payload文件是Mach-O 64-bit的可执行文件。符号表(symbol table)表明这是一款定制的后门而不是通用的利用套件。许多命名都是自描述的,比如CheckUSB和ReplyOtherShellCmd,但也有一些含有单词troy的方法,其功能并不是马上理解。而Operation Troy是一款攻击韩国用户的知名的恶意软件活动。
这看似是一个来自于C2服务器的命令。静态分析表明ReplyTroyInfo方法在泄露信息的加密版本之前首先检查了受害者计算机的hostname,然后收集网络相关的信息。
该二进制文件中只有14个字符串literal,表明恶意软件作者可能在尝试绕过特定的检测规则。

该文件执行后,研究人员发现了恶意软件尝试连接的3个不同的C2服务器地址。每隔30秒,该程序会执行curl_easy_perform方法来测试与其中一个硬编码的服务器建立连接。如果连接失败了,该程序会休眠60秒然后尝试连接列表中的下一个服务器。

研究人员在样本中发现的C2服务器地址有:
https://baseballcharlemagnelegardeur.com
https://www.tangowithcolette.com
https://towingoperations.com
研究人员用netcat测试了这些IP地址,表明所有服务器都是正常使用的。

但是研究人员运行恶意软件来尝试建立连接都失败了。每个服务器都拒绝了连接请求,返回406错误和http error before end of send错误消息。

截止目前,研究人员尚无确定错误产生的原因。研究人员猜测可能的原因有机器语言、位置、引用变量不对等。
但研究人员从C2服务器获取了一个加密的文件,该恶意软件联系的地址是

https://www.tangowithcolette.com/pages/common.php
研究人员下载该文件发现它含有到另一个链接的引用:

_Incapsula_Resource… 脚本中只含有十六进制代码:

研究人员将十六进制翻译成ASCII码,看着好像是严重混淆的JS代码。恶意软件作者还在尝试隐藏其真实意图。

该脚本含有1400多行代码,功能包括解码URL组件、取回、移除和替换cookie、操作用户的浏览器会话。
研究人员之后会进一步分析该组件。
总结
本文对Lazarus APT组织攻击Windows和mac用户的恶意文档和后门进行了分析。通过分析,研究人员建议企业应该加强macOS设备的安全性保护,因为恶意软件不仅攻击Windows、Linux,还攻击macOS设备。