Agent Tesla病毒解析 利用钓鱼邮件传播 窃取敏感信息
-
作者:火绒安全
-
发布时间:2022-05-18
-
阅读量:827
2014年以来,AgentTesla病毒持续活跃,逐渐成为全球互联网中的主要病毒威胁之一。根据火绒终端威胁情报系统统计,近年来AgentTesla病毒影响终端数量趋势整体呈快速上升态势。
AgentTesla病毒主要通过钓鱼邮件进行传播,钓鱼邮件内容多会伪装成装运建议、财务报表或预付款通知单等,邮件附件中包含AgentTesla病毒。当用户被诱导点击运行病毒后,病毒即会窃取用户终端上的隐私数据并上传C&C服务器。
AgentTesla病毒样本通常使用混淆器,通过数据加密、代码加密、控制流混淆等多种混淆方式藏匿自身病毒特征,对抗安全软件查杀。除此之外,混淆器还会通过反虚拟机和反调试器等手段,对抗逆向分析。
AgentTesla病毒的主要危害是窃取用户终端中的隐私数据,隐私数据包括用户浏览器登录凭证、FTP软件登录凭证、电子邮件登录凭证、键盘记录信息、屏幕截图、用户系统配置信息等。除此之外,还会通过篡改注册表键值的方式,禁用系统安全设置,降低系统安全性。
火绒安全提醒用户不要轻易点击来历不明的邮件附件。“火绒安全软件”可针对Agent Tesla病毒进行查杀。我们也将持续跟踪该病毒的最新变种。
一、详细分析
1.传播途径
AgentTesla病毒主要通过钓鱼邮件进行传播,钓鱼邮件的附件中包含AgentTesla病毒,当用户被诱导点击运行病毒后,病毒会将用户终端上多种隐私数据上传C&C服务器。相关内容,如下图所示:
邮件内容
2.AgentTesla病毒结构
AgentTesla病毒通过添加外层混淆器来对抗杀毒软件查杀和增加分析难度,通过跟踪分析不同的AgentTesla变种之后,发现不同变种均会使用2-4层外部混淆器来对病毒模块进行保护,最外层混淆器通过解密执行内层混淆器,最内层混淆器加载最终的病毒模块,外层混淆器的解密流程图,如下图所示:
外层混淆器
外层混淆器的演变可以分为几个阶段,每个阶段常见的混淆手段都非常接近,如每个阶段都存在的混淆手段通过对所有类、变量、函数的名字进行混淆和控制流混淆,通过XOR加密、AES算法、替换某一字节等加密手段将下层混淆器保存在资源中或变量中,运行的过程中由外层的混淆器解密执行下一层的混淆器,最后一层的混淆器负责加载病毒模块,常见的情况,如下图所示:
控制流混淆
名字混淆
将加密的数据从变量中解密
将加密的数据从资源中解密
反射调用下一层混淆器
一些外层混淆器还会使用常见的反虚拟机和反调试手段,相关例子,如下图所示:
反虚拟机
反调试
外层混淆器几个演变阶段,最重要的变化有两种,第一种是最后一层混淆器加载病毒模块的方式变化;第二种是混淆器使用难度更高的混淆方式,以下进行举例说明:
通过傀儡进程加载病毒模块
早期阶段使用最多的混淆器有3-4层,最外层混淆器通过解密变量中加密的数据,执行第二层混淆器,之后每一层都是通过解密资源中加密的数据来执行下一层的混淆器,最后一层混淆器通过创建傀儡进程的方式加载病毒模块,相关代码,如下图所示:
创建傀儡进程加载病毒模块
通过shellcode加载病毒模块
这个阶段的混淆器一共有3层,每一层的混淆器都使用AES加密算法解密执行下一层混淆器,最内层的混淆器可以检测杀毒软件,并使用shellcode加载病毒模块,相关代码,如下图所示:
检测杀毒软件
shellcode加载病毒模块
shellcode创建傀儡进程来加载病毒模块,相关代码,如下图所示:
shellcode创建傀儡进程加载病毒模块
通过联网下载病毒模块
这个阶段混淆器只有2层,第一层混淆器通过联网的方式下载、加载第二层混淆器和病毒模块,第二层混淆器中具备多种功能,如检测调试、反虚拟机、持久化等功能,相关代码,如下图所示:
联网下载第二层混淆器
第二层混淆器的功能代码,如下图所示:
第二层混淆器的功能代码
通过动态方法混淆调用流程
这个阶段的混淆壳一共有3层,通过创建动态方法的委托混淆调用流程,混淆难度增加,使得分析变得的困难,相关代码,如下图所示:
创建动态方法的委托
混淆调用流程,相关代码,如下图所示:
混淆调用流程
内层恶意代码混淆
没有混淆
早期AgentTesla内层病毒模块,没有使用任何混淆,相关代码,如下图所示:
无任何混淆代码
字符串加密
在分析过程中一共发现两种字符串加密方式,第一种把所有字符串使用AES算法加密,使用的时候根据传入的编号找到加密的字符串进行解密,相关代码,如下图所示:
第一种加密方式的字符串获取函数
第二种把所有用到的字符串都进行XOR加密放在一个数组里,病毒启动后开始解密,使用的时候根据下标和长度进行取字符串,相关代码,如下图所示:
第二种加密方式的字符串获取函数
内层恶意功能详细分析
AgentTesla病毒主要功能是收集用户终端上的隐私数据信息上传C&C服务器。主要的功能有:收集系统配置信息、FTP登录凭证、浏览器登录凭证、电子邮件软件登录凭证、上传屏幕截图、键盘记录器、剪贴板记录器、持久化等。通过设置注册表的值来禁用系统安全选项如:禁止CMD、禁止任务管理器、关闭UAC、禁止“运行“窗口、禁止控制面板、禁止注册表、禁止系统还原、禁用文件夹选项、删除MSCONFIG.EXE环境变量。并且将收集的相关信息使用DES加密上传至C&C服务器,常见的上传手段有:HTTP、FTP、SMTP、TorClient,有的变种还会通过Telegram API来将数据传递到私人频道并带有BypassUAC功能。以下仅以其中一个变种样本为例进行分析,关键功能,如下所示:
收集浏览器数据
不同变种的AgentTesla病毒收集浏览器的种类、数量会略微不同,受影响浏览器的列表,如下图所示:
受影响浏览器列表
相关代码,如下图所示:
收集浏览器数据
收集其他各类软件登录凭证
AgentTesla病毒还会收集其他各类软件的登录凭证,如:Email、FTP、VNC、VPN、即时通讯软件等,受影响的软件列表,如下图所示:
受影响软件列表
收集Windows系统各种凭证
相关代码,如下图所示:
收集Windows系统各种凭证
收集系统配置信息
获取一些系统配置信息,相关代码,如下图所示:
获取系统配置信息
键盘记录器
通过使用Timer定时器控件来定期上传键盘记录信息,相关代码,如下图所示:
上传键盘记录信息
上传屏幕截图
通过使用Timer定时器控件来定期上传屏幕截图,相关代码,如下图所示:
上传屏幕截图
通过注册表禁用各种功能
通过修改注册表键值实现:禁止CMD、禁止任务管理器、关闭UAC、禁止“运行”窗口、禁止控制面板、禁止注册表、禁止系统还原、禁用文件夹选项、删除MSCONFIG.EXE环境变量,相关代码,如下图所示:
通过注册表禁用各种功能
持久化
通过设置注册表来达到持久化,相关代码,如下图所示:
持久化
二、附录
火绒共捕获到数十万AgentTesla家族样本,以下仅以部分病毒样本为例,如下图所示: