研究人员最近发现了一些恶意的Microsoft Office文件,这些文件试图利用合法网站MediaFire和Blogger执行shell脚本,然后释放Agent Tesla和njRat的两个恶意变体。Agent Tesla是一款著名的监视软件,首次发现于2014年,它可以从web浏览器、邮件客户端和FTP服务器中窃取个人数据,收集屏幕截图和视频,并收集剪贴板数据。njRat(也称为Bladabindi)是2013年首次发现的远程代理木马,能够远程控制受害者的设备,记录击键、访问摄像头、窃取浏览器中存储的凭据、上传/下载文件、操作注册表等。
· 受影响的平台:Microsoft Windows
· 受影响方:Windows用户
· 影响:控制和收集受害者设备中的敏感信息
· 严重级别:严重
在本文中,我们将详细介绍我们发现的文件、它们用于传播有效负载的嵌入脚本,以及这些恶意软件变体的行为。
第1阶段
在2022年9月,研究人员发现了两种文件。一个是PowerPoint加载项,另一个是包含诱饵图片和嵌入Excel表单的Word文件。这两个文件都包含类似的VBA脚本,在打开文件后立即执行宏。
根据PPT插件中的VBA脚本(如上图所示),代码会自动触发,因为它使用了“Auto_Open()”函数。其“ControlTipText”和“Tag”字段包含完整的命令 “mshta” 和MediaFire URL。我们可以在 “vbaProject.bin”中看到完整的URL。
PPT加载项中的VBA宏
vbaProject.bin文件中完整的恶意URL
第2阶段
从下图所示的Process Explorer中可以看到,“mshta”进程在点击文件中的“Enable Macros”后立即启动。这导致了MediaFire网站,这是一个合法的文件和图片共享平台。
点击“Enable Macros”后的Process Explorer
以下是第一阶段VBA宏中“1.htm”的内容:
从MediaFire下载的“1.htm”
下图显示了将一些十六进制字符串转换为ascii字符串后的更清晰的图片。
转换后的“1.htm”
这个HTML文件有三个主要任务:
1.从MediaFire网站传送第三阶段脚本文件;
2.终止任务WINWORD.EXE;
3.通过创建计划任务添加持久性。它使用“mshta”连接到“http[:]//www.webclientservices.co[.]uk/p/1[.]html”网站,该网站每73分钟包含一个类似的脚本。以下是2022年9月的博客截图:
9月中旬www[.webclientservices[.co[.uk/p/1[.html]网页
研究人员还发现,“www[.]webclientservices[.]co[.]uk”中的1.html文件已更新并重命名为“real all BACK SEP 2022”。嵌入式JavaScript也被修改了,现在可以发布其他恶意软件。
9月底发现的www[.]webclientservices[.]co[.]uk/p/1[.]html更新页面
第3阶段
“1.txt”中的PowerShell脚本是从MediaFire下载的,它通过进程空心化技术提供最终有效负载。它首先终止所有相关进程,并对加载程序和有效负载进行解码。然后它调用最终有效载荷并部署它,绕过AMSI。主要恶意软件和部分代码被编码并替换为字符串,以增加分析的难度。
用于加载代理特斯拉的PowerShell的全图
执行PowerShell后的Process Explorer
在“Load Agent Tesla Payload”过程的第二部分中,变量$CLE11和$RNBX1是更换一些字符串后的最终有效负载和加载器。基于.NET的不同版本,它自定义了继续进行进程空心化活动的路径:
$Path = 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe'
$Path2 = 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe'
$Path3 = 'C:\Windows\Microsoft.NET\Framework\v3.5\Msbuild.exe
[Ref]/Assembly::Load((HexaToByte($RNBX1))).GetType('CALC'.PAYSIAS'.'GetMethod'(Execute).Invoke($null,[object[]] ($Path, HexaToByte($CLE11)));
研究人员将$RNBX1保存为可执行文件,并用dnSpy打开它。目标类和方法如下图所示。此.Net加载器利用一些模糊处理来隐藏主要API(CreateProcess、VirtualAllocEx…等)。
Net Loader
研究人员找到了目标进程“jsc.ex”、“caspol.exe”和“Msbuild.exe”,它们在受害者的设备中安静运行。详细信息如下图所示。
流程空心化时的Process Explorer
在PowerShell部分的末尾,它禁用了日志记录,并通过打补丁绕过AMSI。详细步骤如下所示。
绕过PowerShell中的AMSI
最后阶段(第一部分)
第一个恶意软件负载是Agent Tesla。这种变体在9月中旬开始传播。它包括合法的文件信息,“NirSoft”公司的“Web浏览器密码查看器”,并使用FTP发送被盗数据。
Agent Tesla的基本信息
下图是用于传输提取数据的攻击者FTP服务器信息的屏幕截图,包括用户名和密码。此变体还将自身复制到%appdata%目录中,文件名为“NGCwje.exe”以进行持久化。
攻击者的服务器信息
然后,它开始提取受害者设备的信息,例如基板的序列号、处理器ID和MAC地址。然后,它为该数据生成一个MD5哈希。
为受害设备的信息生成Md5哈希
Agent Tesla使用一个典型的应用程序列表来窃取登录凭据、Cookie、邮件信息和VPN数据。这些项目的一部分如下图所示:
目标浏览器应用程序列表
一旦恶意软件从受害者的设备检索到凭证和其他信息,它通过使用硬编码IP的FTP协议发送这些数据。
使用FTP协议
从受害者设备捕获的流量
根据遇到的不同类型的文件,它使用四种打开字符串:“CO”表示cookie数据,“KL”表示键盘记录,“PW”表示受害者的密码信息,“SC”表示屏幕截图文件。恶意软件使用下划线将数据类型、用户名、设备名称和时间戳连接在一起,作为数据ZIP文件的文件名。被盗zip文件列表如下所示:
FTP服务器上Zip文件的部分列表
最后阶段(第二部分)
第二个有效载荷是njRat,也称为Bladabindi。它是一个.NET特洛伊木马,用于控制和监控受害者的设备。此变体对其字符串生成和代码流使用模糊处理。从方法ko()的IDA图形概览中,你可以看到这个变体更复杂,但你仍然可以识别类似的函数。
IDA图概述
njRat的入口点
字符串解码功能
首先,它在“Startup”和“Templates”文件夹中创建lnk和exe文件,文件名为“Windows”。这个名字用来欺骗用户和分析师,让他们认为它是合法的Windows文件。
创建持久性
然后,它以相反的顺序获取命令和控制服务器主机名和端口号。
命令和控制服务器信息
为了确保此恶意软件只在此受害者上运行一次,它添加了名为“di” 、数据为 “!”的“HKEY_CURRENT_USER”。
添加到“HKEY_CURRENT_USER”中的注册表
注册表状态
它还创建了一个带有字符串“Windows”的互斥锁,将环境变量“SEE_MASK_NOZONECHECKS”设置为1,并检查此互斥锁是否以前创建过。如果是,则结束该过程。
创建互斥锁
设置环境变量
如下图所示,收集设备信息后,它使用base64对其进行编码并连接数据。然后,它使用硬编码的TCP端口7575将数据传输到服务器“mobnew6565[.]duckdns[.]org”。
连接数据
以下是Win10受害者设备的C2流量。分隔符更改为“|-F-|”,版本为“v4.0”,但数据包的格式类似于旧的njRat版本:
从受害者处捕获的流量
除了Agent Tesla和njRat,研究人员还在更新的HTML文件“www.webclientservices.co[.]uk/p/1[.]HTML”中找到了一个简短的脚本,该文件将挖矿软件下载到“C:\\ProgramData”。这是一种奇怪的行为,因为此攻击链中的每个步骤都试图在受害者的设备上不留下任何物理跟踪或文件。研究人员认为这可能会分散受害者的注意力,以免他们注意到另一个进程正在加载njRat。
下载挖矿软件的JavaScript
njRat和miner的Process Explorer视图
总结
Agent Tesla和njRat多年来都是高度活跃的恶意软件。它们的功能成熟,易于用于监视或窃取信息。如上所述,恶意URL不断更新其嵌入的JavaScript,这意味着这些钓鱼电子邮件和诱骗办公室文件始终是传播此恶意软件的有效方式。网站中嵌入的所有VBA宏、PowerShell和JavaScript代码都可以部署无文件攻击,也可以通过混淆或编码字符串来逃避一些病毒检测。
用户应始终警惕任何包含外部网站链接的办公室文件或未知文件。
攻击流程
通讯地址:北京市海淀区海淀南路甲21号中关村知识产权大厦A座2层206、207室 邮政编码:100080
电话:010-62565314 刘莉 京ICP证16064523号-2 版权所有:北京软件和信息服务业协会
技术支持:中科服 内容支持:鑫网安