新的恶意软件躲避超过50个AV扫描器检测-BRc4
2022年7月7日
安全研究人员表示,他们发现了一种狡猾的新型恶意软件,市场上几乎所有的杀毒软件都无法检测到它。虽然他们没有对现有的每一个杀毒软件进行测试,但他们确实将样本上传到了VirusTotal,网站上的56个杀毒软件都未能检测到恶意载荷。
这种恶意软件如此熟练地逃避检测,因为软件被专门设计,这正是它“特别危险”的原因。
“该样本包含与Brute Ratel C4 (BRc4)相关的恶意载荷,这是市场上最新的红队和对抗性攻击模拟工具。Palo Alto公司Unit 42威胁情报部门的研究人员在一篇博客文章中表示:“虽然这种功能已经成功地避开了注意力,不像Cobalt Strike那样为人所知,但它的复杂程度并不逊色。”
根据恶意软件的自我描述,它的开发人员在对一些顶级端点检测和响应(EDR)及防病毒引擎进行逆向工程后构建了该软件。这也是它如此难以被发现的部分原因。这也是Unit 42的研究人员认为这是国家资助的恶意软件的部分原因。
另一个原因是分发路径。它模拟成简历文档,但被打包成一个自压缩的ISO文件,其中包含一个Windows快捷方式(LNK),一个恶意有效负载DLL,以及一个合法的微软OneDrive更新程序副本。一旦机器被感染,潜在的伤害就在等待着它—它可以下载更多的恶意软件、截屏、将敏感文件上传到命令和控制中心等等。
研究人员补充到:“总的来说,我们认为这项研究意义重大,因为它不仅确定了一种新的红队能力,很大程度大多数网络安全厂商无法检测,但更重要的是,具有日益增长的用户基础的能力,正在利用国家支持部署。”
这个卑鄙的恶意软件开始时只是一个爱好,后来演变成了一个全职的开发项目。最新版本于5月中旬上市,每位用户售价2500美元。预计开发商将在明年从这个软件中获得超过100万美元的收入。
幸运的是,Unit 42与网络威胁联盟(CTA)的其他成员分享了它的发现,所以希望防病毒制造商能够努力更新他们的扫描器,至少到下一个版本能够检测。和往常一样,确保你使用的反病毒软件是最新的。
https://hothardware.com/news/evasive-malware-dodges-detection-over-50-av-scanners
(完)
当渗透测试工具变质:红队工具被恶意分子滥用
Palo Alto Unit 42 威胁情报部门 2022年7月5日
Unit 42一直在寻找新颖和独特的恶意软件样本,匹配已知的APT特征和战术。5月19日,一个这样的样本被上传到VirusTotal,在那里,它得到了所有56个评估它的供应商的良性评价。除了关注明显的检测问题,我们认为该样本在恶意载荷、命令和控制(C2)以及打包方面也很重要。
该样本包含与Brute Ratel C4 (BRc4)相关的恶意载荷,这是市场上最新的红队和对抗性攻击模拟工具。虽然它尽力避免被注意,不像同类的Cobalt Strike那样为人所共知,但它的复杂程度一点不低。相反,该工具独特的危险之处是,它专门设计防止端点检测和响应(EDR)及防病毒(AV)软件的检测。上面提到的VirusTotal上的厂商缺乏对它的检测可以清楚地证明它在这方面的有效性。
对于C2服务器,我们发现样本通过端口443和位于美国的Amazon Web Services (AWS) IP地址通讯。而且,监听端口上的X.509证书被配置为使用组织名称“Microsoft”和组织单元“Security”来模拟Microsoft。此外,根据证书和其他组件,到目前为止,我们一共发现了41个恶意IP地址,9个BRc4样本,以及北美和南美的另外3个组织,他们都受到了该工具的影响。
这个独特样本的打包方式,与已知的APT29使用的技术及其最近的活动保持一致,这些技术利用了知名的云存储和在线协作应用程序。具体来说,这个样本被打包成一个独立的ISO。在ISO中包含一个Windows快捷方式(LNK)文件,一个恶意DLL和一个微软OneDrive更新程序的合法副本。试图从解压后的文件夹执行无害应用程序会导致通过一种称为DLL搜索顺序劫持的技术将恶意负载作为依赖项加载。然而,虽然仅仅打包技术还不足以确定该样本属于APT29,但这些技术表明,该工具的用户现在正在使用国家间谍技术部署BRc4。
总的来说,我们认为这项研究意义重大,因为它不仅确定了大多数网络安全厂商无法察觉的新的红队能力,而且更重要的是,我们评估的功能,用户基数日益增长,现在利用国家部署技术。本博客提供了BRc4的概述、恶意样本的详细分析、该样本的打包与最近的APT29样本的比较,以及可用于搜索此活动的入侵指标(IoC)列表。
我们鼓励所有安全厂商创建保护措施来检测来自此工具的活动,并鼓励所有组织对来自此工具的活动保持警惕。
Palo Alto Networks的客户通过Threat Prevention、Cortex XDR和WildFIre恶意软件分析从本博客中描述的威胁获得保护。
Brute Ratel C4概述
Brute Ratel C4于2020年12月首次作为渗透测试工具亮相。当时,它的开发是生活在印度的安全工程师Chetan Nayak(又名偏执忍者)的兼职工作。根据他的网站(Dark Vortex),Nayak积累了数年在西方网络安全厂商的高级红队工作的经验。在过去的2年半里,Nayak在特性、功能、支持和培训方面对该工具进行了渐进式的改进。
2022年1月,纳亚克辞去了他的全职工作,去从事全职开发和培训工作。同月,他发布了Brute Ratel v0.9.0(Checkmate),这被描述为“迄今为止最大的一次发布”。
图1 checkmate 发布说明。
(Checkmate 发布说明:“Brute Ratel v0.9.0(Checkmate)是迄今为止最大的版本。这个版本对Brute Ratel的加载器、反射DLL、shellcode和被调用的内部API进行了重大更改。正如旧版本中详细描述的那样,添加了一些系统调用注入技术来逃避检测,但它们仅限于BRc4的反射DLL加载器和Windows的VEH(Vectored Exception Handler)API。这个版本使用了一个更新版本的系统调用,几乎可以HOOK所有。此版本是在对几个顶级EDR和防病毒DLL进行逆向工程之后构建的。在发布说明中可以找到这些更改的快速摘要。)
然而,更值得关注的是,发布描述中还特别指出,“此版本是在对几个顶级EDR和反病毒DLL进行逆向工程之后构建的。”
我们的分析强调了网络安全行业内部正在进行的有关开发和使用可用于攻击目的的渗透测试工具的道德问题的相关辩论。
BRc4目前标榜自己为“红队和对抗模拟的定制指挥和控制(C2)中心”。5月16日,Nayak宣布该工具已经在350个客户中增加了480名用户。
最新版本Brute Ratel v1.0(Siciian Defense)于5月17日发布,目前售价为每用户2500美元,每次更新2250美元。基于这样的价格和客户基础,BRc4在未来一年的销售额将超过100万美元。
在特性方面,BRc4公布了以下功能:
-
SMB和TCP有效负载提供了在合法网站(如Slack, Discord, Microsoft Teams等)上编写自定义外部C2通道的功能。
-
内置调试器用于检测EDR userland hook。
-
保护内存中软件不被EDR和防病毒软件检测。
-
在运行中直接实现Windows 系统调用。
-
通过HTTP、HTTPS、DNS、HTTPS、SMB和TCP连接外网。
-
LDAP Sentinel提供了一个丰富的图形界面接口,用于对域或森林(forest)的各种LDAP查询。
-
多个命令和控制通道,多种选项,如SMB、TCP、WMI、WinRM和通过RPC管理远程服务。
-
截图。
-
x64 shellcode加载器。
-
反射和目标文件加载器。
-
解码KRB5 ticket并将其转换为hashcat。
-
修复Windows事件跟踪(ETW)。
-
修复防恶意软件扫描接口(AMSI)。
-
创建Windows系统服务。
-
上传和下载文件。
-
通过CreateFileTransacted创建文件。
-
端口扫描。
BRc4介绍
2022年5月19日,最初上传到VirusTotal的Roshan_CV.iso文件,显示一切正常,双击后,如下:
文件有一个假冒的word图标,显示为用word写的个人简历,从图中可以看出,ISO文件是2022年5月17日生成的,很偶然,和BRc4发布日期一致。
如果用户双击这个文件,就会在机器上安装Brute Ratel C4。
默认在windows操作系统上,隐藏文件不显示,实际上,还有四个隐藏文件。(注意两个dll文件的区别!)
用户可见的诱饵文件,是一个windows 快捷方式,属性如下:
当双击Roshan-Bandara_CV_Dialog时,会发生以下操作:
-
Cmd.exe启动参数为: / c start OneDriveUpdater.exe。/c参数表明cmd.exe通过Windows启动命令从当前工作目录启动onedriveupdate .exe并退出。
-
OneDriveUpdater.exe是一个由微软数字签名的二进制文件,用于将数据从本地机器同步到云端。它并不是恶意的,而是被滥用来加载攻击者的DLL。一旦onedriveupdate .exe被执行,会发生以下操作。
-
由于Version.dll是OneDriveUpdater.exe的一个依赖DLL,并且与OneDriveUpdater.exe存在于同一个目录中,因此它将被加载。
-
Version.dll已被攻击者修改,以加载一个加密的有效负载文件onedriver.update。将先解密文件,并在内存中加载shellcode的第一阶段。为了保持代码功能,攻击者使用DLL API代理将请求转发到名为vresion.dll的合法version.DLL。Vresion.dll是攻击者的version.dll的一个依赖文件,将与攻击者的version.dll一起加载。
-
内存中的代码,即Brute Ratel C4,在RuntimeBroker.exe进程空间中作为Windows线程执行,并开始与IP 174.129.157.251在TCP端口443上通信。
下图概述了这个过程。
对version.dll文件的修改
version .dll是一个用c++编写的合法Microsoft文件的修改版本。植入的代码用于加载和解密一个加密的有效载荷文件。解密的有效载荷是shellcode(x64汇编),它进一步用于在主机上执行Brute Ratel C4。
为了让Version.dll维护onedriveupdate .exe的代码功能,攻击者包括合法的数字签名微软version.dll,并将其命名为vresion.dll。每当onedriveupdate .exe调用攻击者的Version.dll时,该调用被代理到vresion.dll。因此,攻击者的version.dll将作为一个依赖文件加载vresion.dll。
当DLL通过DLL_PROCESS_ATTACH加载时,植入的代码开始工作,并在DLLMain子例程执行以下操作:
-
1. 枚举所有进程,找到Runtimebroker.exe的进程ID (PID)。
-
2. 从当前工作目录读取载荷文件OneDrive.update。
-
3. 使用步骤1中的进程ID调用Windows API ntdll ZwOpenProcess。以完全控制访问方式打开该进程。
-
4.使用XOR加密算法解密有效载荷文件,密钥为28字节:jikoewarfkmzsdlhfnuiwaejrpaw
-
5. 调用Windows API NtCreateSection,它创建了一个可以在进程之间共享的内存块。此API用于与Runtimebroker.exe和Version.dll共享内存。
-
6. 两次调用Windows API NtMapViewOfSection。第一个调用将解密有效负载的内容映射到当前进程内存空间,第二个调用将内容映射到Runtimebroker.exe内存空间。
-
7. 调用Windows API NtDelayExecution并休眠(暂停执行)约4.27秒。
-
8. 调用Windows API NtCreateThreadEx。这个API启动一个新线程,将内存的起始地址复制到Runtimebroker.exe中。
-
9. 调用Windows API NtDelayExecution并休眠(暂停执行)约4.27秒。
-
10. 完成。
上面总结的技术通过未被公开说明的Windows NTAPI调用使用进程注入。解密的有效载荷现在在runtimebroker.exe内存空间中运行。
X64 Shellcode -解密OneDrive.Update
解密的有效载荷文件是x64 shellcode(汇编指令),它涉及一系列自我解包操作。汇编指令包括多个push和mov指令。这样做的目的是将Brute Ratel C4代码(x64汇编)每次8个字节复制到堆栈上,并最终将其重新组装到一个内存空间中执行-去掉MZ头的DLL。使用一系列的push和mov指令可以逃脱内存扫描,因为shellcode是按块组装的,整个代码库暴露的话就会被扫描。
解包涉及25,772次push和25,769次mov指令。完成后,代码执行以下操作。
-
1. 使用API哈希查找NtAllocateVirtualMemory的哈希。所有API调用都是通过API哈希查找进行的。
-
2. 为NtAllocateVirtualMemory从系统服务调度表(SSDT)中解析系统调用索引。所有的Windows API函数都是通过系统调用来实现的,这是Brute Ratel C4(系统调用任何对象)的一个特性。
-
3. 调用Windows API NtAllocateVirtualMemory,分配0x3000字节的内存。
-
4. 对NtAllocateVirtualMemory进行第二个Windows API调用,它为Brute Ratel C4使用的配置文件分配内存。
-
5. 将在前面步骤中压入堆栈的shellcode复制到新分配的内存段。
-
6. 使用Windows API调用NtProtectVirtualMemory更改新分配的内存块的保护。
-
7. 使用新分配内存的起始地址调用NtCreateThreadEx,并将配置数据作为参数传递。
-
8. 完成。
配置数据作为参数传递给新线程的起始地址。该数据包括Brute Ratel C4加密配置的。数据采用base64编码和rc4加密。解密后的内容如下:
每个参数都用管道符合分开,可以看到ip地址和端口号。
目标网络基础设施
IP 174.129.157.251托管在亚马逊AWS上,Palo Alto Networks Cortex Xpanse的历史显示,该IP从2022年4月29日到2022年5月23日期间一直开放TCP端口443,并使用一个自签名SSL证书冒充微软安全:
一旦SSL握手IP 174.129.157.251,下面的数据会通过HTTP POST发送到Brute Ratel C4监听端口。
识别OneDrive.update
为了识别与Brute Ratel C4相关联的内存中解密载荷,我们基于内存中唯一的汇编指令push和mov进行了搜索。这些指令用于构建shellcode的第二层。在VirusTotal中搜索,我们发现了第二个具有相同的push和mov指令的示例:
文件名:badger_x64.exe
最初,我们注意到的是包含“badger”这个词的文件名。根据Brute Ratel C4网站,“badger”这个词代表用于远程访问的有效载荷。当该样本上传到VirusTotal时,66家厂商中只有两家认为该样本是恶意的。目前,有12家厂商将该样本识别为恶意,8家将该样本归类为“Brutel”,进一步支持我们的内存代码在某种程度上与Brute Ratel C4相关联。
当badger_x64.exe使用push和mov指令完成后,它会与OneDrive.update一样,使用相同的API哈希Windows API调用。但不使用直接系统调用(Brute Ratel C4的用户配置功能)。
像OneDrive.update样本,传递给调用线程的参数是Brute Ratel C4的配置数据。在这个样本中,数据不是base64编码或rc4加密的,以明文方式传递。下面是这个示例的配置:
根据以下结论,我们可以得出OneDrive.update 确实Brute Ratel C4相关。
-
配置文件结构是相同的,并使用管道来划定字段。
-
同样的Windows调用模式用于通过NtCreateThreadEx/CreateThread运行第二阶段的shellcode。
-
将shellcode复制到内存分配的函数指令相同。
-
第二阶段两个shellcode样本都有以下引用单词“badger”的字符串。注意:OneDrive.update样本,RC4对这些字符串进行加密。
-
Badger*的名称和BRc4 GitHub网站上列出的导出名称一致。
文件badger_x64.exe是一个独立的x64可执行文件,运行Brute Ratel C4(badger载荷),而解密的OneDrive.update文件是Brute Ratel C4的内存组件,它是使用攻击者修改后的DLL (version.dll)执行的。
Badger_x64.exe应用
在验证badger_x64.exe和OneDrive.update都是BRc4有效载荷,我们开始分析第二个样本的使用情况。
VirusTotal记录显示,该样本是乌克兰的一名网络用户于2022年5月20日上传的。巧合的是,这恰好是在Roshan_CV.ISO上传之后的第二天。
如上所述,样本被配置为调用159.65.186.50的端口443。Palo Alto Networks Cortex Xpanse的历史显示,该端口从2022年5月21日至6月18日开放,使用上面看到的相同的“Microsoft Security”自签名SSL证书。有了这个时间轴,值得注意的是,在C2基础设施被配置为侦听回调之前,样本实际上已经上传到VirusTotal。
评估159.65.186.50的netflow连接。在此期间窗口显示了几个来自乌克兰IP(213.200.56.105)的端口22,443和8060的连接。我们认为这个乌克兰地址很可能是一个用于管理C2基础设施的常驻IP。更深入地研究213.200.56.105进一步揭示了UDP端口33445上的几个流。这个端口常常由Tox使用,这是一种提供端到端加密的安全点对点聊天和视频应用程序。
检查159.65.186.50上端口443的其他连接。我们确认了几名疑似受害者,包括一个阿根廷组织、一家提供北美和南美内容的IP电视供应商,以及墨西哥的一家主要纺织制造商。巧合的是,最近尝试浏览纺织品制造商的网站时,会出现一个500内部服务器错误消息。
考虑到这些受害者的地理分布、与乌克兰IP的上游连接以及其他几个因素,我们认为BRc4不太可能被部署来支持合法和批准的渗透测试活动。
其他样本和基础设施
在过去的一年里,伪造的微软安全X.509证书已经被链接到41个IP地址。这些地址遵循全球地理分布,主要由大型虚拟专用服务器(VPS)托管提供商拥有。除了上面讨论的两个样本之外,我们还确定了另外7个BRc4样本,时间可追溯到2021年2月。
结论
新的渗透测试和对抗模拟功能的出现具有重要意义。然而,更令人担忧的是BRc4在击败现代防御EDR和防病毒软件检测能力方面的有效性。
在过去的两年半时间里,这个工具已经从一个业余爱好发展成了一个全职的开发项目,并且拥有越来越多的客户。随着这一客户群扩大到数百人,该工具在网络安全领域获得了越来越多的关注,包括合法渗透测试人员和恶意网络行为者。
本博客中描述的两个样本的分析,以及用于打包这些有效载荷的先进间谍技术,表明恶意网络攻击者已经开始采用这种能力。我们认为,所有安全供应商都必须创建保护措施来检测BRc4,所有组织都必须采取主动措施来防范这种工具。
请注意,显示的Microsoft名称和标识试图冒充合法组织,并不代表与Microsoft的实际隶属关系。这种模拟并不意味着微软的产品或服务存在漏洞。
https://unit42.paloaltonetworks.com/brute-ratel-c4-tool/
(完)
原文始发于微信公众号(安全行者老霍):BRc4介绍-新的红队及对抗性攻击模拟工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论