攻击者通过精心制作的Excel文档传播新的AgentTesla变体 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

攻击者通过精心制作的Excel文档传播新的AgentTesla变体

xiaohui 技术 2023-09-16 11:33:00
58114
收藏

导语:FortiGuard实验室捕捉到了一个网络钓鱼活动,该活动传播了一种新的AgentTesla变体。

受影响的平台:Microsoft Windows;

受影响方:Windows用户;

影响:从受害者的电脑中收集敏感信息;

严重性级别:严重;

FortiGuard实验室捕捉到了一个网络钓鱼活动,该活动传播了一种新的AgentTesla变体。这个著名的恶意软件家族使用基于.Net的远程访问木马(RAT)和数据窃取程序来获得初始访问权限,它通常用于软件即服务(MaaS)。

AgentTesla源于2014年的一款键盘记录产品,演变至今,俨然成为了黑客专门用来窃密的工具软件。经过不断迭代,AgentTesla覆盖面越来越广,功能也越来越强。

AgentTesla变体攻击了浏览器、FTP、VPN、邮箱、通讯软件、下载工具、数据库等。反分析功能上又增加了反沙箱、反虚拟机以及反windows defender的相关功能,同时诱饵文件使用了多层或分批解密,大大增加了分析难度。

AgentTesla是一种“MAAS”(malware-as-a-service)恶意程序,在过去的7年间,一直保持着较高的活跃度。近两年,国内也出现了多起使用AgentTesla进行商业窃密的攻击活动。

研究人员对本次活动进行了深入分析,从最初的钓鱼电子邮件到安装在受害者设备上的AgentTesla的活动,再到从受影响的设备收集敏感信息。接下来,我们将介绍此次攻击的内容,如钓鱼电子邮件如何启动活动,CVE-2017-11882/CVE-2018-0802漏洞(而非VBS宏)如何被利用在受害者设备上下载和执行AgentTesla文件,以及AgentTesla如何从受害者设备收集敏感数据,如凭据、密钥日志,以及受害者的屏幕截图。

尽管微软于2017年11月和2018年1月发布了对CVE-2017-11882/CVE-2018-0802的修复,但该漏洞在攻击者中仍然很受欢迎,这表明即使在多年后,仍有未修复的设备。

网络钓鱼电子邮件

1.png

捕获的钓鱼电子邮件

钓鱼电子邮件伪装成采购订单通知,如上图所示,要求收件人确认工业设备供应商公司的订单。这封电子邮件附带了一个名为 “Order 45232429.xls”的Excel文档。

CVE-2017-11882/CVE-2018-0802被Excel文档利用

附件中的Excel文档为OLE格式。它包含精心制作的方程数据(equation data),利用CVE-2017-11882/CVE-2018-0802漏洞执行恶意shellcode。

2.png

Excel文件的内容

打开附加的Excel文档会向用户显示一条欺骗信息。同时,精心制作的方程数据中的shellcode被秘密执行。

CVE-2017-11882/CVE-2018-0802是一个RCE(远程代码执行)漏洞,当被利用时,它会导致EQNEDT32.EXE进程在解析特制的方程数据时内存损坏,这可能导致执行任意代码。

下图显示了在OLE复合读取器中解析的Excel文档,其中方程数据位于存储文件夹“MBD0057E612”下的流“\x01Ole10NativE”中。

3.png

OLE Excel文档中的方程内容

一旦打开精心编制的Excel文档,恶意方程式数据就会被称为“EQNEDT32.EXE”的MS Office进程自动解析。这会触发CVE-2017-11882/CVE-2018-0802漏洞,并在后台执行方程数据中的恶意shellcode。

4.png

即将在易受攻击的EQNEDT32.EXE进程中执行的ShellCode

在下图中,我们可以看到,精心编制的方程数据覆盖了EQNEDT32.EXE的堆栈,并使其跳转两次(通过0x450650和0x44C329的固定地址)到0x33C006C(堆栈中)的shellcode。

自我解密后,研究人员观察到shellcode的主要工作是从URL“hxxp://23[.]95.128.195/3355/chromium.exe”下载并执行一个额外的恶意软件文件。为此,它调用了几个API,如URLDownloadToFileW(),将恶意软件下载到本地文件夹,ShellExecuteW()在受害者的设备上运行恶意软件。在下图中,我们可以看到shellcode即将调用API URLDownloadToFileW()将其下载到本地文件中,并将其重命名为“%TEMP%”文件夹下的“dasHost.exe”。

5.png

调用API下载恶意软件

查看下载的文件

下载的文件(“dasHost.exe”)是一个由IntelliLock和.Net Reactor两个数据包保护的.Net程序。

下图显示了dnSpy中下载文件的EntryPoint函数,其中文件的程序集名称为“Nvgqn7x”。你可能已经注意到,所有名称空间、类、方法和变量的名称都完全混淆了。

6.png

被混淆后下载文件的EntryPoint函数

下载文件的.Net Resources部分中有一些资源文件,下载的文件(“dasHost.exe”)从.Net Resources部分提取两个无文件执行模块。一个是AgentTesla的有效负载模块,另一个是AgentTesla有效负载文件的Loader模块。

7.png

下载文件的.Net Resources部分

上图显示了.Net Resources部分中的所有资源。根据我的分析,资源“rTMIRNhcvIYnT8lMa6.UJQcCvWAsvT8GV6hyn.resources”是编码的Loader模块,其程序集名称为“Cassa”。资源“FinalProject.resources”是加密和压缩的AgentTesla有效负载模块,其组件名称为“NyZELH bX”,并在Loader模块的“DeleteMC()”函数中作为模块加载,如下图所示。

8.png

Loader“Cassa”的DeleteMC()函数

你可能已经注意到的,资源被伪装成Bitmap资源,并与有效负载混合在一起。Bitmap.GetPixel()和Color.FromArgb()是被调用来从资源中读取有效负载的两个API。然后,它通过解密和gzip解压缩来恢复有效负载文件,该文件通过调用AppDomain.CurrentDomain.Load()方法作为可执行模块加载。最后,从Loader模块(“Cassa”)调用有效负载文件的“EntryPoint”函数。

AgentTesla有效负载模块和Process Hollowing

有效负载模块是一个.Net程序,并且是完全混淆的。幸运的是,我使用了几个分析工具来消除混淆。Process-Hollowing是一款windows系统进程注入工具,它能够将目标进程的映射文件替换为指定进程的映射文件,被替换的通常是一些系统进程,如svchost。恶意代码借助此技术可以运行在其他进程中而不被检测到。

与大多数恶意软件一样,开发人员在单独的进程中运行恶意软件的核心模块。这是一种常见的保护策略,可以增加恶意软件在受害者设备上运行的成功率。

有效负载的主要功能(除了持久性)是执行Process Hollowing,然后将另一个解密的可执行文件,该文件来源于有效负载文件中的一个称为“7gQsJ0ugxz.resources”单独的资源,该文件放在Process Hollowing中并执行它。在这个分析中,研究人员把这个解密的可执行文件称为Agent Tesla的核心模块。

9.png

用于执行Process Hollowing的API

上图包含有效负载模块调用以执行ProcessHollowing的关键API。它调用CreateProcess()创建一个挂起的“dasHost.exe”进程。接下来,它通过核心模块的API VirtualAllocEx()在该进程中分配内存。然后多次调用WriteProcessMemory(),将保存在数组变量byte_1中的核心模块复制到新进程中。它最终调用API SetThreadContext()和ResumeThread(),将新进程从挂起状态恢复为执行AgentTesla的核心模块。

之后,负载模块通过调用Loader模块的DeleteMC()中的Environment.Exit()退出。

持久性攻击

为了持续盗取受害者的敏感数据,即使受影响的系统重新启动或AgentTesla进程被终止,它也要执行以下两个操作。

1. TaskScheduler

它执行一个命令,在负载模块内的系统taskscheduler中创建一个任务。本文的分析环境中的命令是"C:\Windows\System32\schtasks.exe" /Create /TN "Updates\kCqKCO" /XML "C:\Users\Bobs\AppData\Local\Temp\tmp68E9.tmp",其中“Updates\kCqKCO”是任务名称,“/XML”指定它是由以下参数提供的XML文件创建的,即tmp68E9.tpm。下图显示了XML内容的详细信息,其中文件“C:\Users\Bobs\AppData\Roaming\kCqKCO.exe”是下载的“dasHost.exe”的副本。任务设置为在受害者登录时开始。

10.png

在系统TaskScheduler中创建任务

2.在系统注册表中自动运行

11.png

系统注册表中的自动运行项

核心模块在系统注册表“C:\Users\Bobs\AppData\Roaming\sOFvE\sOFvE.exe”中添加了一个自动运行项,它是在系统启动时自动启动的“dasHost.exe”的另一个副本。

窃取受害者的敏感信息

AgentTesla核心模块从受害者的设备中窃取敏感信息。这些信息包括一些软件的保存凭据,受害者的键盘记录信息和受害者设备的屏幕截图。

窃取凭据

12.png

AgentTesla从中窃取凭据的Web浏览器信息

它从受害者设备上安装的指定软件中窃取保存的凭据,包括网络浏览器、电子邮件客户端、FTP客户端等。

根据其特点,受影响的软件可分为以下几类:

Web浏览器:

Opera浏览器、Yandex浏览器、Iridium浏览器、Chromium浏览器、7Star浏览器、Torch浏览器、Cool Novo浏览器、Kometa浏览器、Amigo浏览器、Brave浏览器、CentBrowser浏览器、Chedot浏览器、Orbitum浏览器、Sputnik浏览器、Comodo Dragon浏览器、Vivaldi浏览器、Citrio浏览器、360浏览器、Uran浏览器、Liebao浏览器、Elements浏览器、Epic Privacy浏览器、Coccoc浏览器、Sleipnir 6浏览器、QIP Surf浏览器、Coowon浏览器、Chrome浏览器、Flo浏览器ck浏览器,QQ浏览器,Safari、UC浏览器、Falkon浏览器

电子邮件客户端:

Outlook,ClawsMail,IncrediMail,FoxMail,eM客户端,Opera Mail,PocoMail,Windows Mail应用程序,Mailbird,The Bat!,Becky!,Eudora

FTP客户端:

Flash FXP, WS_FTP, FTPGetter, SmartFTP, FTP Navigator, FileZilla, CoreFTP, FtpCommander, WinSCP

VPN客户端:

NordVPN,Private Internet Access,OpenVPN

IM客户端:

Discord,Trillian,Psi/Psi+

其他:

Mysql Workbench,\Microsoft\Credentials\,Internet Download Manager,JDownloader

Keylogging攻击

AgentTesla调用API SetWindowsHookEx()来设置键盘挂钩,以监视低级别的输入事件。Keylogging攻击是指攻击者跟踪键盘、鼠标活动,获得用户输入的信息,包括帐号、口令等。

13.png

设置挂钩程序以记录键盘活动

在上图中,当受害者在他们的设备上打字时,就会调用回调挂钩进程“this.EiqpViCm9()”。AgentTesla将程序标题、时间和受害者的键盘输入内容不时地记录到一个本地文件“%Temp%/log.tmp”中。

它还有一个每隔20分钟由计时器调用的方法,用于检查“log.tmp”文件并通过SMTP传输其内容。

录制屏幕截图

在核心模块中,AgentTesla设置了另一个定时器,每间隔20分钟调用另一个Timer函数。该Timer函数检查设备上的任何活动,并确定是否记录并传输屏幕截图。为此,它调用API GetLastInputInfo()来检索系统接收到的最后一个输入事件的时间,然后将其与当前时间进行比较。

下面的伪代码片段演示了AgentTesla如何捕获屏幕截图。

加图.png

“memoryStream”变量将截图保存为jpeg格式。

通过SMTP传输敏感数据

AgentTesla提供了多种传输被盗数据的方式,例如使用HTTP POST方法或通过SMTP作为电子邮件正文。该变体选择通过电子邮件SMTP协议传输从受害者设备收集的数据。变体中的SMTP服务器地址和端口硬编码为“mail.daymon.cc”和587。

下图显示了将要调用smtpClient.Send()函数来传输凭据数据的恶意软件,电子邮件主题以关键字“PW_”开头,后跟凭据数据的用户名/计算机名。

14.png

在电子邮件中传输被盗凭据

电子邮件正文采用HTML格式,在浏览器中将电子邮件正文解析为HTML时,如下图所示。

15.png

被盗凭据示例

16.png

键盘记录程序收集的信息示例

电子邮件的主题是“KL_{User name/Computer name}” ,其中KL是键盘记录程序的缩写,电子邮件正文是收集的键盘记录数据。如下图所示,电子邮件正文包括在名为“Untitled-Notepad”的记事本中输入的键击记录。

捕获的屏幕截图保存在一个变量中,并在传输给攻击者时作为电子邮件附件添加。下图显示了它将屏幕截图数据作为附件添加到电子邮件中。截图的电子邮件主题格式是 “SC_{User name/Computer name}” ,电子邮件正文只是关于受害者设备的基本信息。

17.png

传输受害者截图的示例

总结

恶意活动流程图大致如下。

18.png

该分析表明,钓鱼电子邮件附带的恶意Excel文档利用老化的安全漏洞执行下载AgentTesla的shellcode。它在Resource部分中对相关模块进行加密和编码,以保护其核心模块不被分析。

然后我解释了这种变体是如何在受害者的设备上建立持久性的。我还展示了AgentTesla能够从受感染的设备中窃取的软件和数据,包括凭据、密钥记录数据和活动屏幕截图。

最后,我提供了几个例子,说明这种AgentTesla从分析环境中获得的敏感数据类型,以及这些被盗的敏感数据是如何通过SMTP协议通过电子邮件传输给攻击者的。

本文翻译自:https://www.fortinet.com/blog/threat-research/agent-tesla-variant-spread-by-crafted-excel-document如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务