Emotet 于 2014 年首次在野外被发现,当时它的主要功能就是窃取用户银行凭证。从那时起,它经历了无数次迭代,开始传播其他恶意软件,最终成为一个强大的僵尸网络。 2021 年 1 月,Emotet 被欧洲刑警组织宣布捣毁。攻击者花了将近 10 个月的时间才重建了基础设施,并于 11 月卷土重来。当时,Trickbot 恶意软件被用来传播 Emotet。现在,Emotet 在恶意垃圾邮件活动中可以实现自我传播。
根据最近的 Emotet 协议分析和 C2 响应,我们可以说现在 Emotet 可以下载 16 个附加模块。我们能够检索到其中的 10 个(包括垃圾邮件模块的两个不同副本),Emotet 将其用于凭据/密码/帐户/电子邮件窃取和垃圾邮件。在这篇文章中,我们提供了对这些模块的简要分析,以及最近 Emotet 攻击的统计数据。
Emotet技术分析
感染链
典型的 Emotet 感染始于带有 Microsoft Office(Word、Excel)附件的垃圾邮件。恶意宏用于启动 PowerShell,下载并执行 Emotet DLL。根据可用的访问权限,Emotet 在 %Windows%\SysWOW64\ 或 %User%\AppData\Local\ 目录中创建一个具有随机名称的子目录,并将其自身复制到随机生成的名称和扩展名下。导出的 Control_RunDLL 函数用于运行 Emotet DLL 的主要活动。
Emotet 感染执行链
运行后,Emotet 恶意软件通过调用 CreateServiceW() 函数创建服务。用于创建副本的随机生成的名称和扩展名充当服务名称。
带参数的 CreateServiceW() 函数
如果尝试创建一个新服务失败,Emotet会在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中创建一个新的注册表项,该注册表项与创建服务时使用的名称相同。
注册表中的自动启动键
一旦 Emotet DLL 启动,它就会注册 20 个 C2 IP中的一个 ,这些 IP 以加密形式硬编码到恶意软件对象中。下载的模块还可以包含其他 C2 IP。以下数据用于木马注册:
注册数据
与注册数据一起,每次运行生成的受害者公钥也会被发送到 C2。与使用 RSA 加密生成的 AES 密钥的先前版本不同,这个最新的 Emotet 样本使用 ECDH(椭圆曲线 Diffie-Hellman)算法,使用受害者生成的密钥对以及硬编码到代码中的 Emotet 的公钥来派生 AES 密钥加密通信。这是通过使用 Windows API BCryptSecretAgreement 完成的。
在监控过程中,我们观察到,在注册后,C2 使用进程列表模块有效负载回复。该模块以 DLL 的形式出现,它被解析并直接加载到 Rundll32 进程中。通过将特定结构传播给它的 DllMain 函数来调用它的入口点。还值得注意的是,Emotet 使用 ECDSA(椭圆曲线数字签名算法)在加载之前验证有效负载的完整性。
将 Emotet 的第二阶段 DLL 直接加载到内存中的伪代码
除了将 DLL 加载到内存中之外,还有其他方法可以运行有效负载。例如:
1.将 DLL 负载写入磁盘并通过 regsvr32.exe -s “%s” 或rundll32.exe “%s”,Control_RunDLL;
2.将有效负载写入磁盘并尝试调用 CreateProcess 或复制用户令牌以调用 CreateProcessAsUser;
在通信过程中,C2 返回模块主体和配置。恶意软件根据配置选择运行有效负载模块的方式。在我们的研究过程中,我们检索到的所有模块都在父进程中启动,但是为每个新模块启动了一个单独的线程。每个模块都有自己的数字 ID,并包含自己的 C2 列表。然而,我们检索到的所有模块都包含相同的 C2 列表,除了 Spam 模块。 Emotet 模块是按需交付的,并且在同一模块的不同样本中始终存在一些垃圾字节。这很可能避免云扫描或文件哈希检测。
在“进程列表”模块二进制文件之间的随机字节被更改
进程列表模块
这个模块将正在运行的进程列表发送回C2,通常C2在从这个模块获得响应之前不会发送任何其他模块。
Emotet 进程列表模块请求
Mail PassView 模块
该模块包含一个名为Nir Sofer 's Mail PassView的嵌入式可执行文件,这是一个密码恢复工具,可以揭示各种电子邮件客户端的密码和帐户详细信息。为了执行密码恢复工具,Emotet模块将certutil.exe复制到带有.exe扩展名的随机名称下的%Temp%目录中,启动复制的可执行文件,并使用process hollowing技术将密码恢复工具可执行文件注入到新创建的进程中。CertUtil进程使用命令行参数启动,以强制恢复工具将结果保存到文件中。
带有命令行的 CertUtil 密码恢复工具
据官方网站称,该工具能够泄露各种电子邮件客户端的密码和其他账户信息,包括Outlook和 Thunderbird。
WebBrowser PassView 模块
该模块与前一个模块基本相同,除了它使用 Nir Sofer 的 WebBrowser PassView 密码恢复工具来在浏览器中显示密码和帐户详细信息。
据官方网站称,该工具能够泄露各种浏览器的密码和其他账户信息,包括Internet Explorer、Mozilla Firefox、谷歌Chrome、Safari和Opera。
WebBrowser PassView 模块的函数伪代码
Emotet 多年来一直使用代码混淆,这个模块也不例外。在上图中,我们可以看到控制流混淆技术与变量“状态”(黄色)一起使用。此外,所有 API 调用都在运行时解决。这就是为什么这个 API 解析层可以使用垃圾参数(红框)。代码清单可能更大且更模糊,这就是为什么在所有模块中显示它们是没有意义的。
Outlook 地址抓取模块
Outlook 的数据泄露模块。该模块使用 Outlook Messaging API 接口,遍历 Outlook 配置文件并从每个找到的邮件中提取所有显示的名称和邮件地址。然后它将收集到的电子邮件地址发送到 C2。
Outlook 电子邮件抓取模块
Outlook 的数据泄露模块。该模块使用 Outlook Messaging API 接口,遍历所有个人文件夹(收件箱、已发送邮件、已删除邮件等),提取所有显示的发件人和收件人的姓名和邮件地址,并提取电子邮件主题和正文。然后它将收集到的电子邮件发送到 C2。
Thunderbird 地址抓取模块
Thunderbird 的数据泄露模块。该模块遍历位于 %AppData%\Roaming\Thunderbird\Profiles\ 中的 Thunderbird 配置文件,解析 Thunderbird 数据文件并提取显示的名称和邮件地址。然后它将收集到的电子邮件地址发送到 C2。
Thunderbird 电子邮件抓取模块
Thunderbird 的数据泄露模块。该模块遍历位于 %AppData%\Roaming\Thunderbird\Profiles\ 中的 Thunderbird 配置文件,解析 Thunderbird 数据文件并提取显示的发件人和收件人的姓名和邮件地址,并提取电子邮件主题和正文。然后它将收集到的电子邮件发送到 C2。
垃圾邮件模块
该模块负责发送垃圾邮件。它查询C2,直到它收到一个包含垃圾邮件任务的响应,该响应通常由三个部分组成:
可用于发送垃圾邮件的电子邮件服务器和被盗用帐户列表;数十个受感染的帐户存储在一个任务中。
目标电子邮件列表、收件人电子邮件和姓名、发件人电子邮件和姓名。
一个带有主题、正文和附件的垃圾邮件模板。
电子邮件服务器的编辑列表,用于发送垃圾邮件的受损帐户
我们能够获得的 10 个模块中有两个是垃圾邮件模块。它们的功能是相同的,但模块 ID 不同。
UPnP 模块
一个辅助模块,用于测试从外部连接到受感染系统的可能性。在C2发送的该模块的设置中,连同该模块本身,传输了被感染系统的外部IP地址。该模块做的第一件事是枚举网络接口并将它们的地址与从模块的配置设置中获得的 IP 地址进行比较。如果找到合适的网络接口,模块会打开端口进行侦听并等待传入的连接。模块可以打开以下端口:80, 443, 8080, 8090, 7080, 8443, 20, 21, 22, 53, 143, 465, 990, 993, 995。如果没有找到合适的网络接口,则使用SSDP 协议用于查找可以访问互联网的设备(调制解调器、路由器等)。如果找到合适的设备,模块会尝试使用 AddPortMapping 重新配置它们以允许端口转发。
443 端口转发的 AddPortMapping 示例
统计数据
自 Emotet 于 2021 年 11 月卷土重来以来,我们观察到它的活跃度逐渐增加。然而,在 2022 年 3 月,根据我们的分析数据,被攻击的用户数量从 2月的2847人飙升至9086人,增长了三倍多。
近期 Emotet 攻击中受攻击用户数量变化
我们在 3 月份观察到的 Emotet 检测数量也出现了类似的激增。
Emotet 检测数量动态,2021 年 11 月至 2022 年 3 月
受害者区域分布
Emotet 感染世界各地公司和个人用户的计算机。根据分析,在 2022 年第一季度,以下国家的用户已成为 Emotet 的目标:意大利 (10.04%)、俄罗斯 (9.87%)、日本 (8.55%)、墨西哥 (8.36%)、巴西 (6.88%) 、印度尼西亚 (4.92%)、印度 (3.21%)、越南 (2.70%)、中国 (2.62)、德国 (2.19%) 和马来西亚 (2.13%)。
Emotet 目标的地理分布,2022 年第一季度
总结
最新的Emotet 能够执行大量恶意操作:从各种来源窃取电子邮件、密码和登录数据;发送垃圾邮件。 除了那些用于Thunderbird的模块之外,所有这些模块都以某种形式被Emotet使用过。然而,仍然有一些模块我们还没有能够获得。
本文翻译自:https://securelist.com/emotet-modules-and-recent-attacks/106290/如若转载,请注明原文地址