EMOTET使用一次性C2服务器 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

EMOTET使用一次性C2服务器

ang010ela web安全 2019-09-23 10:40:24
123337
收藏

导语:SentinelOne研究人员分析发现Emotet使用一次性C2服务器来绕过IP ACL和域名过滤的检测。随着Emotet这种模块化下载器的增长,攻击从单一攻击来引发大型灾难。本文分析Emotet用来绕过IP ACL和域名过滤的方法。

SentinelOne研究人员分析发现Emotet使用一次性C2服务器来绕过IP ACL和域名过滤的检测。

随着Emotet这种模块化下载器的增长,攻击从单一攻击来引发大型灾难。本文分析Emotet用来绕过IP ACL和域名过滤的方法。

样本静态分析

如果样本文件被标记为恶意的,研究人员想更多地了解该样本与其他Emotet样本的不同。研究人员看到的是一个XML文件:

image of file type

文件的熵值大约为6,因此可能隐藏了什么,因为office文档的熵值一般都很高,而熵值高并不能表明文件的内容是恶意的:

image of file entropy

分析文件头部,研究人员确认XML文件尝试模拟DOC文件:

image of file headers

提取加密的PowerShell

研究人员使用OLETools来提取嵌入的宏并查看文件的作用。

image of OLE tools

宏文件内容很大,但是如果复制到文件中就可以搜索其结果了。宏文件是经过高度混淆的,但是可以看出其使用字符串的模式。有大量的字符串使用+来链接到其他的字符串熵,所有研究人员使用sed来移除这部分的混淆内容:

$: sed 's/"\ +\ "//g' <Filename>

这里的目的不是得到一个功能性的脚本。而是暴力搜索字符串,那么最佳的开始位置应该是powershell:

$: sed 's/"\ +\ "//g' | grep -i powershell

这会返回空内容。因为宏并不是100%完全反混淆了,因此研究人员再次使用了暴力破解的方法。下面开始移除字母:

$: sed 's/"\ +\ "//g' <Filename> | grep -i owershell

得到的内容为:

    zkAJGDhw = "oWersheLL -e JABEAFkAaQBhAGYAUw"

反编译base64字符串,方法如下:

· 启动Test Lab VM;

· 安装office;

· 保存恶意DOC文件到虚拟机硬盘,并打开doc文件;

· 打开procmon。

使用 Ctrl+t 来打开树形试图,并找到WINWORD.EXE,可以看到PowerShell命令:

image of procmon

然后就可以提取base64编码的命令语法了:

image of base64 encoded powershell command

解码和修改语法来查看其作用:

image of decoded powershell command

通过特殊的变量和URL,研究人员判断这是通用的Emotet dropper命令,其中含有5个硬编码的URL来提取final payload:

image of decoded URLs

有多个URL不仅可以容错,还可以快速修改主机IP地址来修改DNS记录。如果网络设备不仅过滤DNS,仅仅依赖IP的话,那么就可以确保无法有效检测攻击,仍然很容易绕过。

验证C2服务器,搜索payload

研究人员使用cURL来向这些URL发送请求,并查看那些域名仍然活跃:

image of 1 using curl

以上URL有302重定向,但是最终返回的是200响应。

image 2 of using curl

第二个URL不在服务于payload。403 forbidden响应表明URL仍然是活动的,但403错误可能是因为主体提供商删掉了内容。

image 3 of using curl

第三个URL也不在服务于payload,因为返回的404错误代码,因此该主机应该也是活动的。

image 4 of using curl

第4个URL应该仍然是服务于Emotet payload的。

image 5 of using curl

第5和第6个URL的行为和第2和第3个URL相同。

从这2个活动的URL上,研究人员获取了final payload:

image of shasum of payload

这两个文件都与Emotet有关:

Payload URL: zeAtqnKQbF SHA1 = a7f4a98536f65c027fc10c057e3873e6c4cee9be Saved File Name: 200.exe

执行payload

初始进程在重新初始化之后就中止了:

image of terminated process

Payload执行后,会复制自己到用户的AppData文件夹,并重命名:

image of executing payload

然后通过注册表建立驻留:

image of persistence in registry

注册表key值会在用户的AppData文件夹下执行新创建的payload:

image of registry editor

最后第二个进程也被中止,循环继续使用来自用户AppData文件夹的payload:

image of second process terminated

查看基本Procmon进程树:

image of procmon tree

之后,将自己放到一个连接不同远程站点的循环中。研究人员发现有多次通过FTPS连接到远程服务器的尝试:

image of ftps requests

这些连接非常重要,因为不仅允许加密文件下载,也可以对数据泄露进行加密。

研究人员利用RiskIQ检查IP历史:

image of IP history

一次性服务器

从以上数据中可以看出有一些奇怪的行为。IP背后的服务器的可用时间只有1到4天,而且上线时间之间的间隔也很长。有一些IP相关的哈希值经过检查不仅是恶意的,还与Emotet有关:

image of virus total detections

Payload URL: 48R8nccw SHA1 = 5de907cf366f66770a23f589f4578e0d6417641a Saved File Name: 200.exe

虽然该payload的哈希值不同,但是基本行为是相同的:

image of 200.exe

image of create file

image of tcp connections

C2服务器的短期可用性可用让其绕过安全产品的检测。如果攻击者可用绕过传统终端保护产品并且使其网络流量最小的话,就可以成功绕过检测。

结论

Emotet仍然在不断地进化。在本文分析的样本中,研究人员发现攻击者使用短时活动的C2服务器来绕过传统安全产品的检测。


  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务