- 样本基本信息
文件名 | 上海耀兴中行_.exe |
SHA256 | 797c253df096431e69f1aa84f0010f248384fe437cda4bf8df916c48fbb7984f |
MD5 | 12d6145a2055d0afea4e738d5f626d4b |
PEiD查看文件发现,该文件是C#语言的编写的.NET程序。通过PEiD插件查找到文件内部存在加解密相关操作,如图。
- 样本分析
分析发现该样本属于DarkTortilla 恶意软件。DarkTortilla 是一种复杂且高度可配置的基于 .NET 的加密程序,可能至少从 2015 年 8 月开始就一直处于活动状态。它通常提供流行的信息窃取程序和远程访问木马,同时还可以提供目标有效载荷,例如 Cobalt Strike 和 Metasploit。还可以提供附加包,例如额外的恶意负载、良性诱饵文档和可执行文件。
DarkTortilla执行流程可以分为三个阶段,分别是初始加载器、核心处理器、木马远控。
第一阶段:初始加载器
.NET样本使用dnSpy打开,找到入口点,分析发现样本尝试连接https://google.com,判断连接状态。连接不成功就循环连接。
断网环境下可以修改网络检查函数,使其直接返回检查成功,如图。
初始加载程序生成一个 16 字节的密钥来解码核心处理器。此密钥基于初始硬编码值38,根据其在目标数组中的位置的索引值,做相应的计算操作。计算后解码数组密钥为
[0x26,0x4C,0x72,0x98,0xBE,0xE4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]。
然后检索加载编码后的核心处理器数据,此数据存储在初始加载程序二进制文件的.NET资源中,如图。
初始加载程序对核心处理器数据解密,解密后的数据保存在内存中,此时可以将解密后的数据dump保存。保存后发现核心处理器是一个基于.NET的DLL文件。初始加载器解密文件后后通过反射方式控制执行流到DLL文件中预先设定的入口点函数。
第二阶段:核心处理器
文件基本信息:
文件名 | ArgenTINA.dll |
SHA256 | cd954fc635b0b45bd6d1e155afbe87787990b73eacea54f87c755006a897edb1 |
MD5 | 3a292e199a8f5ec7b30e38af1c24668c |
TimeDateStamp | 0x8B8E46B0 |
文件时间戳:
初始加载器解密后,对invoke函数单步步入,成功找到核心处理器的入口,如图。
根据函数名称,可以看出核心处理器主要功能是环境上的配置,包括解密下一阶段文件、在系统上安装文件、修改注册表以隐藏自身、实现持久化、实现假消息框迷惑受害者等。
调试定位到核心处理器对相关配置的设置信息,如图。
这些配置键对应的功能如表。
配置元素 | 值 | 实现功能 | |
payload | "%MainFile%" | {byte[0x00076E00]} | payload的二进制数据 |
进程注入 | "%HostIndex%" | 0x00000006 | AddInProcess32.exe(源目录:Microsoft.NET 框架文件夹) |
插件包 | %FilesNum% | 0x00000000 | 要处理的插件包数量 |
安装 | "%Installation%" | true | DarkTortilla安装并实现持久性 |
"%InstallationDirectory%" | 0x0000001C | 安装根目录 | |
"%InstallationFileName%" | "wyt.exe" | 根子文件夹中初始加载器可执行文件的文件名 | |
持久性 | "%InstallationReg%" | @"Software\Microsoft\Windows\CurrentVersion\Run" | 用于持久性的注册表项 |
"%InstallationKey%" | "a1" | 用于持久性的注册表值 | |
"%Hidden%" | true | 启用“隐藏”注册表持久性 | |
"%HiddenReg%" | @"Software\Microsoft\Windows NT\CurrentVersion\Winlogon" | 用于持久性的“隐藏”注册表项 | |
"%HiddenKey%" | "Shell" | 用于持久性的“隐藏”注册表值 | |
延迟执行 | "%Delay%" | 0x0000001E | 在核心处理器中延迟的秒数 |
持久性类型逻辑:
%Hidden% | %StartupFolder% | 持久性类型 |
False | False | 使用注册表HKCU运行键 |
True | True | Windows的启动文件夹 |
False | True | Windows的启动文件夹 |
True | False | 使用注册HKCU Winlogon键 |
第三阶段 木马收集用户信息
文件基本信息
文件名 | wyt.exe |
SHA256 | 317db422f70504fbf06e34501cba276965c5e8d9f086594b5ee5bb06b2ba7f19 |
MD5 | c2f0b604c065b78f6303fffe3830699f |
TimeDateStamp | 2023:02:06 03:45:20+08:00 |
Type | Remcos木马 |
C2 | 89.37.99.49 |
通过分析发现该文件是Remcos远控木马,Remcos从受害者的系统中收集信息并提交给C2服务器。对Remcos的使用可以追溯到2017年,该远控木马主要被商业组织和APT组织(如Gorgon或APT33)使用。
C2通过RC4加密后硬编码存储在资源节中。RC4密钥为8D32E2BD64AD44FBC6DA4715C05394833D395742BCB551BD2908EE8784E19D986BE31B31AE8685A673BA52A2A609839FB00CBABFAA72072B96FD80A350251BFD303D41A2A769154B45AC7EA3E3C74F7D09E72AC0952EFD4763973A4375EB0CFCC08F51E2C57D0B4978C0795E35223421BAF9E3616347721B1D7FCAB7E2C28B04A3624ED6DED946D26DBA74AD3C1EAEE2E1A32CCE5E126483771266E46CA9FAD3056F3C772F8C68EFA91227FE7D35836F3A7849,如图。
C2解密后为89.37.99.49。C2服务器89.37.99.49地理位置位于英国英格兰基斯利,威胁情报显示为傀儡机。
结论:
该样本为DarkTortilla 恶意软件,通过钓鱼恶意传播。在感染受害者机器后,通过三个阶段实现最后的有效负载。虽然本样本在反虚拟机检查、反沙盒检查、附加插件包等功能未进行配置,但DarkTortilla 能够规避检测,高度可配置,并能够提供各种流行且有效的恶意软件。它的能力和普遍性使其成为一个可怕的威胁。
参考链接:https://www.ddosi.org/darktortilla