揭秘传奇木马Emotet前世今生
2021年11月,由欧洲刑警组织捣毁的Emotet僵尸网络卷土重来,以极快的速度恢复且初具规模,重新对外提供恶意软件分发服务。根据监测,近几个月来Emotet感染活动非常活跃,不断升级病毒组件,并针对日本地区进行了重点攻击,也由此波及了部分关联的中国企业。微步情报局对Emotet僵尸网络的背后团伙、攻击事件及手法、资产通信进行了深入的分析,目前主要的结论如下:
团伙画像:Emotet僵尸网络主要通过伪装成收款单、节日祝福、新冠疫情通告等内容的钓鱼邮件进行传播。其攻击的地区遍布全球,对各种制造、互联网、金融等行业均有涉及,近期我们也观测到其针对国内政企单位的大范围攻击活动,值得警惕。
技术特点:Emotet木马载荷使用WordPress失陷站存储,且木马回连的C2服务器同样为失陷站点,因此从网络资产维度难以追踪到攻击者的真实身份。对抗检测的技术较为成熟:样本层面加壳或使用混淆器混淆,且二进制文件通过随机字节改变哈希值,流量层面使用HTTPS协议加上自定义的加密信道进行通信。
危害:受Emotet感染的机器会加入僵尸网络,定期接收任务执行,用于窃取本地账密,邮件和发送钓鱼邮件,代理和下载执行其他第三方银行木马、勒索软件等功能,造成企业敏感信息泄露,甚至造成内部范围传播并勒索,危害很大。
微步情报局通过对该僵尸网络通信协议的详细分析并进一步依赖于自有的网络空间测绘系统对全网进行的分析,累计发现了上千台Emotet活跃的主控服务器,位于美国的最多,德国、法国次之。
2.1 团伙画像
团伙画像 | |
特点 | 描述 |
平台 | Windows |
攻击目标 | 从最初的只针对银行客户,转变为攻击制造、互联网、金融、科技等行业 |
攻击地区 | 从最初的欧洲地区,扩展到亚洲、美洲地区 |
攻击目的 | 刚出现时作为银行木马,窃取客户银行登录凭证,直接获得财产收益。现在构建僵尸网络,直接售卖肉鸡给其他黑客或散播银行木马、勒索病毒获利 |
攻击向量 | 钓鱼、漏洞、爆破 |
武器库 | Emotet木马,Nirsoft Mail PassView,WebBrowser PassView |
2.2 攻击流程
该团伙的完整攻击流程和运转模式如下:
2.3 技术特点
对于主模块payload以及子模块使用的API均通过函数名称hash值获得。
使用的字符串均异或加密存储,且在使用后会立刻释放对应的明文内存。
在二进制代码特征上使用OLLVM控制流平坦化以及大数运算混淆改变特征,使得基于代码特征检测更加困难。
2.4 资产特点
使用WordPress失陷站存放Emotet主模块载荷;
2.5 历史变迁
3.1 基本信息
Emotet主要通过钓鱼邮件传播,钓鱼邮件的内容一般为收款单、节日祝福、新冠疫情通知等。
3.2 详细分析
钓鱼邮件的附件中或链接指向的宏文档一般为欺骗性的提示内容,告诉用户文档处于保护视图,如果想要查看或编辑,需要点击启用内容按钮。一旦用户点击启用内容或者用户的Office软件默认启用宏,那么文档中的恶意宏代码便会执行。下面以一个带有MS Excel 4.0宏表的XLS文档为例:
3.2.1 C2和通信协议
Emotet主模块以及下发的子模块通信的C2地址均异或加密硬编码在各自的文件中,在请求时,依次遍历C2列表请求,直到请求到存活的C2为止。
Emotet主模块及下发的子模块均相同的协议(HTTPS + ECDH(NIST256p))与C2服务器进行通信,即在HTTPS协议的基础上又做了一层加密。病毒作者对该协议封装良好,使用该协议时,只需要提供请求的命令号以及对应的数据,即可完成整个通信过程。
3.2.2 主模块分析
Emotet主模块成功执行后,根据自身是否为管理员会将自身转移到Systemx86(System32或SysWow64)或%APPDATA%或随机目录下,创建服务运行或启动新进程执行。
序号 | 加载方式 |
1 | 下载到当前目录下的随机名文件.dll,使用regsrv32 以当前进程句柄和文件目录为参数加载执行 |
2 | 使用当前的密钥和Bot标识名作为参数内存加载执行 |
3 | 下载到当前目录下的随机名文件.exe,创建进程执行 |
4 | 下载到当前目录下的随机名文件.exe, 使用当前用户token执行 |
5 | 内存加载执行DllRegisterSever导出函数 |
6 | 下载到前目录下的随机名文件.dll,使用regsrv32加载执行 |
3.2.3 子模块分析
ID | 名称 | 功能 |
77 | 信息收集模块 | 上传进程列表、系统信息、网络信息、域信息 |
18 | Nirsoft Mail Pass Viewer模块 | 窃取Outlook,Thunderbird,Gmail等邮箱客户端中账密信息 |
Nirsoft WebBrowser Pass View模块 | 从IE、火狐、谷歌等浏览器中窃取保存的账密信息 | |
Outlook通信地址收集模块 | 从本地Outlook收件箱和发件箱中收集联系人名称和邮件地址 | |
Outlook邮件内容收集模块 | 从本地Outlook收件箱中收集邮件内容 | |
Thunderbird通信地址收集模块 | 从本地Thunderbird收件箱和发件箱中收集联系人名称和邮件地址 | |
Thunderbird通信地址收集模块 | 从本地Thunderbird收件箱收集邮件内容 | |
垃圾邮件模块 | 接收C2下发的垃圾邮件任务,给指定目标发送带有Emotet病毒的钓鱼邮件。 |
(1)信息收集模块
样本外层负责加载执行内嵌的命令行版的Nirsoft Mail PassView模块,窃取Outlook,Thunderbird,Gmail等邮箱客户端中账密信息。使用scomma命令行参数将账密以csv的格式导入到文件中,读取后压缩发送至C2服务器。
样本外层负责加载执行内嵌的命令行版Nirsoft WebBrowser PassView,用于从IE、火狐、谷歌等浏览器中窃取保存的账密信息。使用scomma命令行参数将账密以csv的格式导入到文件中,读取后压缩发送至C2服务器。
(4)Outlook通信地址收集模块
样本外层负责加载执行内部Outlook通信地址收集模块,用于收集发件箱和收件箱中的联系人名称和对应的邮箱地址,完成后写入到临时文件中。然后读取临时文件,将收集到的内容发送至服务器。
该模块会遍历Thunderbird邮件客户端存储邮件的%APPDATA%\Thunderbird\Profiles目录,解析INBOX收件箱和Sent已发送邮件,提取联系人名和邮箱地址,发送至服务器。
该模块向C2服务器请求垃圾邮件任务,服务器返回曾经窃取的邮件账密,目标邮箱,垃圾邮件内容等信息。
4.1 版本信息
4.2 拓线信息
4.3 其他信息
5.1 威胁处置
对于已经感染Emotet的机器,根据进程与C2服务器的网络连接或可疑的Regsvr32进程(命令行中的启动文件指向%APPDATA%或Systemx86目录下的随机名文件)找到木马进程并将其结束。删除木马进程对应的木马文件以及用于持久化驻留的开机启动项或服务项。
由于木马会盗取本地邮箱和浏览器中的账密,对于曾经在本地登录并保存的账密应该立即修改密码。排查本地邮件客户端中与自身有邮件往来的联系人,有很大概率这些账户也收到了类似的钓鱼邮件,感染了木马。
在清理完Emotet木马的组件后,需要查找其他可能存在的Emotet分发的病毒威胁,如Trickbot、Qakbot、CobaltStrike木马等。
5.2 安全加固
安装可信的EDR或杀毒软件,并保持病毒库更新,确保能够第一时间查杀病毒文件或防御攻击行为。
定期更新系统和常见的办公软件,修补已知的安全漏洞。
谨慎点击电子邮件中的附件或可疑链接,如果遇到邮件附件文档中有提示启用内容或启用宏的提示,不要选择启用,而是删除文件和对应的邮件,或将文件提交安全管理员处置。
对于需要密码登录的账号(如邮箱,网络平台,网上银行等),选择使用强密码并定期更新。如果对应平台支持,最好开启双因素身份认证。如果账号出现未知的异地登录,说明账密或其他凭证信息已经泄露,应该立即修改密码或冻结账号。
公众号内回复“EMO”,可获取附录 IOC。
内容转载与引用
1. 内容转载,请微信后台留言:转载+转载平台
2. 内容引用,请注明出处:以上内容引自公众号“微步在线研究响应中心”点击下方,关注我们
第一时间获取最新的威胁情报