概述
多年来,Proofpoint的研究人员一直在追踪第一阶段下载程序的使用情况,这些程序被威胁者用于在恶意邮件活动期间或之后安装其他形式的恶意软件。特别是在过去两年中,这些下载程序变得越来越健壮,提供了高级的分析和定位功能。
更重要的是,下载者和其他恶意软件如僵尸网络和银行业务特洛伊木马将勒索软件流移到主要有效载荷,使威胁演员在次要感染中部署一系列恶意软件的灵活性。例如,最普遍的烟雾装载机之一已被广泛使用,以删除ursnif和技巧银行的特洛伊木马等有效载荷,以及使用自己的模块进行凭证和其他信息和数据窃取,以及其他恶意功能。
自2019年8月下旬以来,Proofpoint的研究人员一直在跟踪一种名为布尔的新型模块化装装机的开发和销售。Buer具有与Smoke Loader竞争激烈的特点,正在积极地在突出的地下市场销售,并旨在使用演员寻求一个交钥匙,现成的解决方案。
竞选活动
2019年8月28日
8月28日,校对点研究人员观察了似乎回复早期合法电子邮件对话的恶意电子邮件。它们包含了使用Microsoft Office宏下载下一阶段有效载荷的Microsoft Word附件。
图1:在2019年8月28日的活动中使用的Microsoft Word附件示例
我们观察到下一阶段的有效负载从url下载,包括:
hxxp: / / jf8df87sdfd.yesteryearrestorations net/gate.php。
hxxp: / / 93345 fdd.libertycolegios com/gate.php。
扔下的有效载荷被命名verinstere222.xls或者verinstere33.exe(演员在那个时期使用的命名惯例)。而不是Ursnif的梦想变体负载通常与这个参与者相关联,它是一个没有文档记录的加载器,以前没有在野外观察到。
在接下来的9月和10月的几个星期里,Proofpoint的研究人员和信息安全社区[1]的其他成员观察到来自同一个参与者的几个活动,要么是放弃Ursnif的Dreambot变体,要么是这个新的加载器。
2019年10月10日
10月10日,Proofpoint的研究人员观察到澳大利亚的一个恶意广告活动,重新定向到辐射开发工具包(EK),丢弃了新的装载机。
图2:辐射EK利用易受攻击的浏览器进行HTTP网络流量跟踪
装载程序然后丢弃了几个第二阶段的恶意软件载荷,包括KPOT stealer, Amadey和Smoke loader。
2019年10月21日
自7月初以来,Proofpoint的研究人员观察到大约100个涉及Ostap[2]的活动几乎完全加载了the Trick的几个实例。然而,在21日这天,Proofpoint的研究人员发现了一些恶意的电子邮件,其主题是"处罚通知# PKJWVBP "包含Microsoft Word附件。文档中包含的宏,如果启用,将执行Ostap。我们观察到Ostap从哪里下载这个加载器
hxxps: / / 185.130.104[] 187 /娜娜/ kum.php吗?π= 18 b(修订)
然后从C&C中加载了The Trick“ono22”:garrisontx(。)
图3:启用恶意文档中的宏后观察到的网络流量
图4:在10月21日广告系列中使用的Microsoft Word附件示例
市场与特色分析
因为我们开始在多个不同的广告系列中观察到这种新装载机,我们预计它将在地下市场销售给多个演员。此外,我们从8月16日发现了一个地下论坛的广告,地下论坛描述了名为“Buer”的加载器,它与上述广告系列中观察到的恶意软件的功能相匹配。
在接下来的几周内添加和宣传的功能与这些活动中发现的加载器的发展完全匹配。
我们从一个布告栏上找到了作者用俄语写的文字,要求为这个恶意软件支付400美元,并提供他们为潜在客户安装这个软件的服务,以便让它运行起来。作者还指出,更新和bug修复是免费的,但“重新构建到新地址”需要额外支付25美元。
以下文字也是Proofpoint从地下市场中提取的,据推测是恶意软件的作者所写,是俄文原文中所描述的装载程序的功能总结:
图5。文字从地下论坛帖子描述布尔装载机机器人功能
类似地,广告还列出了控制面板功能。作者指出,模块化机器人完全由CORIC中编写的控制面板写入C,由于编程语言的选择,在客户端和服务器中强调更高的性能。
- 根据描述,机器人的总有效载荷为55到60千字节,用作本机Windows可执行文件和动态链接库,完全在驻留存储器中运行,并且与32位和64位Microsoft Windows操作系统兼容。
- 机器人通过一个HTTPS连接进行通信,并可以在解密和重建后从控制面板远程更新。
- 作者还注意到,加载器作为受信任应用程序的代理进程运行,并使用用户级权限运行。
- 最值得注意的是,该软件不会在独联体(前苏联国家,如俄罗斯)运行。
该广告描述了服务器和控制面板的以下特性:
- 控制面板也是用。net Core编写的,说明在Ubuntu / Debian Linux服务器系统上安装很容易。
- 服务器提供了广泛的统计数据,包括在线、存活、死亡和总机器人的计数器;实时更新机器人列表;一个文件下载计数器;以及根据操作系统类型、已安装机器人的访问权限和逻辑CPU核心数量来过滤系统的能力。
- 从受感染系统下载的文件以加密形式存储在服务器上,通过令牌授予访问权限。
- 最重要的是,就像Bots本身一样,作者指出,服务器不会处理从联合国成员国内发送的API请求。
论坛帖子还包括Buer Loader和Control Panel(1.1.2版)的技术发行说明。在介绍中,提交人指出,推出装载机现在包括三个步骤 - 如果前两个步骤在受感染系统上不成功,并且进入替代过程失败(例如,由于与隐窝本身的不兼容),加载器将在自己的过程下执行。
发行说明为加载器调用以下内容:
- 加载程序使用FastFlux体系结构。
- 加载器从Microsoft Windows内的可信进程下工作。Memloadex进程现在支持X64 [。] EXE作为可信应用程序。
- MemLoad已经更新,现在支持本地x32 [.]exe。
发布说明列出了控制面板的以下功能:
- API访问是使用支持自签名证书的HTTPS来完成的。
- 支持在面板中编辑任务。用户可以在执行期间停止任务,并更改有效载荷和执行次数。
- 添加了通过Bot ID创建任务的功能。非常适合点负荷。
- 创建任务的一步一步窗口。
- 一个通知,让您在线了解必要的机器人。
- 机器人ID的唯一性增加了。
- 标签已添加到面板中,允许对其进行后续操作进行排序。
- 在表中显示计算机名。
- 提高了加密兼容性。
- 添加机器人的历史。
- 面板现在扩展到Docker (Docker容器支持)。
- 构建研究人员注意:我们假定这个特性是为了便于集成到租用的Docker主机,简化安装,尽管可能是面板/C&C可以安装在损坏的Docker主机上。
- 验证面板上的文件。现在,面板不会错过加载器将无法下载的文件,并将通知客户端。
- 任务现在可以重复。
最后,作者描述了版本1.1.9的以下技术变化。这些都是值得注意的,因为他们证明了恶意软件是活跃的,专业的发展。
- 加载器获得了一种新的方法,用于为本地文件启动External。该方法的优点是惟一性,并且没有通过加载器创建进程/ ShellExecute。启动会生成一个不需要任何命令的受信任进程。
- 该面板能够标记所有已执行特定任务的机器人。这将允许用户将有效负载分配给特定的机器人组。
- 实现集成API。可用文档。
- 增加了在代理模式下通过引用发送文件的能力。文件以加密的形式传输给机器人。
- 按国家计算机器人的bug已经修复,并添加了其他改进。
控制面板屏幕截图
下面的控制面板屏幕截图包含在地下广告中,显示了一些可供客户使用的后端功能,包括遥测监测、主机过滤等。
图6:Buer Loader C&C的控制面板登录UX
图7:布尔控制面板的机器人遥测监控屏幕。
图8:布尔控制面板的暗模式机器人遥测监控画面
图9:控制面板过滤视图,描述了通过Microsoft Windows架构过滤的远程机器人。
图10:描述加载器任务的文件管理的控制面板视图
图11:按用户权限排序的远程机器人的控制面板视图。
图12:控制面板视图,任务状态
图13:控制面板视图,任务的创建
恶意软件分析
Buer Loader是一个新的下载恶意软件,下载并执行其他有效负载。
Anti-analysis特性
加载器包含一些基本的反分析功能:
- 通过检查过程环境块(PEB)和线程环境块(TEB)中的NTGLOBALFLAG来检查调试器
- 使用Red Pill[4]、No Pill[5]和相关机制检查虚拟机
- 检查区域设置以确保恶意软件在特定国家内未运行(图14)
图14:恶意软件检查,以确保它没有在特定国家运行
坚持
持久性是通过配置Registry RunOnce条目来设置的。根据版本的不同,注册表项将直接执行恶意软件或安排一个任务来执行它。
加密的字符串
这个示例包含一个加密字符串的函数。
图15:字符串的解密序列
以下函数是如何使用Jython解密Ghidra中加密的字符串的示例:
图16:字符串的解密序列(Python版本)
图17:字符串解密示例
Windows API呼叫
此示例使用散列算法来解析其大部分Windows API调用。散列算法可确保API名称的每个字符是大写字母。然后,通过13旋转右(ROR)每个角色并将它们加在一起。
图18:解决Windows API调用的哈希算法
下面的函数是如何使用Python帮助解析API调用的示例。
图19:用于帮助解析散列Windows API调用的示例Python脚本
下表包含使用的一些选定哈希和它们相应的Windows API名称列表:
createmutexw |
0xed619452 |
OpenMutexW |
0 x7bffe25e |
CreateProcessW |
0xb4f0f46f. |
WinHttpOpen |
0 xaf7f658e |
WinHttpCrackUrl |
0x8EF04F02. |
WinHttpConnect |
0x9f47a05e. |
WinHttpOpenRequest |
0x1dd1d38d. |
表1:Windows API调用选定的散列
命令与控制
命令和控制(C&C)函数是通过HTTP(S) GET请求处理的。命令信标的示例如图20所示:
图20:命令信标示例
这些请求转到“更新API”并包含加密参数。此参数可以通过以下方式解密:
- Base64解码
- 十六进制解码
- RC4解密(分析样本中使用的密钥为“CRYPTO_KEY”)
明文参数的示例如下:
88A5E68A2047FA5EBDC095A8500D8FAE565A6B225CE94956E194B4A0E8A515AE | AB21D61B35A8D1DC4FFB3CC4B5094C31B8C00DE3FFAAAA17CE1AD15E876DBD1F | Windows 7 | X64 | 4 |管理| RFEZOWGZPBYYOI
它包含以管道分隔的数据,包括:
- BOT ID(SHA-256 HEX摘要各种系统参数,如硬件配置文件GUID和名称,计算机名称,卷序列号和CPUID)
- 一个自己可执行图像的SHA-256哈希
- Windows版本
- 架构类型
- 的处理器数量
- 用户权限
- 电脑名称
示例命令信标响应如图21所示:
图21:命令信标响应示例
它可以像上面的请求参数一样被解密,除了十六进制编码的字节是用破折号分隔的。一个明文响应示例如图22所示:
图22:明文命令信标响应
解密的文本是一个包含有关如何下载和执行有效载荷的各种选项的JSON对象:
- 类型-有两种类型:
- 更新-更新自我
- Download_and_exec——下载并执行
- Options -指定要下载的有效载荷的选项:
- 哈希 - 仅适用于“更新”类型以确定新更新是否可用
- X64 -负载是否为64位
- 文件类型-在分析样本中不使用
- 组装型 - 未用于分析的样品
- AccessToken—用于下载有效负载(见下文)
- External -指示负载是从C&C下载还是从外部URL下载
- 方法-执行方法:
- exellocal - create进程
- Memload -注入并手动加载负载
- Memloadex——注入并手动加载负载
- loaddllmem - 注入和手动加载有效载荷
- 参数-传递到命令行上的参数
- pathToDrop—不用于分析样本
- autorun - 指示是否为有效载荷设置注册表RANCE持久性
- 模块 - 请参阅下面的模块部分
- 超时 - 未在分析的样本中使用
从C&C服务器下载的有效载荷是通过向“下载API”如图23所示:
图23:从C&C下载有效载荷
Plaintext请求参数的示例如下所示:
88A5E68A2047FA5EBDC095A8500D8FAE565A6B225CE94956E194B4A0E8A510AE | 58007044-67D4-4963-9F5F-400DFBC69E74
它包含机器人的ID和“访问”从命令信标响应。如果从C&C下载有效负载,则使用RC4对其进行加密。在分析的样本中,关键是“crypto_key”。
模块
命令信标响应包含“模块”列表。校样点研究人员尚未观察到野外使用的Buer模块,但基于该列表的代码将包含模块AccessTokens。通过向辅助oken发送模块文件名来查询“模块API”终极动员令。然后使用“downloadmodule api”。下载并解密后,将使用“loaddllmem”方法。
结论
一款新的下载工具,Buer,最近出现在各种各样的活动中,通过恶意广告引导开发工具;通过Ostap作为次要负载;并作为主要有效载荷下载恶意软件,如欺骗银行木马。
新装载机具有强大的地理石工程,系统分析和反分析功能,目前正在销售在地下论坛上,附加值设置服务。俄语作者正在积极开发带有复杂控制面板的下载器和丰富的功能集,使恶意软件在地下市场中具有竞争力。
下载器是在C中写入的,而控制面板是用.NET核心写入的,指示性能和小型下载占用的优化,以及轻松安装Linux服务器上的控制面板的能力 - 内置支持Docker容器的支持进一步促进其用于恶意目的的租用主机的扩散,以及可能妥协的主持人。后一种功能包含在其广告功能和发行说明中。
参考文献
[1]https://twitter.com/malware_traffic/status/1182456890095259652.
[2]https://www.cert.pl/en/news/single/ostap-malware-analysis-backswap-dropper/
[4]https://www.aldeid.com/wiki/X86-assembly/Instructions/sidt
[5]https://www.aldeid.com/wiki/x86-assembly/instructions/sldt.
妥协指标(IOC)
国际奥委会 |
国际奥委会类型 |
描述 |
fa699eab565f613df563ce47de5b82bde16d69c5d0c05ec9fc7f8d86ad7682ce |
SHA256. |
2019-08-28 |
http [://45.76.247 [.177:8080 / api /更新/ |
URL. |
布尔C&C回调 2019-08-28 |
6 c694df8bde06ffebb8a259bebbae8d123effd58c9dd86564f7f70307443ccd0 |
SHA256. |
2019-09-03 |
197163 b6eb2114f3b565391f43b44fb8d61531a23758e35b11ef0dc44d349e90 |
SHA256. |
2019-09-24 |
https [: / / 173.212.204 [.171 / api /更新/ |
URL. |
布尔C&C回调 2019-09-24 |
9E8DB7A722CC2FA13101A306343039E8783DF66F4D1BA83ED6E1FE13EBAEC73 |
SHA256. |
2019-10-16 (影响下降) |
(http: / / 134.0.119 [.53:8080 / api /更新/ |
URL. |
布尔C&C回调 2019-10-16 |
ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f |
SHA256. |
2019-10-21 (Ostap下降) |
https [: / / garrisontx [.us / api /更新/ |
URL. |
布尔C&C回调 2019-10-21 |
https[: / / 185.130.104[.187 /娜娜/ kum.php吗?π= 18 b |
URL. |
Ostap实例删除布尔2019-10-21 |
753276 c5887ba5cb818360e797b94d1306069c6871b61f60ecc0d31c78c6d31e |
SHA256. |
Buer 2019-11-28 |
直ffload01[上| 185.125.58[厚 ffload01 [.top | 185.186.141 [.129 |
领域| IP. |
布尔C&C 2019-11-28 |
ET和ETPRO Suricata/Snort签名
2029077 || ET TROJAN Buer Loader Update Request
2029079 ||ET Trojan Buer Loader Response
2029078 ||ET Trojan Buer Loader下载请求
2839684 || ET TROJAN Buer Loader成功载荷下载
2029080 || SSL/TLS证书观察(Buer Loader)
订阅校正博客