译者:知道创宇404实验室翻译组
原文链接:https://www.trendmicro.com/en_us/research/20/l/stealth-credential-stealer-targets-us-canadian-bank-customers.html
前言
攻击者总是在寻找一种方法来执行受害者机器上的文件,并且希望不被发现。一种方法是使用一种脚本语言。如果受害者的操作系统中没有内置的编译器或解释器,那么这种脚本语言就无法执行。Python、AutoIT和AutoHotkey(AHK)就属于这种脚本语言。特别是,AHK是一种面向Windows的开源脚本语言,旨在提供简单的键盘快捷方式或热键、快速的微创建以及软件自动化。AHK还允许用户使用代码创建一个compiled.EXE
文件。
12月中旬,我们发现了一个散布盗用证书的活动。这个活动的主要代码组件是用AHK编写的。跟踪发现,这个活动从2020年初就开始了。恶意软件感染由多个阶段组成,这些阶段以恶意Excel文件开始。反过来,此文件包含AHK脚本编译器可执行文件、恶意AHK脚本文件和Visual Basic for Applications(VBA)AutoOpen宏。完整的攻击链如图1所示。我们跟踪了恶意软件的命令和控制(C&C)服务器,并确定这些服务器来自美国、荷兰和瑞典。我们还了解到,该恶意软件一直针对美国和加拿大的金融机构。
删除的adb.exe
以及adb.ahk
在此感染中起关键作用。这个adb.exe
是一个合法的可移植AHK脚本编译器,在给定的路径上编译和执行AHK脚本。默认情况下(不带参数),此可执行文件在同一目录中执行同名脚本。删除的AHK脚本是一个下载程序客户端,负责实现持久性、分析受害者,并在受害者系统上下载和执行AHK脚本。
为了保持持久性,下载客户端在startup文件夹中为adb .exe
创建一个自动运行链接。这个可移植编译器用于编译和执行AHK脚本。默认情况下(没有传递参数),这个可执行文件在同一个目录中执行一个同名的AHK脚本(本例中为adb.ahk
)。
该脚本通过C驱动器的卷序列号为每个受害者生成唯一的ID来分析每个用户。然后,恶意软件会经历一个无限循环,并开始每隔五秒发送一个带有生成ID的HTTP GET请求。此ID用作其命令和控制(C&C)服务器的请求路径,以便在受感染的系统上检索和执行AHK脚本。
为了执行命令,该恶意软件为每个受害者接受不同任务的各种AHK脚本,并使用相同的C&C URL执行这些脚本(而不是在一个文件中实现所有模块并接受执行它们的命令)。这样,攻击者可以决定上传特定的脚本,以实现每个用户或用户组的自定义任务。这也防止了主要成分被公开披露。尽管我们注意到这次攻击早在2020年初就开始了,但是沙盒仍然没有发现一个命令。这表明,要么是攻击者选择了何时向受感染的受害者计算机发送命令,要么是C&C服务器的快速变化使得跟踪变得困难。到目前为止,我们已经发现了五个C&C服务器和两个命令:deletecookies和passwords。
在下载程序客户端下载的组件中,我们发现了一个用AHK编写的窃取脚本。此脚本负责从各种浏览器获取凭据并将其过滤给攻击者。值得注意的是,这种脚本的变种可以针对特定的网站。其中包括加拿大的主要银行,如图2所示。
有趣的是,AHK提供了脚本,其中包含俄语的使用说明。这表明在创建攻击链的背后是“雇用黑客”组织。下面我们将描述图1中所示的攻击链的详细信息。
恶意组件分析
如果用户启用了宏以打开Excel文件,那么VBA AutoOpen宏将删除并通过可移植的AHK脚本编译器执行AHK下载程序客户端脚本。
默认情况下,已删除的可移植AHK脚本编译器adb.exe
在同一目录中执行具有相同名称的AHK脚本。在这种情况下,adb.exe
自动检测并执行adb.ahk
脚本。
如前所述,adb.ahk
是一个下载客户端,它负责持久性,对受害者进行性能分析,以及每五秒钟连续在受害者系统中下载和执行AHK脚本。该恶意软件向其C&C服务器发送HTTP GET请求,以便在受感染的计算机中下载并执行AHK脚本。
服务器的响应将保存到名为adb.exe〜
的文件中(adb.exe〜
是AHK纯文本脚本;不是可执行文件)。图5中的HTTP GET请求路径是受害者的唯一ID,其格式如下:
需要注意的是,在其他一些变体中,-xl2
被替换为-pro
。在adb.ahk执行下载的AHK脚本之前,它将首先检查文件的末尾是否存在特定字符(“〜”)。如果找到该字符,则继续执行。
此外,该恶意软件还会在启动文件夹中创建一个自动运行链接,该链接指向名为GraphicsPerfSvc.lnk
的adb.exe
AHK脚本编译器。如前所述,默认情况下,编译器执行具有相同名称和目录的AHK脚本。
偷窃程序分析
下载器客户端下载的脚本之一是浏览器凭据窃取程序。下面,我们将研究此恶意脚本的实现、功能以及网络通信。
成功执行后,恶意软件会通过HTTP POST请求向其C&C服务器发送状态日志(“passwords: load”):
与adb.ahk
一样,此脚本还会根据C驱动器的卷序列号为其受害者生成唯一的ID。生成的唯一受害者ID用于跟踪感染,并且对于每个受害者始终保持相同。
然后,窃取程序尝试在受害计算机上下载sqlite3.dll
。恶意软件使用此DLL对浏览器的应用程序文件夹中的SQLite数据库执行SQL查询。
sqlite3.dll
并发送执行状态从上面的代码段中,我们可以看到恶意软件再次检索了C驱动器的卷序列号,并搜索了两个硬编码的序列号605109072和605109072。这两个序列号用于调试。退出时,脚本在消息框中显示SendLog()函数参数。值得注意的是,这种调试技术也可在此脚本的各种函数中看到。
攻击者使用以下开源代码通过AHK处理SQLite数据库。
该恶意软件的主要目的是从各种浏览器(例如Microsoft Edge、Google Chrome、Opera、Firefox和Internet Explorer(IE))中窃取凭据。为了实现此任务,恶意软件使用以下功能:
下图演示了上述功能:
该恶意软件会识别受害计算机中安装的浏览器,并通过SendLog()函数将其发现并报告给C&C服务器。如果未安装目标浏览器,恶意软件会将其标记为not_found
:
另一方面,如果目标浏览器在受害计算机中,则恶意软件将其标记为“_ok”,如下图所示:
以下代码演示了恶意软件如何搜索Chrome、Edge和Opera的登录数据。
对于Internet Explorer密码窃取程序,我们从开放源IE密码信息窃取程序中借用了一些代码,并将其转换为AHK。
数据过滤
最终,恶意软件通过HTTP POST请求从受害者计算机上已安装的浏览器中收集到的凭据发送给攻击者。值得注意的是,对于每个浏览器,恶意软件都会尝试解密凭据并将其作为纯文本发送到C&C。
另外,下载的组件在代码级别上十分有序。这些下载的组件还具有注释格式的主要功能和变量的使用说明。因此,这表明此代码不仅为攻击者所用,还可能被其他人以服务或独立实例使用。
总结
恶意软件感染包括以恶意Excel文件开始的多个阶段。如果用户允许宏打开Excel文件,则VBA AutoOpen宏将删除并通过合法的可移植AHK脚本编译器执行下载程序客户端脚本。下载器客户端负责实现持久性,分析受害人以及在受害人系统中下载和执行AHK脚本。该恶意软件没有从C&C服务器接收命令,而是下载并执行AHK脚本来执行不同的任务。下载的脚本是针对各种浏览器(例如Google Chrome、Opera、Edge等)的窃取程序。窃取程序从浏览器收集和解密凭据,并通过HTTP POST请求将信息泄露到攻击者的服务器。
事实上,通过在受害者的操作系统中使用缺少内置编译器的脚本语言,分别加载恶意组件来完成各种任务,并频繁地更换C&C服务器,攻击者可以在沙盒中隐藏他们的意图。
IOCs
SHA 256 | Description | Detection |
---|---|---|
a1f2606102e59bbc1a6de8912378821e83c32f31f6a402e8f3993ef966746b07 | Stealer module | TrojanSpy.AHK.CREDSTEALER.A |
dd3087a377ee3d1959f6c17b1b13e5972d1783dfd708bd084150e44c30e3af6e | Stealer module | TrojanSpy.AHK.CREDSTEALER.A |
d8483908dc0a18c4b51bfe962279816c910fedbad1961e5c5ed081c250cc5f76 | Stealer module | TrojanSpy.AHK.CREDSTEALER.A |
1994f37501d7fc3038129db09babc5ef67d5ab4c93a95b3b59bf2b5ffa1592ff | Stealer module | TrojanSpy.AHK.CREDSTEALER.A |
0078c476753613a78ff9e8f621fd28c1279c0981d519c44212b9d02e5fb4c81c | Stealer module | TrojanSpy.AHK.CREDSTEALER.A |
bed925d7c0af493c9ccd2828d6fdefe6f4255bada51f645a8fffdd67e24b87fd | Excel file | |
27d9eb869eea6c713c6f109eca867844e2feceb0783bda2b78f7a92dffc833f6 | Excel file |
IPs | Description |
---|---|
93.115.23.48(ZoomEye搜索结果) | C&C server |
94.103.94.186(ZoomEye搜索结果) | C&C server |
2.56.215.97(ZoomEye搜索结果) | C&C server |
199.192.29.202(ZoomEye搜索结果) | C&C server |
5.39.223.162(ZoomEye搜索结果) | C&C server |
本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1432/