写在前面的话
在当前的互联网安全环境下,通过恶意垃圾邮件活动来传播Emotet恶意软件是目前最常见的基于电子邮件的安全威胁了,这种威胁远远超过了其他的恶意软件家族,而且只有极少数的恶意软甲杀伤力能与其媲美。
在最近几周,研究人员发现了更多的Emotet互动使用了一种名叫“线程劫持”的技术,这种技术可以利用从受感染设备的电子邮件客户端窃取出来的和发信息,并通过伪造被盗邮件回复信息来欺骗合法用户。
这种技术对于那些相对没那么复杂的技术来说,效率要高很多,因为这种技术更能成功地说服潜在用户去点击附件,或点击链接并下载包含了恶意宏的Word文档。
接下来,我们将对Emotet线程劫持技术进行分析,并给出演示案例以便我们更好地认识和理解这种技术。
来自受感染主机的合法邮件
在我们的样例中,一台存在漏洞的Windows 10主机使用了Microsoft Outlook来作为其电子邮件客户端。Outlookc会同步k*********.r*******@outlook.com账号的邮件信息。受感染主机的电子邮件客户端中的最新消息如下图所示:
我们可以看到,最近的一封邮件的接收时间为15:35 UTC,大约就是在目标主机感染Emotet的一个小时之前。这封邮件是之前一封来自k*********.r*******@outlook.com的邮件的回复邮件,地址为t****.h******@yahoo.com。
通过C2流量实现数据提取
Emotet使用了HTTP POST请求以及C2流量来发送从目标主机中收集来的数据,这些数据会在通过HTTP发送之前进行编码或者加密。这些大多数的POST请求只会包含少量的编码信息(从受感染主机中收集来的),一般都小于1000字节。这些请求中包含了一个用于数据填充的4KB数据以及表单Header数据。下图显示的是Emotet C2流量的典型样本:
由于编码数据量非常少,因此其中并没有包含任何来自于受感染用户邮件客户端的邮件数据链。但是,在16:34 UTC,我们发现了通过Emotet HTTP C2流量来发送的编码数据(13.9KB):
这个数据的大小就足以包含来自受感染Windows主机中的邮件链数据了,这些数据是我们在18:22 UTC时发现线程劫持邮件之前,就已经通过HTTP POST请求发送出去的了。
劫持邮件中的伪造信息
在18:22 UTC,t****.h******@yahoo.com接收到了一封伪造邮件 ,这个雅虎账号就是给受感染主机邮箱账号发送最新邮件的那个账号。其中包含了来自Emotet恶意宏的Word文档。下图显示的就是邮件中的消息:
这封邮件是回复给t****.h******@yahoo.com,它会欺骗k*********.r*******@outlook.com并声称自己来自于受感染主机。
这些线程劫持消息要么会包含附件文件,要么会包含指向恶意Word文档的链接,其目的都是为了让目标主机感染Emotet。
Emotet的线程劫持消息会伪装成跟受感染主机邮件客户端中相同的电子邮件地址来发送邮件,但是伪造消息中的Header能够找出邮件真正的发送者,我们可以发现邮件的发送者是一台位于巴西地区的僵尸主机:
参考资料
- https://github.com/pan-unit42/iocs/blob/master/Emotet-thread-hijacking/2020-09-03-Emotet-thread-hijacking-legitimate-email.txt
- https://github.com/pan-unit42/iocs/blob/master/Emotet-thread-hijacking/2020-09-03-Emotet-thread-hijacking-spoofed-malspam-from-botnet.txt
- https://www.malware-traffic-analysis.net/2020/09/03/index.html