导语:Cobalt组织是2016年底开始活动的黑客攻击,主要攻击目标为金融机构,经常会使用ATM恶意软件。研究人员相信该组织发起过许多针对SWIFT银行系统的攻击,对受影响的组织带来上百万的损失。
Cobalt组织是2016年底开始活动的黑客攻击,主要攻击目标为金融机构,经常会使用ATM恶意软件。研究人员相信该组织发起过许多针对SWIFT银行系统的攻击,对受影响的组织带来上百万的损失。
今年8月,ASERT的研究人员发现该组织又开启了新一轮的攻击活动,主要攻击目标为东欧和俄罗斯。攻击活动使用鱼叉式钓鱼邮件来获得攻击入口,攻击者将鱼叉式钓鱼邮件的发件人伪装为金融机构或其合作者,以增加感染的可能性。该攻击组织还使用可以绕过Windows防御的工具以增加攻击的成功率。
攻击细节
Cobalt Group关联
ASERT近期发现两个与Cobalt Group相关的不同恶意软件样本。其中一个样本是JavaScript的后门,与之前版本的后门有一些系统的功能;另一个二进制文件是一个监听的后门CobInt/COOLPANTS。
JS后门
研究人员认为JS后门是其他payload的过渡阶段。Group-IB的研究人员之前以及分析过该JS后门了,该JS后门的功能有:
· 设置注册表驻留;
· 通过regsvr32.exe在SCT (a scriptlet COM object)启动;
· 使用APPlocker绕过技术;
· 使用RC4加密浏览;
· 收集相同类型的系统信息;
· C2命令名相同;
· 两个样本中的C2通信结构也非常一致。
CobInt/COOLPANTS
研究人员发现的第二个二进制文件是Recon (CobInt) backdoor,与之前发现的新样本ASERT相匹配。在发现CobInt后门后,陆续发现了一些二进制文件。
图1. CobInt/COOLPANTS
钓鱼和基础设施分析
在检查了域名rietumu[.]me和ASERT发现的邮件地址solisariana[@]protonmail[.]com后。围绕给邮件地址,一共发现了5个其他的域名(创建日期为2018年8月1日):
compass[.]plus eucentalbank[.]com europecentalbank[.]com inter-kassa[.]com unibank[.]credit
截止目前,VirusTotal对与inter-kassa[.]com相关的钓鱼邮件的评分为0,即非恶意,也就是说反病毒引擎还不能识别其中的钓鱼邮件。
图2. 钓鱼邮件头
除了嵌入到消息中的链接外,大部分的邮件内容是非恶意的。Interkassa应该是一个支付处理系统,这也是Cobalt组织使用的攻击技巧,将其作为攻击者伪装的目标。
嵌入邮件中的链接有:
hxxps://download.outlook-368[.]com/Document00591674.doc hxxp://sepa-europa[.]eu/transactions/id02082018.jpg
文件感染链
Payload Stager
Document00591674.doc是来自钓鱼邮件中嵌入的URL的文档,一旦开启宏后,就会使含有VBA的word文档持续感染。该文档需要用户权限或宏运行策略才能成功启动。
VBA脚本与cmd.exe命令一起用INF文件来加载cmstp.exe文件,这可以绕过AppLocker。然后,INF文件从download.outlook-368[.]com下载和执行远程payload——cmstp.exe。
图3. INF File
从download.outlook-368[.]com下载的文件infor.txt是一个含有嵌入的scriptlet标签的XML文件。XML文件的内容含有注册区域(registration section),可被用做SCT/COM对象(图4)。
图4. COM对象
cmstp.exe会执行SCT文件,随后释放和启动JavaScript后门释放器二进制文件31385.txt(恶意文件会伪装为文本文件)。Cobalt组织会regsvr32.exe来加载以绕过AppLocker这样的保护措施(图5)。
图5. regsvr32启动31385.txt
DLL文件伪装成文件文件(31385.txt),是感染链的最后一个阶段。DLL文件会释放最后混淆的嵌入文件,并用regsvr32.exe加载,最后删除自己(图6)。
图6. 最后混淆的脚本
图6所示的脚本是用regsvr32.exe加载的:
REgSvr32 /S /N /U /I:”C:/Users/zgSpbU9Lu/AppData/Roaming/7F235861DB0B0024C3.txt” sCRObJ
该脚本会将注册表UserInitMprLoginScript中的值修改为Regxvr32 /S /N /U /I:C:/Users/<redact>/AppData/Roaming/EE02EB37AA8.txt ScRObJ来确保驻留。
最后一阶段脚本的反混淆需要用到RC4密钥。之前已经有许多研究人员分析过JS后门“More_eggs”了。
图7. 反混淆JavaScript后门 – “More_eggs”
后门“more_eggs”的命令:
· d&exec – 下载和执行PE文件;
· more_eggs –下载更新文件并更新;
· gtfo – 删除自己和相关的注册表记录;
· more_onion – 执行新副本;
· vai_x –通过cmd执行命令。
图8: 执行流
JPEG感染链
文件执行
研究人员在钓鱼邮件中发现的第二个URL是hxxp://sepa-europa[.]eu/transactions/id02082018.jpg,而id02082018.jpg是UPX打包的可执行文件而不是一个图片。该样本含有大量的垃圾代码,在处理反混淆之前会耗费大量的CPU周期。解包的过程包括将另一个可执行文件覆写入内存中。
覆写的二进制文件会加载资源,并跳转到资源中的可执行代码中。当LoadResource被调用后,没有运行在原始的二进制文件环境下,解包的二进制文件就会失败。
图9: LoadResource()
加载的shellcode首先会反混淆自己,然后连接到C2服务器。
图10: C2 Server
研究人员分析时,C2服务器并不会响应,但该C2的另一个二进制文件与CobInt非常像。
针对罗马尼亚的攻击活
钓鱼
研究人员发现Cobalt组织伪装成单一欧元支付区(SEPA,The Single Euro PaymentsArea)来攻击carpatica[.]ro。carpatica[.]ro隶属于罗马尼亚的一家银行Banca Comercială Carpatica。
图11: 罗马尼亚银行钓鱼邮件头
图12 Cobalt钓鱼关联
总结
Cobalt组织在攻击过程中模仿金融实体或其供应商,以在目标网络中获得立足点。因为在一封邮件中使用了2个C2形成两个分开的感染点,这使邮件看起来很奇怪。研究人员推测,这会增加感染率。攻击者还使用regsvr32.exe和cmstp.exe来隐藏感染情况。ASERT认为Cobalt组织会继续攻击东欧和俄罗斯的金融组织,研究人员建议广大用户仔细检查邮件的域名,因为极有可能指向的是恶意链接和文档。