400电话
在线咨询
微信咨询
咨询时间: 9:30-18:30
400-998-3555

Agent Tesla病毒解析 利用钓鱼邮件传播 窃取敏感信息

  • 作者:火绒安全

  • 发布时间:2022-05-18

  • 阅读量:827

 2014年以来,AgentTesla病毒持续活跃,逐渐成为全球互联网中的主要病毒威胁之一。根据火绒终端威胁情报系统统计,近年来AgentTesla病毒影响终端数量趋势整体呈快速上升态势。

 

图片 1.png

 

AgentTesla病毒主要通过钓鱼邮件进行传播,钓鱼邮件内容多会伪装成装运建议、财务报表或预付款通知单等,邮件附件中包含AgentTesla病毒。当用户被诱导点击运行病毒后,病毒即会窃取用户终端上的隐私数据并上传C&C服务器。

 

图片2.png

 

AgentTesla病毒样本通常使用混淆器,通过数据加密、代码加密、控制流混淆等多种混淆方式藏匿自身病毒特征,对抗安全软件查杀。除此之外,混淆器还会通过反虚拟机和反调试器等手段,对抗逆向分析。

 

AgentTesla病毒的主要危害是窃取用户终端中的隐私数据,隐私数据包括用户浏览器登录凭证、FTP软件登录凭证、电子邮件登录凭证、键盘记录信息、屏幕截图、用户系统配置信息等。除此之外,还会通过篡改注册表键值的方式,禁用系统安全设置,降低系统安全性。

 

火绒安全提醒用户不要轻易点击来历不明的邮件附件。“火绒安全软件”可针对Agent Tesla病毒进行查杀。我们也将持续跟踪该病毒的最新变种。

 

图片3.png

 

一、详细分析

 

1.传播途径

AgentTesla病毒主要通过钓鱼邮件进行传播,钓鱼邮件的附件中包含AgentTesla病毒,当用户被诱导点击运行病毒后,病毒会将用户终端上多种隐私数据上传C&C服务器。相关内容,如下图所示:

 

图片4.png

邮件内容

 

2.AgentTesla病毒结构

AgentTesla病毒通过添加外层混淆器来对抗杀毒软件查杀和增加分析难度,通过跟踪分析不同的AgentTesla变种之后,发现不同变种均会使用2-4层外部混淆器来对病毒模块进行保护,最外层混淆器通过解密执行内层混淆器,最内层混淆器加载最终的病毒模块,外层混淆器的解密流程图,如下图所示:

图片5.png

外层混淆器的解密流程图

 

外层混淆器

外层混淆器的演变可以分为几个阶段,每个阶段常见的混淆手段都非常接近,如每个阶段都存在的混淆手段通过对所有类、变量、函数的名字进行混淆和控制流混淆,通过XOR加密、AES算法、替换某一字节等加密手段将下层混淆器保存在资源中或变量中,运行的过程中由外层的混淆器解密执行下一层的混淆器,最后一层的混淆器负责加载病毒模块,常见的情况,如下图所示:

 

图片6.png

控制流混淆

 

 

图片7.png

名字混淆

 

 

图片8.png

将加密的数据从变量中解密

 

 

图片9.png

将加密的数据从资源中解密

 

 

图片10.png

反射调用下一层混淆器

 

 

一些外层混淆器还会使用常见的反虚拟机和反调试手段,相关例子,如下图所示:

 

图片11.png

反虚拟机

 

 

图片12.png

反调试

 

外层混淆器几个演变阶段,最重要的变化有两种,第一种是最后一层混淆器加载病毒模块的方式变化;第二种是混淆器使用难度更高的混淆方式,以下进行举例说明:

 

通过傀儡进程加载病毒模块

早期阶段使用最多的混淆器有3-4层,最外层混淆器通过解密变量中加密的数据,执行第二层混淆器,之后每一层都是通过解密资源中加密的数据来执行下一层的混淆器,最后一层混淆器通过创建傀儡进程的方式加载病毒模块,相关代码,如下图所示:

 

图片13.png

创建傀儡进程加载病毒模块

 

通过shellcode加载病毒模块

这个阶段的混淆器一共有3层,每一层的混淆器都使用AES加密算法解密执行下一层混淆器,最内层的混淆器可以检测杀毒软件,并使用shellcode加载病毒模块,相关代码,如下图所示:

 

图片14.png

检测杀毒软件

图片15.png

shellcode加载病毒模块

 

shellcode创建傀儡进程来加载病毒模块,相关代码,如下图所示:

 

图片16.png

shellcode创建傀儡进程加载病毒模块

 

通过联网下载病毒模块

这个阶段混淆器只有2层,第一层混淆器通过联网的方式下载、加载第二层混淆器和病毒模块,第二层混淆器中具备多种功能,如检测调试、反虚拟机、持久化等功能,相关代码,如下图所示:

 

图片17.png

联网下载第二层混淆器

 

第二层混淆器的功能代码,如下图所示:

 

图片18.png

第二层混淆器的功能代码

 

通过动态方法混淆调用流程

这个阶段的混淆壳一共有3层,通过创建动态方法的委托混淆调用流程,混淆难度增加,使得分析变得的困难,相关代码,如下图所示:  

 

图片19.png

创建动态方法的委托

 

混淆调用流程,相关代码,如下图所示:

 

图片20.png

混淆调用流程

 

内层恶意代码混淆

没有混淆

早期AgentTesla内层病毒模块,没有使用任何混淆,相关代码,如下图所示:

 

图片21.png

无任何混淆代码

 

字符串加密

在分析过程中一共发现两种字符串加密方式,第一种把所有字符串使用AES算法加密,使用的时候根据传入的编号找到加密的字符串进行解密,相关代码,如下图所示:

 

图片22.png

第一种加密方式的字符串获取函数

 

第二种把所有用到的字符串都进行XOR加密放在一个数组里,病毒启动后开始解密,使用的时候根据下标和长度进行取字符串,相关代码,如下图所示:

 

图片23.png

第二种加密方式的字符串获取函数

 

内层恶意功能详细分析

AgentTesla病毒主要功能是收集用户终端上的隐私数据信息上传C&C服务器。主要的功能有:收集系统配置信息、FTP登录凭证、浏览器登录凭证、电子邮件软件登录凭证、上传屏幕截图、键盘记录器、剪贴板记录器、持久化等。通过设置注册表的值来禁用系统安全选项如:禁止CMD、禁止任务管理器、关闭UAC、禁止“运行“窗口、禁止控制面板、禁止注册表、禁止系统还原、禁用文件夹选项、删除MSCONFIG.EXE环境变量。并且将收集的相关信息使用DES加密上传至C&C服务器,常见的上传手段有:HTTP、FTP、SMTP、TorClient,有的变种还会通过Telegram API来将数据传递到私人频道并带有BypassUAC功能。以下仅以其中一个变种样本为例进行分析,关键功能,如下所示:

 

收集浏览器数据

不同变种的AgentTesla病毒收集浏览器的种类、数量会略微不同,受影响浏览器的列表,如下图所示:

 

图片24.png

受影响浏览器列表

 

相关代码,如下图所示:

 

图片25.png

收集浏览器数据

 

收集其他各类软件登录凭证

AgentTesla病毒还会收集其他各类软件的登录凭证,如:Email、FTP、VNC、VPN、即时通讯软件等,受影响的软件列表,如下图所示:

 

图片26.png

受影响软件列表

 

收集Windows系统各种凭证

相关代码,如下图所示:

 

图片27.png

收集Windows系统各种凭证


收集系统配置信息

获取一些系统配置信息,相关代码,如下图所示:

 

图片28.png

获取系统配置信息

 

键盘记录器

通过使用Timer定时器控件来定期上传键盘记录信息,相关代码,如下图所示:

 

图片29.png

上传键盘记录信息

 

上传屏幕截图

通过使用Timer定时器控件来定期上传屏幕截图,相关代码,如下图所示:

 

图片31.png图片30.png

上传屏幕截图

 

通过注册表禁用各种功能

通过修改注册表键值实现:禁止CMD、禁止任务管理器、关闭UAC、禁止“运行”窗口、禁止控制面板、禁止注册表、禁止系统还原、禁用文件夹选项、删除MSCONFIG.EXE环境变量,相关代码,如下图所示:

 

图片31.png

通过注册表禁用各种功能

 

持久化

通过设置注册表来达到持久化,相关代码,如下图所示:

 

图片32.png

持久化

 

二、附录

 

火绒共捕获到数十万AgentTesla家族样本,以下仅以部分病毒样本为例,如下图所示:

 

图片33.png

安全无忧,一键开启

全面提升您的系统防护