Credential Stealer正针对美国,加拿大银行客户发起大规模攻击

趋势科技的研究人员最近发现了一个新出现的攻击活动,该活动会传播了一个Credential Stealer程序,其主要代码组件是用AutoHotkey(AHK)编写的。

攻击者一直在寻找一种方法来在受害者计算机上执行文件并避免不被检测到。最常用的一种方法是涉及使用脚本语言,该脚本语言在受害者的操作系统中没有内置编译程序,并且没有其编译程序或解释程序就无法执行。 Python,AutoIT和AutoHotkey(AHK)是此类脚本语言的一些示例。特别是,AHK是Windows的一种开源脚本语言,旨在提供简单的键盘快捷键或热键、快速的微创建和程序自动化,AHK还允许用户使用其代码创建“compiled” .EXE。

在12月中旬,研究人员发现了一个传播Credential Stealer的活动。研究人员还了解到,该活动的主要代码部分是使用AHK编写的。通过跟踪活动的组成部分,研究人员发现其活动始于2020年初。恶意程序感染包括多个阶段,这些阶段从恶意Excel文件开始。反过来,此文件包含AHK脚本编译程序可执行文件,恶意的AHK脚本文件和Visual Basic for Applications(VBA)AutoOpen宏。完整的攻击链如图1所示。研究人员的遥测技术跟踪了恶意程序的命令和控制(C&C)服务器,并确定这些服务器来自美国、荷兰和瑞典。研究人员还了解到,该恶意程序一直将攻击目标针对美国和加拿大的金融机构。

删除的adb.exe和adb.ahk在此感染中起到了关键作用,adb.exe是合法的可移植AHK脚本编译程序,其工作是在给定路径下编译和执行AHK脚本。默认情况下(不带参数),此可执行文件在同一目录中执行具有相同名称的脚本。被删除的AHK脚本是一个下载程序客户端,负责实现持久性,分析受害者,下载和执行受害者系统上的AHK脚本。

为了保持持久性,下载程序客户端会在启动文件夹中为adb.exe创建一个自动运行链接,该可移植编译程序用于编译和执行AHK脚本。默认情况下(不带任何传递参数),此可执行文件在同一目录(本例中为adb.ahk)中执行具有相同名称的AHK脚本。

该脚本通过基于C驱动器的卷序列号为每个受害者生成唯一的ID来对每个用户进行配置。然后,该恶意程序将经历无限循环,并开始每五秒钟发送一次带有生成ID的HTTP GET请求。此ID用作其命令和控制(C&C)服务器的请求路径,以在受感染的系统上检索和执行AHK脚本。

为了执行命令,该恶意程序接受每个受害者不同任务的各种AHK脚本,并使用相同的C&C URL执行这些脚本,而不是在一个文件中实现所有模块并接受执行命令的命令。通过这样做,攻击者可以决定上传特定脚本以实现针对每个用户或用户组的自定义任务。这也可以防止主要组件被公开,特别是向其他研究人员或沙盒公开。实际上,尽管研究人员注意到这种攻击早在2020年初就开始了,但沙箱仍未发现任何命令。这表明,攻击要么选择何时将命令实际发送到受感染的受害者计算机,要么C&C服务器的快速变化使其难以跟踪。到目前为止,研究人员发现了五台C&C服务器和仅两个命令:deletecookies 和passwords。

恶意程序的攻击链

在下载的客户端下载组件中,研究人员观察到一个用AHK编写的Credential Stealer。该脚本负责从各种浏览器中收集凭据并将其泄漏给攻击者。值得注意的是,这种Credential Stealer的一个变体以特定的网站为目标。其中包括加拿大的主要银行,如图2所示。

加拿大银行的客户信息被泄漏

一个有趣的方面是,AHK提供了脚本,其中包含俄语的使用说明。这表明攻击链的创建背后是一个“hack-for-hire”组织。下面几节将描述图1中所示的攻击链的详细信息。

恶意组件分析

如果用户启用宏来打开Excel文件,则VBA AutoOpen宏将删除并通过可移植的AHK脚本编译程序执行AHK下载程序客户端脚本。

Excel文件中的VBA下载程序

默认情况下,已删除的可移植AHK脚本编译程序adb.exe在同一目录中以相同名称执行AHK脚本。在这种情况下,adb.exe自动检测并执行adb.ahk脚本。

AHK下载程序脚本

如前所述,adb.ahk是一个下载程序客户端,它负责持久性,对受害者进行性能分析以及每五秒钟连续在受害者系统中下载和执行AHK脚本。该恶意程序向其C&C服务器发送HTTP GET请求,以便在受感染的计算机中下载并执行AHK脚本。

AHK下载程序发送的HTTP GET请求

服务器的响应将保存到名为adb.exe〜的文件中,adb.exe〜是AHK纯文本脚本,它不是可执行文件。图5中的HTTP GET请求路径是受害者的唯一ID,其格式如下:

重要的是要注意,在其他一些变体中,“-xl2”被替换为“-pro”。在adb.ahk执行下载的AHK脚本之前,它首先检查文件的末尾是否存在特定字符(“〜”)。如果找到该字符,则继续执行。

此外,该恶意程序还会在启动文件夹中创建一个自动运行链接,该链接指向名为“GraphicsPerfSvc.lnk”的adb.exe AHK脚本编译程序。如前所述,默认情况下,编译程序执行具有相同名称和目录的AHK脚本。

Credential Stealer的最后一行

分析Credential Stealer

下载程序客户端下载的一个脚本是浏览器凭据窃取程序,在以下部分中,研究人员将研究此恶意脚本的实现、函数和网络通信。

一旦成功执行,该恶意软件通过HTTP POST请求向C&C服务器发送状态日志 (“passwords: load”):

恶意程序发送的状态日志

与adb.ahk一样,此脚本还会根据C驱动器的卷序列号为其受害者生成唯一的ID。然后,将生成的唯一受害者ID用于跟踪感染,并且对于每个受害者始终保持相同。

然后,Credential Stealer尝试在受害计算机上下载“sqlite3.dll”。该恶意程序使用此DLL对浏览器的应用程序文件夹中的SQLite数据库执行SQL查询。

Credential Stealer下载sqlite3.dll并发送执行状态

从上面的代码段中,研究人员可以看到恶意程序再次检索了C驱动器的卷序列号,并搜索了两个硬编码的序列号605109072和605109072。这两个序列号已用于调试目的,退出时会脚本在消息框中显示SendLog()函数参数。值得注意的是,此调试技术也已在此脚本的各种函数中看到。

值得注意的是,恶意程序作者使用以下开源代码通过AHK处理SQLite数据库。

AHK的开源SQLite类

该恶意程序的主要目的是从各种浏览器(例如Microsoft Edge,Google Chrome,Opera,Firefox和Internet Explorer(IE))中窃取凭据。为了实现此任务,恶意程序使用以下函数:

Credential Stealer函数

下图演示了上述函数的执行过程:

与Chrome,Edge和Opera浏览器相关的函数概述

Firefox窃取程序函数概述

IE窃取程序函数概述

该恶意程序会识别受害计算机中安装的浏览器并通过SendLog()函数将其发现报告给其C&C服务器。如果未安装目标浏览器,则该恶意程序会将其标记为“not_found”:

可以看出,恶意程序将“Opera_not_found”发送到C&C服务器,因为它没有在已安装的浏览器中找到Opera。

另一方面,如果目标浏览器在受害计算机中,则恶意程序将其标记为“ _ok”,如下图所示:

由于Chrome是已安装的浏览器之一,因此恶意程序会将“Chrome_ok”发送到C&C服务器

以下代码段演示了恶意程序如何搜索Chrome,Edge和Opera的登录数据。

恶意程序会找到已安装的浏览器

对于Internet Explorer密码窃取程序,开发者从开源IE密码信息窃取程序中借用了一些代码,并将其转换为AHK。

IE窃取程序

数据渗漏

最终,该恶意程序通过HTTP POST请求从受害者计算机上已安装的浏览器中收集到的凭据发送给攻击者。值得注意的是,对于每个浏览器,恶意程序都会尝试解密凭据并将其以纯文本的形式发送到C&C。

凭证泄漏的示例

凭证泄漏

关于这个活动的另一件有趣的事情是,下载的组件在代码级别上组织得非常好。这些下载的组件也有主要函数和变量的注释格式的使用说明。因此,此行为可能表明,此代码不仅供其开发者使用,还可供其他人作为服务或独立对象使用。

总结

恶意程序的感染包括以恶意Excel文件开始的多个阶段,如果用户启用了宏以打开Excel文件,则VBA AutoOpen宏将删除并通过合法的可移植AHK脚本编译程序执行下载程序客户端脚本。下载程序客户端负责实现持久性,分析受害人以及在受害人系统中下载并执行AHK脚本。该恶意程序没有从C&C服务器接收命令,而是下载并执行AHK脚本来执行不同的任务。下载的脚本是针对各种浏览器(例如Google Chrome,Opera,Edge等)的Credential Stealer。Credential Stealer从浏览器收集和解密凭据,然后通过HTTP POST请求将信息泄漏到攻击者的服务器。

事实上,通过在受害者的操作系统中使用一种缺乏内置编译程序的脚本语言,加载恶意组件以分别完成各种任务以及频繁更改C&C服务器,攻击者已经能够从沙盒中隐藏其意图。

IOCs

本文翻译自:https://www.trendmicro.com/en_us/research/20/l/stealth-credential-stealer-targets-us-canadian-bank-customers.html

【责任编辑:赵宁宁 TEL:(010)68476606】

51CTO安全资讯
我还没有学会写个人说明!
上一篇

如何configure定制出属于你的Nginx?

下一篇

Netflix公布喜剧特别节目《Death to 2020》预告片和播出时间

你也可能喜欢

评论已经被关闭。

插入图片