buhtrap后门和勒索软件通过广告平台进行分发

ang010ela 勒索软件 2019年5月9日发布
Favorite收藏

导语:过去几个月,研究人员发现有黑客组织使用Buhtrap和RTM两个著名后门作为勒索软件和加密货币窃取器来攻击位于俄罗斯的企业。攻击活动主要是通过Yandex.Direct发布恶意广告来重定向潜在目标到提供伪装为文档模板的恶意下载的网站。

过去几个月,研究人员发现有黑客组织使用Buhtrap和RTM两个著名后门作为勒索软件和加密货币窃取器来攻击位于俄罗斯的企业。攻击活动主要是通过Yandex.Direct发布恶意广告来重定向潜在目标到提供伪装为文档模板的恶意下载的网站。

注:Yandex是俄罗斯的最大的互联网搜索引擎,Yandex.Direct是其在线广告网络。

研究人员发现Buhtrap后门的源码已经在网络上泄露了,而RTM的代码还没有被泄露。本文描述攻击者如何滥用Yandex.Direct和GitHub来分发恶意软件。

传播机制和受害者

将不同payload联系在一起的攻击者传播位于两个不同GitHub仓库的恶意文件的方式。一般只有一个GitHub仓库的恶意文件是可以下载的,但是具体是哪一个会频繁变化。通过GitHub仓库的修改历史,可以发现恶意软件可以在任意给定时间内传播。受害者被引诱来下载恶意文件的一种方式是通过网站blanki-shabloni24[.]ru,如图1所示。

图1 –  blanki-shabloni24[.]ru的加载页

网站的设计和所有的恶意文件名都非常清除:都是表单、模板和合同。伪造的软件名翻译过来是“表格、模板和合同样本集2018”。因为Buhtrap和RTM木马在过去就攻击过审计机构,因为攻击采用这样的策略也就不足为奇了。但受害者是如何被重定向到该网站呢?

感染活动

其中一些受害者是通过恶意广告活动来到该站点的,下面是一个到恶意站点的重定向URL示例:

https://blanki-shabloni24.ru/?utm_source=yandex&utm_medium=banner&utm_campaign=cid|{blanki_rsya}|context&utm_content=gid|3590756360|aid|6683792549|15114654950_&utm_term=скачать бланк счета&pm_source=bb.f2.kz&pm_block=none&pm_position=0&yclid=1029648968001296456

从该URL可以看出是一个发布在bb.f2[.]kz上的banner,bb.f2[.]kz是一个合法的审计论坛。需要说明的是这些banner出现在许多不同的网站上,攻击活动id为blanki_rsya,而且大多数都与审计或合法的帮助服务相关。从该URL中还可以看出用户搜索了“скачать бланк счета” 或“download invoice template(下载发票模板)”,这也印证了攻击目标。Banner发布的网站和相关的搜索词见表1。

image.png

表1– banner展示的域名和使用的搜索词

总的来说,攻击者通过Yandex.Direct展示可能会被会计访问来搜索特定关键词的广告分发活动。

Payload分析

传播时间线

恶意软件活动是从2018年10月开始的,一直持续到现在。因为整个仓库都是GitHub上,因为可以看到恶意软件家族分发的准确时间线,如图2所示。研究人员在这段时间内在GitHub上共发现有6款不同的恶意软件家族。

图2 –  恶意软件传播的时间线

代码签名证书

攻击活动中还使用了多款不同的代码签名证书来为恶意软件进行数字签名。一些证书被用于为不至一款恶意软件签名。攻击者并没有对上传到git仓库的二进制文件进行系统地签名。2019年2月底,攻击者也使用了属于Google的证书来进行无效的签名,因为攻击者并没有私钥。

所有攻击活动中使用的证书和签名的恶意软件如表2所示。

image.png

表2 证书和签名的恶意软件列表

研究人员也使用这些代码签名证书来查看是否可以将其与其他恶意软件家族关联起来。但对大多数证书,研究人员并未发现不通过GitHub库进行传播的恶意软件。但研究人员发现TOV “MARIYA”证书曾被用于签名属于Wauchos僵尸网络的广告恶意软件和加密货币挖矿机。研究人员并没有发现这些恶意软件变种与本攻击活动之前的关联,研究人员猜测这些证书可能是从黑市买的。

Win32/Filecoder.Buhtrap

研究人员发现一个之前从未发现过的组件Win32/Filecoder.Buhtrap,这是一个Delphi恶意软件,主要在2月和3月份传播。该组件有勒索软件的行为,会找到和加密本地驱动和网络共享上的文件。加密受害者文件并不需要网络连接,因为它不需要连接服务器来发送加密密钥。组件会将token加到勒索信息的后面,并要求受害者通过邮件或Bitmessage与攻击者联系。

为了尽可能多地加密重要的组件,Filecoder.Buhtrap会开启一个线程来杀掉可能处理这些重要文件和数据的软件。目标进程主要是数据库管理系统。Filecoder.Buhtrap还会移除日志文件和备份文件,使用受害者没有离线备份文件而无法恢复文件。为此,需要执行图3中的batch脚本。

image.png

图3 – 移除备份和日志文件的脚本

Filecoder.Buhtrap还会使用合法的在线服务IP Logger,该服务是用来收集谁访问了网站的信息的。这是用来记录勒索软件的受害者的。图4中的命令行就是这个作用。

image.png

图4 – 查询iplogger.org

加密的文件是根据执行匹配这3个列表失败来选择的:

首先,不加密以下扩展的文件名,.com, .cmd, .cpl, .dll, .exe, .hta, .lnk, .msc, .msi, .msp, .pif, .scr, .sys和.bat;

第二,含有图5中目录字符串的完全路径下的所有文件都排除在外;

第三,特定文件名是排除在外的,其中就包括勒索新的文件名。图6是排除的特定文件名列表。这些扩展主要是确保加密的受害者机器启动的,但很少使用。

image.png

图5 – 排除加密的目录

image.png图6 –  排除加密的文件

文件加密方案

恶意软件启动后,会生成一个512位的RSA密钥对。私钥组件d和模数n随后会使用硬编码的2048位的公钥加密,然后进行zlib压缩,然后进行base64编码。负责这一功能的代码如图7所示:

图7 –512位RSA密钥对生成路径的反编译结果

图8是和token一起加到勒索信的生成的私钥的明文版本示例。

image.png

图8 – 生成的私钥示例

攻击者的公钥如图9所示:

image.png

图9 – 硬编码的RSA公钥

文件使用AES-128-CBC和256位密钥进行加密。对每个要加密的文件,都会生成新的初始向量(iv)。密钥信息会加到加密的文件的最后。

下面看一下加密的文件的格式:

加密的文件都有这样的首部:

image.png

来自在原始文件加入了VEGA的数据都回在前0x5000字节加密。所有解密文件相关的信息都会加到含有以下架构的文件中:

image.png

· File size marker含有一个表明文件大小大于0x5000字节的flag

· AES key blob = ZlibCompress(RSAEncrypt(AES Key + IV, generated RSA key pair’s public key))

· RSA key blob = ZlibCompress(RSAEncrypt(Generated RSA private key, Hardcoded RSA public key))

Win32/ClipBanker

Win32/ClipBanker是在2018年10月底到12月初传播的组件。其作用是监控剪贴板的内容,查找加密货币地址。如果找到了目标加密地址,就用属于恶意软件运营者的地址来替换。研究人员发现的样本既没有打包也没有混淆。唯一使用的隐藏其行为的机制就是字符串加密。攻击者的加密货币地址使用RC4加密。攻击的加密货币类型包括Bitcoin, Bitcoin cash, Dogecoin, Ethereum和Ripple。

研究人员发现发送到攻击者比特币地址的BTC很少,这说明该攻击活动并不是很成功。而且也无法确定仅有的交易与该恶意软件活动相关联。

Win32/RTM

Win32/RTM是2019年3月初开始传播的恶意组件。RTM是一个Delphi语言编写的银行木马,主要攻击远程银行系统。早在2017年,ESET研究人员就发布了对该恶意软件进行分析的白皮书。2019年1月,Palo Alto Networks研究人员也对该恶意软件进行了分析。

Buhtrap下载器

在一个很短的时间内,来自GitHub的package是一个与之前的Buhtrap工具无关的下载器。该下载器用https://94.100.18[.]67/RSS.php?<some_id>来获取下一个阶段并直接在内存中加载。研究人员在第二阶段代码中共识别出2个不同的行为:

· 第一个是RSS.php URL直接服务于Buhtrap后门,该后门与之前泄露的源码非常相似。而且研究人员也发现了许多使用Buhtrap后门的攻击活动,而且应该都是来自不同的运营者。主要的差别在于首先后门是直接在内存中加载的,而不是使用DLL侧加载,第二是改用RC4密钥来加密到C2服务器的网络流量。

· 第二个是RSS.php URL服务于另一个下载器。该下载器实现了比如动态导入表重构这样的混淆。下载器的最终目标是与位于https://msiofficeupd[.]com/api/F27F84EDA4D13B15/2的C2服务器联系来发送日志并等待响应。它将响应看作是binary blob,在内存中加载并执行。下载器执行的payload就是前面描述的Buhtrap后门,但也可能存在其他的payload。

Android/Spy.Banker

研究人员还在GitHub仓库中发现了一个安卓组件,而且只在2018年11月1日出现在master分支1天。除此之外,没有发现该恶意软件主动分发的迹象。

该安卓组件以APK的形式保存于GitHub中,而且是严重混淆的,恶意行为隐藏在APK中的加密JAR中,使用RC4加密,密钥如下:

key = [
0x87, 0xd6, 0x2e, 0x66, 0xc5, 0x8a, 0x26, 0x00, 0x72, 0x86, 0x72, 0x6f,
0x0c, 0xc1, 0xdb, 0xcb, 0x14, 0xd2, 0xa8, 0x19, 0xeb, 0x85, 0x68, 0xe1,
0x2f, 0xad, 0xbe, 0xe3, 0xb9, 0x60, 0x9b, 0xb9, 0xf4, 0xa0, 0xa2, 0x8b, 0x96
]

同样的密钥和算法也被用来加密字符串。JAR位于APK_ROOT + image/files文件中。文件的前4个字节含有加密JAR的长度,就在长度域后面。

解密文件后,发现它就是Anubis。该恶意软件的功能包括:

· 录音

· 截屏

· 获取GPS位置

· 记录键盘

· 加密设备数据并进行勒索

· 发送垃圾邮件

C2服务器有:

· sositehuypidarasi[.]com

· ktosdelaetskrintotpidor[.]com

研究人员还发现恶意软件会使用Twitter作为通信信道来提取另一个C2服务器。样本使用的twitter账户为@JohnesTrader,该账户目前已无法使用。

恶意软件还有一个要攻击的安卓设备上的应用列表。攻击的目标主要是全球的银行应用、电商应用和加密货币应用。

MSIL/ClipBanker.IH

该活动传播的另一个组件是2019年3月传播的.net框架的Windows可执行文件。大多数的版本都使用ConfuserEx v1.0.0。与ClipBanker变种类似,该组件也会劫持剪贴板,攻击部分加密货币,而且它会使用IP Logger服务来窃取比特币的WIF私钥。

防御机制

除了使用反调试、反复制和反修改机制外,恶意软件还采用了安全产品和虚拟机的检测机制。

为了检查是否运行在虚拟机上,它使用Windows内置的WMI命令行(WMIC)来查询关于BIOS的信息:

wmic bios

然后将命令行的结果进行分析来寻找特定的关键词:

VBOX, VirtualBox, XEN, qemu, bochs, VM

为了检测安全产品,恶意软件会使用ManagementObjectSearcher API发送一个Windows Management Instrumentation (WMI)查询到Windows安全中心,如图10所示。Base64解码后,调用如下:

ManagementObjectSearcher(‘root\\SecurityCenter2’, ‘SELECT * FROM AntivirusProduct’)

图10 – 安全产品检测路径

恶意软件还会检查CryptoClipWatcher是否运行,如果运行就暂停进程的所有线程来绕过保护。

驻留

在研究人员分析的版本中,恶意软件会将自己复制到%APPDATA%\google\updater.exe,并在Google目录中设置隐藏的flag。然后修改Windows注册表Software\Microsoft\Windows NT\CurrentVersion\Winlogon\shell的值,并加到updater.exe的路径后。因此,每当用户登陆,恶意软件就会执行。

恶意行为

.NET恶意软件会监控剪贴板的内容,寻找加密货币地址,如果找到就用恶意软件运营者的地址替换。图11就是基于代码中的enum(枚举)来处的攻击者的目标地址。

image.png

图11 – 支持的地址类型的Enum symbol

对每个地址类型都有相关联的正则表达式。STEAM_URL值是劫持流交易提供系统,用于检测剪贴板内容的正则表达式有:

\b(https:\/\/|http:\/\/|)steamcommunity\.com\/tradeoffer\/new\/\?partner=[0-9]+&token=[a-zA-Z0-9]+\b

窃取信道

除了替换剪贴板的内容外,.NET恶意软件还会攻击Bitcoin WIF私钥、Bitcoin Core钱包和Electrum Bitcoin钱包。恶意软件使用iplogger.org作为窃取信道来获取WIF私钥。为此,运营者会将私钥数据加入到User-Agent HTTP首部,如图12所示。

图12 – 含有窃取的数据的IP Logger console

在窃取钱包时,攻击者并没有使用iplogger.org,可能的原因就是 IP Logger的web接口的User-Agent域的255字符的限制。因此攻击者使用了另一种方法,另一个窃取服务器保存在环境变量DiscordWebHook中。令研究人员疑惑的是该环境变量在代码中从未设置过。这也说明该恶意软件可能尚在开发中。还有一个线索就是恶意软件含有两个iplogger.org URL。其中一个到URL的请求中, Referer域的值加上了DEV /,在另一个样本中使用的是DevFeedbackUrl。基于环境变量的名字,研究人员认为攻击者计划使用合法服务Discord,滥用其webhook系统来窃取加密货币钱包。

本文翻译自:https://www.welivesecurity.com/2019/04/30/buhtrap-backdoor-ransomware-advertising-platform/如若转载,请注明原文地址: https://www.4hou.com/typ/17815.html
点赞 1
  • 分享至
取消

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

扫码支持

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

发表评论