cobaltstrike扩展_Malwarebytes:使用可变C2下发Cobalt Strike的APT攻击

Malwarebytes研究人员发现了一种APT攻击,通过伪装成简历的恶意Word文档,利用模板注入下载.Net Loader,再通过Cobalt Strike的Malleable C2功能执行延迟攻击。攻击者巧妙地使用了延迟执行、JavaScript隐藏shellcode等技巧以逃避检测。
摘要由CSDN通过智能技术生成

6月中旬,Malwarebytes Labs的研究人员发现了一个伪装成简历的恶意Word文档,该文档使用模板注入来删除.Net Loader。研究人员认为这是与APT攻击有关的多阶段攻击的第一部分。在最后阶段,威胁行动者使用了Cobalt Strike’s Malleable C2功能来下载最终的有效载荷并执行C2通信。

此攻击特别“聪明”是因其规避技术。例如,研究人员观察到在恶意Word宏执行有效payload时有故意延迟。这种攻击的目标不是立即损害受害者,而是要等他们重新启动计算机后再进行攻击。另外,通过将shellcode隐藏在无害的JavaScript中并且不接触磁盘的加载它,该APT可以进一步逃过安全产品的检测。 

一、诱使延迟代码执行

诱饵文件可能是通过鱼叉式网络钓鱼电子邮件分发的,该电子邮件是据称是“ Anadia Waleed”的人的简历。起初,原作者认为它的目标是印度,但目标受害者可能会更广泛。

0edc9e8f96f7b893a0e9af62115ff26f.png

图1:简历

恶意文档使用模板注入,从以下URL下载远程模板:

https://yenile[.]asia/YOOMANHOWYOUDARE/indexb.dotm

8170aeb3106f10efd3959de8b67a91b5.png

图2:模版注入

用于托管远程模板的域名于2020年2月29日由来自香港的某人注册,该文档的创建时间是在此域名注册后15天。

下载的模板“ indexa.dotm”具有一个包含五个函数的嵌入式宏:

  • Document_Open

  • VBA_and_Replace

  • Base64Decode

  • ChangeFontSize

  • FileFolderExist.

下面是嵌入宏的函数调用图:

de99a4972b9bb32881c3e5dd3b988009.png

图3:宏函数图

主要函数是DOCUMENT_OPEN,它在打开文件时执行。此函数将三个文件放入受害者的计算机:

  • Ecmd.exe UserForm1和UserForm2包含两个Base64编码的有效payload。根据受害者计算机上安装的.Net框架的版本,UserForm1(对于.Net v3.5)或UserForm2(其他版本)的内容将被解码并存储在“ C:\ ProgramData”中。

  • cf.ini “cf.ini”文件的内容是从UserForm3提取的,并且使用AES加密,稍后由ecmd.exe解密。

  • ecmd.exe.lnk 这是“ ecmd.exe”的快捷文件,在Base64解码UserForm4的内容后创建。该文件作为触发器和持久性机制放置在“启动”目录中。只有在计算机重新启动后,才会执行Ecmd.exe。 

be1c5234fe8be539bb2dbc8bc79991eb.png

图4:DOCUMENT_OPEN

5ea9905b7b56c047a27d354c04b2230c.png

图5:自定义base64解码函数

ChangeFontSize和VBA_AND_REPLACE函数不是恶意的,可能是从公共资源[1,2]复制来误导静态扫描程序。

公共资源1,2:

  • http://www.your-save-time-and-improve-quality-technologies-online-resource.com/vba-and-replace.html

  • https://www.vitoshacademy.com/vba-ms-word-tricks-with-vba/

二、中间装载机

Ecmd.exe是伪装成ESET命令行实用程序的.Net可执行文件。下图显示了二进制证书、调试器和版本信息。该可执行文件已使用无效的证书签名以模拟ESET,其版本信息显示这是一个“ESET命令行界面”工具(图6-图8)。

ceb3620b13575ed9a895602b510b6f00.png

图6:证书信息

3e7b4a8ff949118960982cc9ad97f5a7.png

图7:版本信息

c0006d7d94151888c1e8b501707906ba.png

图8:调试信息

ecmd.exe是一个小型加载程序,用于解密和执行前面提到的AES加密的cf.ini文件。它通过向“http://ip-api.com/xml”发出HTTP post请求来检查受害者机器所在国家。然后,它解析XML响应数据并提取国家代码。

a06bb1922d89549992fe99d798869afb.png

图9:Getcon函数:向“ip-api.com”发出http post请求

8f556b94d94885fa8e114593de2f8464.png

图10:ip-api.com 输出

如果国家代码是“RU”或“US”,则退出;否则,它开始使用硬编码密钥和IV对解密“cf.ini”的内容。

26a58032e5fe7b4adee7dc8d40325fda.png

图10:ecmd.exe主函数

解密的内容被复制到分配的内存区域,并使用VirtualAlloc和CreateThread API作为新线程执行。

be6413fa1167f77d6d63ec4ade2e2348.png

图11:runn函数

三、ShellCode (cf.ini)

可扩展C2是攻击者为了避免被发现而混淆指挥和控制通信(受害者和服务器之间的信标)的一种方式,可以为每个目标创建自定义配置文件。

shell代码使用带有jQuery可延展性C2配置文件的Cobalt Strike可延展性C2特性从“time.updateeset[.]com”下载第二个有效payload。

6b9ef5ede30d1bf704b9ce0484746c1f.png

图12:可延展的C2请求

Shellcode首先使用PEB查找ntdll.exe的地址,然后调用LoadLibrayExA加载Winint.dll。然后它使用InternetOpenA,InternetConnectA,HttpOpenRequestA,InternetSetOptionA和HttpSendRequestA API来下载第二个有效payload。

API调用在两个循环内解析,然后使用跳转到解析的API调用的地址来执行。

d7a3e04d4d24eac6c2cc702b45af51d2.png

图13:构建API调用

恶意payload由InternetReadFile下载并复制到分配的内存区域。

79e2643d13c70595998fbababe21b17b.png

图14:InternetReadFile

考虑到通信是通过HTTPS进行的,Wireshark并不能发现恶意payload,Fiddler也不能提供有效payload。

cf738f55dc2d9dc0709c962f033d147f.png

图15:Fiddler输出

使用BurpSuite代理,能够成功验证并捕获从time.updateeset[.]com/jquery-3.3.1.slim.min.js下载的正确有效payload。如图16所示,有效payload包含在HTTP响应中返回的jQuery脚本中:

f6d63d34ab64dd32274c9b16ffc4e34d.png

图16:发生在jQuery末尾的有效负载

将有效payload复制到内存中的缓冲区后,shellcode跳到缓冲区的开始处并继续执行。这包括向“time.updateeset[.]com/jQuery-3.3.1.min.js”发送连续的信标请求,并等待来自C2的潜在命令。

c755993937b69e978206a719d053fa98.png

图17:C2通信

使用Hollow Hunter,我们能够从ecmd的存储空间中提取最终的有效payload,即Cobalt Strike。

四、溯源

这起攻击的确切溯源分析正在进行中,在这里提供一些关于谁可能是这起攻击的幕后黑手的见解。分析显示,袭击者排除了俄罗斯和美国。前者可能是一个虚假的信号,而后者可能是为了避免美国恶意软件分析师的注意。

如前所述,托管远程模板的域名是在香港注册的,而C2域名“time.updateeset[.]com”是在2020年2月29日以一家名为Ehtesham Rayan的伊朗公司的名称注册的。该公司过去提供反病毒软件,现在似乎已经关闭。然而,这些都不是强有力或可靠的溯源指标。

2a0de9e9d27e082352d3ea8306757e8e.png

图18:updateeset.com whois注册信息

IOCs

Anadia Waleed resume.doc
259632b416b4b869fc6dc2d93d2b822dedf6526c0fa57723ad5c326a92d30621

Remote Template: indexa.dotm
7f1325c5a9266e649743ba714d02c819a8bfc7fd58d58e28a2b123ea260c0ce2

Remote Template Url:
https://yenile[.]asia/YOOMANHOWYOUDARE/

C2:
time.updateeset[.]com

Ecmd.exe:
aeb4c3ff5b5a62f5b7fcb1f958885f76795ee792c12244cee7e36d9050cfb298
dcaaffea947152eab6572ae61d7a3783e6137901662e6b5b5cad82bffb5d8995
5f49a47abc8e8d19bd5ed3625f28561ef584b1a226df09d45455fbf38c73a79c

cf.ini:0eba651e5d54bd5bb502327daef6979de7e3eb63ba518756f659f373aa5f4f8b

Cf.ini shell-code after decryption:5143c5d8715cfc1e70e9db00184592c6cfbb4b9312ee02739d098cf6bc83eff9

Cobalt Strike downloaded shellcode:8cfd023f1aa40774a9b6ef3dbdfb75dea10eb7f601c308f8837920417f1ed702

Cobalt Strike payload7963ead16b6277e5b4fbd5d0b683593877d50a6ea7e64d2fc5def605eba1162a


原文:https://blog.malwarebytes.com/threat-analysis/2020/06/multi-stage-apt-attack-drops-cobalt-strike-using-malleable-c2-feature/

编译:CNTIC情报组

本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。

联系信息进入公众号后点击“论坛信息”可见。

8146ad68458e56b8dc04fb6f38234892.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值