管Emotet已经过时,但它仍在不断演变,并一直是当前最具威胁的木马之一。
Emotet的技术迭代史(2014-2017年)
2018
1月
Emotet开始传播银行木马Panda(Zeus Panda,于2016年首次发现,并基于泄漏的Zbot银行木马源代码进行攻击,并拦截网站上的击键和输入表单内容)。
4月
4月9日:
4月初,Emotet获得了一个通过无线网络传播的模块(MD5: 75d65cea0a33d11a2a74c703dbd2ad99),该模块试图通过字典攻击访问Wi-Fi。它的代码类似于带有Wi-Fi连接功能的Network Spreader模块(bypass.exe)。如果暴力攻击成功,模块就会将有关网络的数据传输到C&C。
与bypass.exe一样,该模块也作为独立文件(a.exe)传播到自解压文件(MD5:5afdcffca43f8e7f848ba154ecf12539)中。该存档文件还包含上述service.exe(MD5:5d6ff5cc8a429b17b5b5dfbf230b2ca4),与第一个版本一样,它除了将受感染计算机的名称发送给C&C之外,什么也不能做。
自解压的RAR文件,带有可通过Wi-Fi传播的组件
黑客迅速更新了模块,在几个小时内检测到第一个版本,研究人员收到了更新的自提取文件(MD5: d7c5bf24904fc73b0481f6c7cde76e2a),其中包含了一个新的service.exe,其中包含了Emotet (MD5: 26d21612b676d66b93c51c611fa46773)。
具有更新的service.exe的自解压RAR文件
Binary Defense公司直到2020年1月才首次公开描述了该模块,回到旧的传播机制和使用旧模块的代码看起来有点奇怪,因为在2017年bypass.exe和service.exe已经合并到一个DLL模块中。
4月14日:
Emotet再次开始在HTTP标头的Cookie字段中使用GET请求进行数据传输,以实现小于1 KB的数据传输大小,同时启动POST请求以获取大量数据(MD5:38991b639b2407cbfa2e7c64bb4063c4)。填充Cookie字段的模板也不同,如果以前使用的是Cookie:%X =的形式,那么现在是Cookie:%u =。数字和等号之间新添加的空格有助于识别Emotet流量。
GET请求示例
4月30日:
C&C服务器暂停了他们的活动,直到5月16日才恢复,之后GET请求中的空间就消失了。
更新后的GET请求示例
6月
另一个银行木马开始使用Emotet进行自我传播,这次是Trickster(或Trickbot),这是自2016年以来就开始出现的模块化银行木马,也是Dyreza的最佳替代者。2019年Trickster网银木马位列第三位,占所有发现的针对企业的金融威胁的12%。2015年内,受到银行木马攻击的用户中,超过40%的用户是受到Dyreza的攻击。Dyreza通过有效的网络植入,窃取数据和网银系统入口。
7月
首次获得基于libminiupnpc软件包的所谓的UPnP模块(MD5:0f1d4dd066c0277f82f74145a7d2c48e)。该模块根据本地网络中主机的请求在路由器上启用端口转发。这不仅使攻击者能够访问位于NAT之后的本地网络计算机,还可以将受感染的计算机转变为C&C代理。
8月
8月,有报道称新的Ryuk勒索软件感染了病毒,这是自2017年以来对Hermes勒索软件的修改。后来发现,感染链始于Emotet,后者下载了Trickster,反过来又安装了Ryuk。此时,Emotet和Trickster都配备了通过本地网络传播的功能,而且Trickster利用了SMB中的已知漏洞,这进一步促进了恶意软件在本地网络中的传播。再加上Ryuk,这是一个攻击力特别强的组合。Ryuk勒索家族最早可追溯至2018年8月,起源于Hermes勒索家族, 此勒索病毒主要通过垃圾邮件、僵尸网络下发、RDP爆破以及漏洞进行传播,使用RSA+AES的方式加密用户文件,在无私钥的情况下无法恢复文件。
月底,网络扩展器模块的密码列表被更新。它们仍然编号为1000,但是大约有100个被更改了(MD5: 3f82c2a733698f501850fdf4f7c00eb7)。
解密后的密码列表
10月
10月12日:
当研究人员没有注册传播新模块或更新时,C&C服务器就会暂停他们的活动,直到10月26日活动才恢复。
10月30日:
Outlook的数据过滤模块(MD5:64C78044D2F6299873881F8B08D40995)进行了更新。关键的创新是能够窃取信息本身的内容。尽管如此,可窃取数据的数量被限制为16 KB(较大的消息被截断)。
Outlook数据导出模块新旧版本的代码比较
11月
当研究人员没有注册传播新模块或更新时,C&C服务器暂停了他们的活动。活动直到12月6日才恢复。
12月
C&C活动仅在2019年1月10日恢复,因此停机时间更长。
2019
3月
3月14日:
Emotet再次修改了HTTP协议的一部分,切换到POST请求,并使用字典创建路径。现在已填充了Referer字段,,并且出现了 Content-Type: multipart/form-data appeared. (MD5: beaf5e523e8e3e3fb9dc2a361cda0573):
POST请求生成函数的代码
POST请求的示例
3月20日
协议的HTTP部分的另一个更改,Emotet删除了Content-Type:multipart / form-data。数据本身使用Base64和UrlEncode(MD5:98fe402ef2b8aa2ca29c4ed133bbfe90)进行编码。
更新后的POST请求生成函数的代码
POST请求的示例
4月
最初的报告似乎表明,Emotet垃圾邮件正在使用Outlook的新数据泄漏模块所窃取的信息:在电子邮件中观察到被盗主题、邮件列表和邮件内容的使用。
5月
C&C服务器停止工作了很长一段时间(三个月)。活动于2019年8月21日恢复。然而,在接下来的几个星期里,服务器只传播更新和模块,没有发现任何垃圾邮件活动。这些时间可能用于恢复与受感染系统的通信,收集和处理数据,以及在本地网络上传播。
11月
开发者对协议的HTTP部分进行了微小的更改,此时Emotet放弃使用字典来创建路径,选择随机生成的字符串(MD5: dd33b9e4f928974c72539cd784ce9d20)。
POST请求的示例
2月
2月6日:
这是协议的HTTP部分的另一个变化,现在,路径不由单个字符串组成,而是由几个随机生成的单词组成。 Content-Type再次成为多部分/表单数据。
POST请求的示例
随着HTTP部分的更新,二进制部分也被更新。加密保持不变,但Emotet删除谷歌协议缓冲区并切换到自己的格式。压缩算法也发生了变化,liblzf取代了zlib。关于新协议的更多细节可以在英特尔和CERT Polska 报告中找到。
2020
2月7日
C&C活动直到2020年7月才恢复。在此期间,垃圾邮件的数量降至零。与此同时,Binary Defense与各种CERT和infosec社区一起开始传播EmoCrash,这是一个PowerShell脚本,可为Emotet使用的系统注册表项创建不正确的值。这导致恶意软件在安装过程中“崩溃”。这个killswitch一直持续到8月6日,当时Emotet背后的开发者修补了该漏洞。
7月
就在垃圾邮件活动恢复几天后,就有报告显示,有人用图片和表情包替换了受攻击网站的恶意表情包。因此,点击垃圾邮件的链接,打开的是普通图片,而不是恶意文档。这并没有持续太久,到7月28日,恶意文件已经不能再被替换为图像。
总结
尽管Emotet已经过时,但它仍在不断演变,并一直是当前最具威胁的木马之一。
2020年11月最活跃的C&C:
本文翻译自:https://securelist.com/the-chronicles-of-emotet/99660/