安全分析与研究
专注于全球恶意软件的分析与研究
前言
一转眼,2022年已经接近尾声了,还有一个半月的时间就要到2023年了,快到年底了,又要开始做明年的技术规划以及目标制定了,安全要做的事还挺多的,黑客的攻击手法和攻击武器在不断的变化,安全研究人员也要时刻保持学习,不断进步,跟踪分析研究最新的安全攻击技术和攻击武器,最近一年己经有越来越多的新型恶意软件家族被全球各大黑客组织进行APT攻击和勒索攻击等黑客攻击活动当中,同时黑客组织也在不断更新和维护全球流行的恶意软件家族,比如像Emotet这种复杂的顶级恶意软件家族也在消失大约半年之后又开始流行起来,而且攻击态势非常猛烈。
前段时间Brute Ratel C4攻击武器平台被泄露了,对于一些新的攻击技术和攻击样本,笔者一直本着“不放过”的研究态度,只要一有时间就会去深入的分析和研究一下,就拿之前朋友发给笔者泄露的Brute Ratel C4 1.2.2版本以及两个真实的攻击案例样本进行分析与研究,供大家参考学习。
Brute Ratel C4是一款类似于Cobalt Strike的商业红队武器框架,每年License收费为2500美元,客户需要提供企业电子邮件地址并在颁发许可证之前进行验证,首个版本Brute Ratel C4 v0.2于2021年2月9日发布,它是由Mandiant和CrowdStrike的前红队队员Chetan Nayak创建的,该工具独特之处在于它专门设计防止端点检测和响应(EDR)和防病毒(AV)软件的检测,是一款新型的红队商业对抗性攻击模拟武器。
与Cobalt Strike的Beacon后门类似,Brute Ratel C4允许红队在远程终端主机上部署Badger后门程序,Badger连接回攻击者的命令和控制服务器,接收服务器端的命令执行相关的恶意行为。
分析
Brute Ratel C4的Badger有多种形式,包含exe、dll和shellcode等,如下所示:
笔者生成HTTP通信协议类型各种不同形式的Badger后门样本,如下所示:
Brute Ratel C4的Badger还有其他三种通信协议类型:SMB、TCP、DOH,如下所示:
使用工具生成的Badger的ShellCode代码badger_x64_ret,如下所示:
前面是一大堆mov和push操作之后,跳转执行到核心函数,如下所示:
通过PEB标志位进行反调试,如下所示:
通过对函数进行ror13 hash计算,然后对比目标函数hash找到需要的函数,如下所示:
检测函数头,是否存在int3断点(0xCC)或者是否被EDR等安全产品HOOK了(0xE9),如下所示:
然后在内存中解密出Badger的核心代码,如下所示:
解密的核心代码抺掉了文件头信息,解密之后,就可以看Brute Ratel的几个核心特征字符串信息了,如下所示:
Badger的ShellCode代码解密过程就分析完了,里面就是Badger的核心代码了,Badger的DLL和SVC服务程序,其实就是把Badger的ShellCode代码封装了一下,核心仍然是Badger的ShellCode加载代码,如下所示:
动态调试先获取指定的函数,再检测这些函数是否被EDR等安全产品HOOK了,然后再传入获取到指定函数的syscall id,如下所示:
执行相关的函数,如下所示:
调用NtAllocateVirtualMemory分配指定的内存空间,然后再把Badger的ShellCode代码拷贝到该内存空间当中,如下所示:
调用NtProtectVirtualMemory修改该内存的属性,如下所示:
修改之后的属性为可执行,如下所示:
调用NtCreateThreadEx启动线程代码,如下所示:
最后调用NtWaitForSingleObject等待线程执行,如下所示:
后面的代码就是此前Badger的ShellCode代码,如下所示:
到此Brute Ratel C4 Badger的Demo样本ShellCode加载器部分的代码基本就分析完成了,Badger的核心代码在后面的实战分析再进行详细分析。
事件
上面笔者利用泄露的工具生成了Brute Ratel C4 Badger的各种Demo样本,并对这些Demo样本ShellCode加载器部分代码进行了逆向分析,现在还需要去分析一些实际的攻击样本,安全研究重在实战应用,作为安全研究人员平时就要多去研究一些真实的安全攻击事件中使用的攻击样本、利用的漏洞以及最新的攻击技术,这些攻击事件中使用的各种攻击武器和攻击技术背后都是真实的黑客组织,也是最有研究价值的,因为有可能你的客户就是这些黑客组织攻击的下一个目标,也有可能在不久的将来你的客户就有可能感染这些最新的攻击武器,Brute Ratel C4虽然才出来一年多的时间,但是已经有主流的勒索病毒黑客组织和APT黑客组织开始使用Brute Ratel C4进行真实的网络攻击,下面笔者就对前段时间真实攻击案例中使用的Brute Ratel C4 Badger进行详细分析,一个是之前APT29组织攻击事件中使用的Brute Ratel真实样本,一个是Black Basta勒索病毒黑客组织攻击事件中使用的Brute Ratel真实样本。
Unit42团队捕获到一例APT29黑客组织利用Brute Ratel C4的安全事件,APT29黑客组织将代码注入到进程中加载执行解密的Brute Ratel C4 Badger的ShellCode代码,整个事件的攻击流程,如下所示:
上图选自Unit42分析团队分析报告,具体的报告链接:
https://unit42.paloaltonetworks.com/brute-ratel-c4-tool/
详细分析恶意DLL样本version.dll,利用WTSEnumerateProcessesA函数枚举进程,如下所示:
调用NtOpenProcess打开进程,如下所示:
在内存中解密之前读取出来的加密的Brute Ratel C4 Badger的ShellCode代码,如下所示:
解密之后,如下所示:
然后再调用NtCreateSection创建Section,如下所示:
调用NtMapViewOfSection函数将section映射到RuntimeBroker.exe进程虚拟内存,并将相关的代码拷贝到RuntimeBroker.exe进程,如下所示:
最后调用NtCreateThreadEx函数执行线程代码,如下所示:
线程代码,就是Brute Ratel C4 Badger的ShellCode加载器代码,如下所示:
Black Basta勒索病毒也是笔者之前重点关注的几十个主流勒索病毒家族之一,该勒索病毒是一款2022年新型的勒索病毒,最早于2022年4月被首次曝光,主要针对Windows系统进行攻击,随后该勒索病毒黑客组织又积极开发更新了Linux版本的攻击样本,详细的报告可以参考笔者此前的文章《Linux版Black Basta勒索病毒针对VMware ESXi服务器》
前不久国外某安全厂商捕获到一例Black Basta勒索病毒黑客组织利用Brute Ratel C4进行勒索攻击活动事件,笔者针对事件中的Brute Ratel C4的攻击样本进行跟踪分析,该样本直接将Brute Ratel C4 Badger的ShellCode代码封装成DLL,如下所示:
对比笔者此前生成的Demo文件,可以发现真实攻击样本与Demo样本的代码高达90%左右的相似度,如下所示:
动态调试过程与此前Demo样本执行过程基本一致,在内存中加载执行Brute Ratel C4的Badger的ShellCode加载器代码,如下所示:
ShellCode加载器代码会在内存中解密出Brute Ratel C4 Badger的核心代码,如下所示:
文件头被修改了,以逃避EDR和AV安全产品的检测,对该核心代码进行修复之后,相关特征与此前也基本一致,如下所示:
前面分析了ShellCode加载器代码,然后笔者又分析了Brute Ratel C4 Badger的核心代码,并还原了Brute Ratel C4 Badger所有函数地址符号表,如下所示:
Brute Ratel C4 Badger后门核心代码功能还是挺多的,截取几个相关的功能代码,获取主机上剪切版的数据,(还原前和还原后的代码)如下所示:
获取系统内存信息,如下所示:
获取主机相关信息,如下所示:
获取主机桌面截图,如下所示:
一共有几十个功能,笔者就不一一列举了,感兴趣的朋友可以自行去分析研究一下,到此利用Brute Ratel C4 Badger进行攻击的真实事件样本就基本研究完成了,包含ShellCode加载器部分代码和Badger核心功能代码。
检测
分析工作完成之后,需要做的工作就是检测和应急响应取证分析了,此前Brute Ratel的作者听说自己的工具被泄露了,然后说要发布一个检测规则以检测此前1.2.2版本的后门,同时还说要更新了免杀功能更强大的1.3版本,如下所示:
不久后国外某安全研究员公布了一款Brute Ratel的检测规则,如下所示:
这个Yara检测规则比较简单,就是检测Badger中几个关键函数的HASH值,通过上面的检测规则,确实可以检测出上面泄露工具生成的Badger Demo和两款真实黑客攻击事件中的Brute Ratel Badger,只不过真实攻击事件中的Badger都是会经过了加密或封装处理,需要解密之后获得核心Badger才能利用上面的规则检测到,直接检测真实攻击事件当中加密或封装处理过的Badger是无法检测的,如下所示:
这也是静态检测规则的不足之处,如果样本被加密和加壳处理之后,通过静态特征无法有效检测,但可以通过内存行为、核心字符串特征或检测网络流量相关特征等多种检测方法对样本进行精确检测,可以检测样本运行之后,内存中样本行为特征、字符串特征或部分流量特征等。
然后又有安全研究人员公布了Brute Ratel C4配置信息的解密脚本,也比较简单就是利用了RC4+Base64解密算法,解密密钥就是上面笔者逆向分析出来的bYXJm/3#M?:XyMBF字符串密钥,解密脚本如下所示:
具体可以参考如下链接:
https://docs.velociraptor.app/exchange/artifacts/pages/brc4/
笔者通过脚本解密Brute Ratel C4 Badger的配置信息,如下所示:
就在昨天,Brute Ratel的作者终于发布了Brute Ratel1.3版本,同时也发布了Brute Ratel1.2.2版本的Yara检测规则,如下所示:
Brute Ratel1.2.2此前版本Yara检测规则:
https://github.com/paranoidninja/Brute-Ratel-C4-Community-Kit/tree/main/deprecated
笔者看了一下Yara检测规则,也比较简单,除了简单函数HASH之外,还把相关的字符串信息全部加进入了,其实显得有点多余了,同时笔者也看了一下作者发布的Brute Ratel1.3版本的相关信息,主要在此前检测的基础上做了很多大的改变,同时在免杀性方面又增加了,删除了以前的一些检测特征和字符串等,简单总结一下:
1.删除了Rc4 密钥 ‘bYXJm/3#M?:XyMBF’ 以及内存中所有的特征字符串
2.shellcode的配置信息从以前的base64变成了二进制数据
3.Badger的C2命令也从核心DLL中删除,从 Badger 收到的所有命令输出现在都由 Ratel 服务器直接跟踪、解析和格式化
4.删除了此前的ror13以及其散列算法
5.优化了shellcode,去除了基于ret返回的shellcode,只保留
RtlExitUserThread和WaitForSingleObject
6.ShellCode大小从240KB降到了210KB
7.添加了反向端口转发功能
以及其他一些“边边角角”的功能改进,1.3最核心的改变仍然在“免杀”方面,把此前的检测规则能检测到的静态特征和部分动态特征全部删除了。
同时作者还发布了一些道德与社会责任方面的,主要意思就是不要把这个工具用于非法用途之类的,如果有朋友已经拿到了Brute Ratel1.3版本的工具,能发一份给笔者研究研究吗?多谢!
检测基本就讲完了,再来说说应急响应和取证分析吧,国外某数字取证安全研究人员发布了一篇关于Brute Ratel C4 1.2.2版本详细应急响应和取证分析的文章,从事件日志、进程、流量等多个角度解释了Brute Ratel V1.2.2版本的应急、取证等技术,非常值得一读,报告的链接地址:
https://thebinaryhick.blog/2022/10/29/thats-no-honey-badger-its-a-brute-ratel-a-look-at-brc4/
这名安全研究人员在文章前面写了这么一段话,比较有意思:
哈哈哈哈,其实就是笔者之前一直提到的,做安全就是要知己知彼,只有搞清楚了全球黑客的最新攻击手法和攻击技术,才能更好地做检测、应急和处置。
其实做技术规划和技术洞察也是一样的,我们不仅仅要了解全球的黑客组织最新的一些攻击技术和攻击武器,同时也需要去了解国内外其它友商都在做什么,我们目前的核心能力是什么,这也是知己知彼,做到“五看”其中之三(看趋势,看竞争,看自己),做好了这三看,后面的两看其实就自然就做好了(看客户,看机会)。
总结
Brute Ratel C4的作者在其网站上称其为当前市场中最先进的红队攻击模拟工具,最近几年Cobalt Strike已经成为了全球黑客组织或红队最受欢迎的攻击武器之一,被广泛应用到了各种APT攻击和勒索攻击等攻击活动当中,Brute Ratel C4相对比较新,出现的时间不长,在一些功能上也没有Cobalt Strike的强大,目前使用的黑客组织或红队相对比较少,不过通过上面的分析可以看出,有多个全球主流的勒索病毒黑客组织和高端成熟APT攻击组织都已经开始使用这款新型的后门武器,以逃避EDR和AV解决方案的检测,随着Brute Ratel C4越来越成熟,可以预测在未来几年Brute Ratel也将会成为全球各大黑客组织或红队必备工具之一,主要原因还是Brute Ratel C4独特的EDR和AV免杀功能,相信Brute Ratel C4的作者在也会不断优化自己的免杀技术,以逃避EDR和AV安全产品的检测,红队的兄弟们是不是都已经开始在研究这款新型的后门利用工具了,未来这款新型的攻击武器一定会越来越多的出现在各种真实的攻击事件以及攻防对抗演练当中,各大安全厂商都需要加强对这款后门的检测能力,同时作者也在不断的更新自己的免杀技术,以逃避EDR和AV产品的检测,攻与防就是这样,是一个对抗不断升级的过程。
全球黑客组织一直在更新自己的攻击武器,此前国内某安全厂商也报道了一款新的攻击武器Sliver,红队的常用武器就从以前的“三大金刚”:Metasploit、Cobalt Strike、Empire,变成现在的“五虎大将”了:Metasploit、Cobalt Strike、Empire、Brute Ratel、Sliver,这些常见的攻击武器,都值得安全研究人员去深入地分析和研究。
安全研究需要做的事太多了,需要研究的东西也很多,笔者一直在跟踪分析全球最新的安全攻击事件,越来越多的新型攻击武器和攻击技术被应用到这些真实的安全攻击事件中,黑客组织一直在不断的更新自己的攻击技术和攻击武器,作为安全研究人员需要不断的去深入分析和研究这些最新的攻击技术和攻击武器,因为只有做到知己知彼,才能帮助企业更快更有效的检测、防御和处置这些最新的安全威胁。
国内的网络安全企业要走的路还很长,只要持续走下去,坚定信念,坚定不移,就一定可以能做大做强,一起为祖国的网络安全事业贡献自己的一份力量。
打个小广告:
笔者所在公司XDR部门有一个终端安全技术专家的岗位,如果有朋友对这个岗位感兴趣,可以联系笔者,欢迎加入,跟笔者一起共事。
笔者一直从事与恶意软件威胁情报等相关安全分析与研究工作,包含挖矿、勒索、远控后门、僵尸网络、加载器、APT攻击样本、CS木马、Rootkit后门木马等,涉及到多种不同的平台(Windows/Linux/Mac/Android/iOS),笔者做安全研究的兴趣就是喜欢研究一些最新的恶意软件家族样本,跟踪国内外报道的各种安全事件中涉及到的攻击样本等,通过详细分析各种安全攻击事件中涉及的样本、漏洞和攻击技巧等,可以了解全球黑客组织最新的攻击技术以及攻击活动趋势等,同时还可以推判出他们大概准备做什么,发起哪些攻击活动,以及客户可能会受到什么危害等,通过研究全球的黑客组织以及攻击活动,做到知已知彼,各位读者朋友如果有遇到什么新的恶意软件家族样本或最新的家族变种都可以私信发给笔者,感谢给笔者提供样本的朋友们!
做安全,不忘初心,与时俱进,方得始终!
安全分析与研究,专注于全球恶意软件的分析与研究,追踪全球黑客组织攻击活动,欢迎大家关注。
王正
笔名:熊猫正正
恶意软件研究员
长期专注于全球各种流行恶意软件的分析与研究,深度追踪全球黑客组织的攻击活动,擅长各种恶意软件逆向分析技术,具有丰富的样本分析实战经验,对勒索病毒、挖矿病毒、窃密、远控木马、银行木马、僵尸网络、APT攻击类样本都有深入的分析与研究
心路历程:从一无所知的安全小白菜,到十几年安全经验的老白菜,安全的路还很长,一辈子只做一件事,坚持、专注,专业!
原文始发于微信公众号(安全分析与研究):Brute Ratel C4 Badger分析实战与检测