导语:本文分析和总结俄罗斯APT组织Turla近期的攻击活动。
Turla,也叫Waterbug、KRYPTON或Venomous Bear,是隶属俄罗斯的APT组织。
2018年Turla在攻击活动中主要使用KopiLuwak JS后门,KopiLuwak是Carbon框架和meterpreter传播技术的的变种。下面分析Turla发展过程中使用的恶意软件:
· KopiLuwak和IcedCoffeer
· Carbon
· Mosquito
· WhiteBear
技术分析
Turla使用脚本
从2015年起,Turla就开始以各种方式使用JS、Powershell、wsh,包括应用到恶意软件dropper或安装过程中,也包括应用到完整的后门中。White Atlas框架在用VBA宏代码解密恶意软件dropper payload后,会用JS脚本来执行payload,最后删除dropper。释放Firefox扩展后门的White Atlas样本使用的是更加复杂和高度混淆的JS脚本,该脚本同样负责写入extension.json扩展配置文件,最后删除自己。
IcedCoffee
Turla最早使用的JS后门就是IcedCoffee后门,然后慢慢发展成功能更加复杂的KopiLuwak后门。IcedCoffee最初由一个RTF文档释放,然后由启用宏的office文档释放。用于释放IcedCoffee的宏代码是基于White Atlas发现的代码修改的。宏代码中一个显著的变化是加入了中继基本信息到Turla控制的服务器的简单的web beacon,而beacon只用于追踪攻击的有效性。
IcedCoffee用WMI来收集系统和用户的信息,然后base64编码和RC4加密,最后通过HTTP POST发回给C2服务器。IcedCoffee并没有内置的命令,但是可以从C2服务器接收JS文件,接收的JS文件会在内存中解混淆和执行,并不会在硬盘上留下什么痕迹。IcedCoffee的应用并不广泛,主要攻击对象是欧洲政府的外交官。
KopiLuwak
2016年11月,Kaspersky实验室发现了新一轮的武器化的宏文档,会释放高度混淆的JS payload——KopiLuwak。这款新恶意软件的攻击目标与Turla早期的工具活动目标都是欧洲政府,但其比IcedCoffee的应用更少。
KopiLuwak脚本的解码形式与IcedCoffee中的非常相似,但解码的脚本并不是最后一步。解码的脚本会以用作RC4 key的参数执行,key会解密另一层JS脚本,脚本含有收集的信息信息和代表运行功能的C2指令。KopiLuwak会执行更加综合和复杂的系统和网络侦查,与IcedCoffee一样,也不会在硬盘上留下什么痕迹。
与IcedCoffee不同的是,KopiLuwak含有一个基本命令功能集,包含运行任意系统命令和卸载自己的能力。2017年,研究人员发现一个新版本的KopiLuwak,其中的命令功能集得到了扩充,加入了文件下载和数据窃取功能。2018年中,KopiLuwak作为新的传播向量出现在叙利亚和阿富汗的攻击活动中。这里,KopiLuwak后门被编码为.lnk文件传播。用于解码和释放payload的powershell代码与一个月前Zebrocy威胁单元使用的几乎完全相同。
Carbon
Carbon继续被用于攻击中亚地区的政府和与外交相关的机构。Carbon的攻击活动可以追溯到2014年。2014年的Epic Turla攻击活动是一起影响数百受害者的全球性攻击活动。受害者系统中只有一小部分升级到了Carbon框架,另一部分接收到Snake rootkit用于驻留。因此,Carbon是需要很长历史和选择性分发的负责的代码库,恰好与snake rootkit的开发和应用同时进行。今年,该代码库被修改后与其他的变种一起应用到最新的攻击活动中。
研究人员预测Carbon框架代码的修改和选择性分发的性质会使其在2019年攻击中亚和相关的地区。因为这种复杂的模块需要长期的开发和投入,而相关的加载器、注入器等都是开源的,因此该后门和基础设施短期应该不会被取代。
Mosquito
Mosquito改变分发技术
2018年3月,研究人员发现关于Mosquito开始使用无文件和定制的Posh-SecMod metasploit组件的报告。当该组织的metasploit使用被公开后,他们的技术也在改变。
DllForUserFileLessInstaller注入器模块的编译日期为2017年11月22日,从2018年1月开始,被Mosquito用于向内存中注入ComRAT模块。与wow64相比,这只是一小部分metasploit注入器代码。相关的开源powershell注册表加载器代码也被修改来使用3DES而避免使用AES。下面是修改后的Mosquito代码:
下面是获取的默认Posh-SecMod代码:
研究人员认为2018年Mosquito会出现更多的开源或无文件的组件或内存加载器。恶意软件功能的增强也说明攻击者更希望维持对受害者组织的当前访问,而不是开发出更具攻击性的技术。
Mosquito
研究人员分析发现Mosquito是从adobe的一个下载链接,该链接是下载木马下载器的一个合法URL:
hxxp://admdownload.adobe[.]com/bin/live/flashplayer23ax_ra_install.exe
研究人员当时并没有识别出具体使用的MiTM技术,怀疑使用的是WiFi MiTM或路由器入侵;考虑到全球不同区域都受到影响,因此研究人员猜测是ISP级的FinFisher MiTM。
在攻击案例中,磁盘中被写入两个js文件,并配置为开机启动。Js文件名说明了其功能,即通过Google应用升级,并通过每次开机加载和运行本地的1.txt文件来保证本地配置文件升级。这样看来,这一阶段的的脚本加载技术与IcedCoffee JS加载技术类似。更新是由服务端提供的:
· google_update_checker.js
· local_update_checker.js
这里需要考虑Mosquito Turla执行更新过程中的wifi数据收集。第一步是用下面的命令调用将local_update js文件输出本地主机的WiFi配置文件到%APPDATA%\<profile>.xml中:
cmd.exe /c netsh wlan export profile key=clear folder="%APPDATA%"
然后,用ipconfig和arp -a来收集更多的网络信息。基于主机来收集目标网络的WiFi凭证更容易,因此暴力破解和其他破解弱加密的WiFi网络就没有必要了。
下一波攻击活动
Turla缺席了DNC(美国民主党全国委员会)被黑事件,而Sofacy和CozyDuke都参与了,但Turla在其他攻击活动上比较活跃。Turla的Mosquito和Carbon项目的目标主要是外交和外交事务机构。而WhiteAtlas和WhiteBear的活动扩展到全球包括外交事务相关的机构,科技中心以及与政治不相关的组织也在改攻击范围内。KopiLuwak的攻击范围主要是政府外交相关机构,其2018年的攻击活动也涉及政府相关的科技和能源研究机构,以及在阿富汗的政府相关的通信机构。
从攻击目标的角度看,KopiLuwak和WhiteBear活动的联系比较紧密,Mosquito和Carbon活动的关系比较紧密。而且WhiteBear和KopiLuwak在使用不常见的JS脚本时还共享一些基础设施。就像meterpreter和injector代码一样,未来可能有更多的开源攻击恶意软件出现在Mosquito和Carbon攻击中,KopiLuwak会传播和分发更复杂的恶意软件,WhiteBear也可能再次回归。