导语: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后门后,陆续发现了一些二进制文件。

图片.png

图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,即非恶意,也就是说反病毒引擎还不能识别其中的钓鱼邮件。

图片.png

图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。

图片.png

图3. INF File

从download.outlook-368[.]com下载的文件infor.txt是一个含有嵌入的scriptlet标签的XML文件。XML文件的内容含有注册区域(registration section),可被用做SCT/COM对象(图4)。

图片.png

图4. COM对象

cmstp.exe会执行SCT文件,随后释放和启动JavaScript后门释放器二进制文件31385.txt(恶意文件会伪装为文本文件)。Cobalt组织会regsvr32.exe来加载以绕过AppLocker这样的保护措施(图5)。

图片.png

图5. regsvr32启动31385.txt

DLL文件伪装成文件文件(31385.txt),是感染链的最后一个阶段。DLL文件会释放最后混淆的嵌入文件,并用regsvr32.exe加载,最后删除自己(图6)。

图片.png

图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”了。

图片.png

图7. 反混淆JavaScript后门 – “More_eggs”

后门“more_eggs”的命令:

· d&exec – 下载和执行PE文件;

· more_eggs –下载更新文件并更新;

· gtfo – 删除自己和相关的注册表记录;

· more_onion – 执行新副本;

· vai_x –通过cmd执行命令。

图片.png

图8: 执行流

JPEG感染链

文件执行

研究人员在钓鱼邮件中发现的第二个URL是hxxp://sepa-europa[.]eu/transactions/id02082018.jpg,而id02082018.jpg是UPX打包的可执行文件而不是一个图片。该样本含有大量的垃圾代码,在处理反混淆之前会耗费大量的CPU周期。解包的过程包括将另一个可执行文件覆写入内存中。

覆写的二进制文件会加载资源,并跳转到资源中的可执行代码中。当LoadResource被调用后,没有运行在原始的二进制文件环境下,解包的二进制文件就会失败。

图片.png

图9: LoadResource()

加载的shellcode首先会反混淆自己,然后连接到C2服务器。

图片.png

图10: C2 Server

研究人员分析时,C2服务器并不会响应,但该C2的另一个二进制文件与CobInt非常像。

针对罗马尼亚的攻击活

钓鱼

研究人员发现Cobalt组织伪装成单一欧元支付区(SEPA,The Single Euro PaymentsArea)来攻击carpatica[.]ro。carpatica[.]ro隶属于罗马尼亚的一家银行Banca Comercială Carpatica。

图片.png

图11: 罗马尼亚银行钓鱼邮件头

图片.png

图12 Cobalt钓鱼关联

总结

Cobalt组织在攻击过程中模仿金融实体或其供应商,以在目标网络中获得立足点。因为在一封邮件中使用了2个C2形成两个分开的感染点,这使邮件看起来很奇怪。研究人员推测,这会增加感染率。攻击者还使用regsvr32.exe和cmstp.exe来隐藏感染情况。ASERT认为Cobalt组织会继续攻击东欧和俄罗斯的金融组织,研究人员建议广大用户仔细检查邮件的域名,因为极有可能指向的是恶意链接和文档。

源链接

Hacking more

...