2024年网络安全最新Brute Ratel C4红队框架 brc4 1(2),2024年最新字节跳动网络安全架构师学习笔记

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

那个框就是你可以自定义一个唯一的身份验证密钥用于公共身份验证 只能用于 Common Auth 选项

最后一个选项 他的意思是如果你在目标机器上执行了有效载荷,反弹shell的时候可能是防火墙,也可能是什么原因导致没有反弹成功,服务端始终收不到shell的时候,他不会在内存里一直发起请求,而是在连接不上之后会挂掉

这是官方的配置

保存之后选择 点击下面的设置 可以看到你的c2配置详情

接下来根据这个生成payload

选择刚刚生成的test001监听器

你也可以在监听器上生成

此处根据你的需求 可以选择不同的payload 这里我生成一个dll

转移到windows上 执行

rundll32 badger_x64.dll,main

成功上线

火绒静态动态都可以过

https://www.virustotal.com/gui/file/e0fbbc548fdb9da83a72ddc1040463e37ab6b8b544bf0d2b206bfff352175afe?nocache=1

2.Add DOH Listener

这里提供官方教程 C4 Profiler | Brute Ratel C4

3.Hosted Files

该选项用于文件托管的管理

打开这个选项的时候会报错,因为你还没有配置,首先我们先找到我们的监听器,我们设置的是443端口,根据自己实际情况来看,以下是操作步骤

随便拷一个html页面,随便放入一个文件夹,我这里拷的是这个师傅的博客的

几个好看实用的html简单登录页面_html页面_hanscal的博客-CSDN博客

然后我存到了brc4根目录里,命名为index.html

然后找到我们的443端口的监听器 点击这里的 Host File

我的配置如下

记住一定要是text/html不能是 text/plain 否则无法解析html

然后点击OK

接下来访问当前监听器的 ip+端口/文件名 如下图

访问成功就行 然后你会在 Hosted Files 看到你所有设置的监听器网站目录下的文件 并可以选择删除

这里起到一个混淆迷惑的作用

当然不仅如此,你还可以放入一些ps,zip等等文件,他可以起到一些文件传输的作用,这取决于你怎么使用他

4.Change Root Page

更改根页面,该处选项可填入html代码,他会将你除了第三条你设置了那些节点以外的任何页面以外的所有页面,都会显示为你填入的html页面

以下为示例

此处我们键入了一个html页面,点击ok,接下来我们访问任意一个节点

再次访问自行设置的节点

可以看到自行设置的节点不受影响,并且随机输入任何一个其他节点,访问的都是我们在该选项设置的页面

5.Autoruns

选择之后点击+号输入命令,这些命令将会在shell反弹成功之后自动执行

可以看到下图 他自动执行了 sleep 2,并且会标识出来这是设置的自动执行命令,

此处能自动执行的命令请参考下面

首先双击反弹shell的主机 双击红框

然后在下面的 Command 中输入 help 会出现一系列命令 根据需求来写

其余的我们下面在介绍,目前我们只解析这一条

6.Payload Profiler

此处能添加payload配置 修改payload配置 删除payload配置 ,然后根据你选择的不同配置文件,生成该监听器的后门,此处有DOH (DNS over HTTPS),HTTP/HTTPS,TCP,SMB 可以选择,详情还是请参考官方文档,其中http/doh 大部分和原先配置相同,要注意的是tcp和smb,并且它可以和下一个选项 PsExec Config 可以联动,这可以用于多级网络反弹shell搭建隧道,当前多级网络环境我电脑上没有,拿到了之后会试试看

C4 Profiler | Brute Ratel C4

7.PsExec Config

Brc4的PsExec特性部分类似于Microsoft的PsExec特性。它在给定的远程系统上创建一个服务,并使用远程过程调用(remote Procedure Calls, RPC)启动它。但是,与Microsoft的PsExec使用CreateProcess在SMB上管道cmd.exe不同,BRc4的PsExec服务包含一个shellcode blob,用于在PsExec执行期间提供的有效负载配置文件,此有效负载可以是SMB、DOH、HTTP或TCP配置文件,并且不一定仅限于SMB。你可以自定义,也可以默认。

可以在此输入服务名称及服务描述,之后点下图中第一个红框的位置可以看到,因为我没有修改,所以该处还是默认状态,当你修改后,它会变成你修改的样子。

8.ClickScript

此处是设置的自动点击脚本,相比之前的自动运行脚本来说,那个在连接shell会自动执行,这个你可以根据需求设置,根据需求来运行,以下为操作步骤

点击上面的+号创建一个脚本目录,随便取一个名称,这里我取了test这个名称

创建完成之后点击test这个目录,使其变成红色

然后再点下面的那个 窗户+ 如下在里面放入你想执行的命令之后点击OK 这样我们就存入了一个命令 你可以放置多条命令在test这个命令执行目录下 这里我们只存入一个命令

点击save保存下来 接下来我们反弹一个shell 然后选此处 Load Clickscript

他会弹出来一个窗口加在后面

b-3 是你反弹回来的shell id值,下面选择刚刚生成的命令脚本,点击run(在最右边)

查看刚刚连接的shell

执行成功

3.Server

1.View Active Socks

第一条这个用来查看所设置的代理,但是在我完完全全测一遍之后还没找到代理点,我只发现了设置http监听器的时候可以设置代理,但是跟这个不一样,后续找到了会更新这一条

2.Add Credentials

添加凭证,用户名,密码,域,备注 ,你可以自行添加,也可以在brc4根目录下找到server_confs文件夹,该文件夹下有个creds.csv,这是官方提供默认的凭证,你可以将其导入进去,用于横向移动

导入后 点击creds选项卡可以看到我们导入的凭证

3.Save Credentials

将你当前设置的凭证保存下来,这里我存入名称为test.csv

但是有个小问题,这里存储的即使我设置为csv,依然能看出来他就是个json,并且直接导入会导致客户端崩溃,开头说了,brc4核心点在于它的配置文件,他的配置文件就是以json写入的,这样理解其实就通了。

以下写了个python脚本将该导出的json转为csv格式,并可以继续导入进去而不会报错

import json
import csv
# creduser,credpass,creddomain,crednote

class json_to_csv():
    def __init__(self,file):
        self.json_Credentials = json.loads(open(file, 'r', encoding='utf-8').read())
        self.csv_Credentials = csv.writer(open(f"./{file.split('.')[0]}.csv", 'w' ,encoding='utf-8'),lineterminator='\n')
        print(self.json_Credentials)
        self.csv_Credentials.writerow(['creduser','credpass','creddomain','crednote'])
        self.json_length = len(self.json_Credentials)
        self.json_csv()

    def json_csv(self):
        for i in range(0, self.json_length):
            print(self.json_Credentials[f'{str(i)}'])
            self.csv_Credentials.writerow([f"{self.json_Credentials[f'{str(i)}']['user']}",f"{self.json_Credentials[f'{str(i)}']['passowrd']}",f"{self.json_Credentials[f'{str(i)}']['domain']}",f"{self.json_Credentials[f'{str(i)}']['note']}"])




json_to_csv('test.txt')

4.View Downloads

你所有下载的东西在这都能看到

5.View Logs

日志记录 选择日志点击View即可查看 这个详细解释还是有点麻烦的,手测都看看理解更快,这里还是提供官方教程

Server (Reporting) | Brute Ratel C4 | Brute Ratel C4")

最后一个badger_token.conf 记录了反弹shell的监听器详情,目标主机的连接详情

6.Enable/Disable DOH Debug Logs

操作员可以在Server->Enable/Disable DOH Debug Logs中启用它。一旦启用,在禁用之前,每次回调时,服务器都会显示shell签入。调试日志显示在级别服务器日志中。

大致意思就是doh的调试默认不存入日志,启用了就会存入日志,提供官方解释

The debug DOH logs help provide a bit more verbosity to the DOH logging functionality. Due to the way DNS is built, The RFC only allows sending up-to 64 bytes per subdomain per request. This means if the badger needs to send back a large response, it will send it in multiple chunks. Badger sends all output in encrypted format, which means unless the whole response is received from the badger, the server cannot decrypt it, and if it cannot decrypt it, it means it cannot identify which badger is sending the response. This means until the full response is received, the server cannot decrypt the data and Commander won’t show whether the badger checkin-in even if it is continuously sending in chunks of response. However, in order to tackle this, the ratel server comes pre-built with a debug log functionality. This is by-default disabled unless the operator enables it from Server->Enable/Disable DOH Debug Logs. Once enabled, the ratel server will show up the badger checking in everytime it calls back, until disabled. Debug logs show up in the ratel server logs.

7.User Activity

看每个用户做了哪些操作并将操作次数,操作时间等数据记录下来,可以查看所有用户的操作并可以导出csv

不得不说brc4对安全这方面严谨性还是很高的

8.MITRE Team Activity

第8第9 我一开就闪退,可能是版本问题,这里放官方介绍

Unlike Brute Ratel MITRE Map, which provides a MITRE graph of all the Brute Ratel commands, MITRE Team Activity displays a MITRE graph only for the commands executed by the Red Team/Adversary Simulation Team. This can help to narrow down which type of commands worked the most during a Red Team engagement and to list them out during reporting.

9.MITRE Team ActivityBrute Ratel MITRE Map

All of the Badger commands of Brute Ratel can be viewed in a node based MITRE graph which shows the respective tactics and techniques. This can be accessed from Server Config->Brute Ratel MITRE Map.

4.Listeners Tab

1.Riot Control

选择此选项,上面会弹出一个命令行窗口,它的作用是针对这一个监听器发起命令,那么该监听器下所有基于该监听器收到的shell都会收到并执行该命令,相当于统一发出执行

 上面我发送了 ls 所有的badgers都收到了

2.Pivot Graph

这个是带视图的,貌似所有带视图的都会崩溃,后续如果解决了会更新该处,提供官方解释

Commander can display pivoted networks in a graphical manner. The graph also displays Metadata of the selected Badger. You can view the graph by right clicking a listener and selecting Pivot Graph.

3.Activate KillSwitch

针对某一个监听器,启用该选项之后,他会批量杀死该监听器下所有的shell

4.WebHook

选择一个监听器,打开此选项后如下

首先第一个空要输入一个https://ip+端口,因为我们后面启动openssl时会使用证书和密钥,下面第一个选项选择之后它会将第一次连接的时候的post请求连接详情发回你设置的ip+端口处,第二个字面意思,就是会把你执行命令的post请求发回你设置的ip+端口处

上方配置点击ok之后,我们接着下面的步骤

openssl s_server -key key.pem -cert cert.pem -accept 80

找到启动brc4客户端的 key 和 cert 并输入以上命令,使用80端口接收

此时我们在已经连接上来的shell中输入 ls 执行一次命令

可以看到这边收到了post包,下面的json badger里是我们刚刚执行命令的shell id,后面msg是使用base64加密的结果,解一下看看

没问题,我们再测一下 shell 连上时是什么包

监听器详情和目标机详情

再次选择 WebHook 点击 Disable可以将其关掉

5.Staging

目前该选项只支持http/s,点击之后可以选择监听器设置反弹次数,也可以关闭该选项

此处可以生成后门,但是要注意,这里只能生成bin文件,还是需要shellcodeloader

6.Listener Actions

这个选项也没难点

第一个 stop Listener 就是删除该监听器并删除该监听器上的托管文件

第二个 View Authentication 用来查看 你所创建的监听器的密钥,点击之后如下,如果你是使用brc4自己生成的,它显示的也是生成的密钥

第三个 Change Authentication 可以用来更改密钥

 第四个 Host File 还是提一下吧,文件托管,选择文件后指定节点放上去,访问节点即可得到

比如这样,访问节点之后可以得到 index.html 的源码,并不会显示出来,因为type为text/plain

7.Build Stageless Payload

生成payload,bin文件可以找shellcodeloader加载,这里推一个github上开源很久了的

dll文件可以隐藏起来完成dll权限劫持的方法反弹,也可以直接rundll32 badger.dll,main,看怎么使用了

主要是最后一个Service Executable 执行成功也没反弹回来,没测出来

5.Badgers

1.Load/Load Adjacent Tab/Load New Window

这三个选项就放一起了

第一个直接开启一个命令行对话框在下面

第二个在右边开启了个小窗口

第三个开启了个独立的窗口,可伸缩

2.Clear Cmd-Q

监听器默认心跳返回为60,在60秒期间如果你输入了任何命令,他都会等这一个60秒结束才会执行,然后在等60秒返回结果。

这个选项的作用是用来消除你第一个60秒内输入的命令,就是还没执行的时候输入的命令

当你执行成功等下一个60秒返回响应结果的时候,在点此选项就没用了,因为你已经执行成功

可能我说起来有点绕,但还是很好理解的

3.Arsenal

这一块还挺多的,不过还是一次性说完吧

1.LDAP sentinel

用于查询域控的信息,里面选项有很多

 他能自动查询到域控里所有的信息

在右边默认选项第一个选项就是全部信息

右边第二个选项点开之后可以筛选部分信息,右边的框是个查询过滤器

最下面那个点击之后 他所有的操作全是在默认域里查询

选择域控输入命令查询

这里在交互界面也出现了

这里举个例子

他的意思是查询域控中 cn 相等于 Domain Admins 并且 在当前域下的信息

2.Switch Profile

查看你当前监听器的配置,点击 Load from file… 也可以在加载一个配置上来,当你点击save之后,他会在当前页面重新加载一个shell,需要注意三点

第一,你点save加载上来的shell并不是在目标主机重新反弹了一次,而是多了一次显示而已

第二,它只支持http/s的shell

第三,当你点击save之后,他会显示一个新的shell,原先的shell将被抛弃,无法响应

3.Process Manager

进程管理 你可以看到所有进程 上面的选项分别为 刷新列表,杀死进程,设置为父节点,窃取令牌,搜索进程pid

4.File Explorer

就是文件目录显示出来,可以下载,删除,查看,但是我测的有bug,有时候有些目录进不去,不如命令行里直接看,直接命令行下载

5.Crypt Vortex

文件加密/解密,用于勒索,加密对方电脑上的文件,这里先放教程,在说一下我没测试成功的原因猜测

先看一下参数

第一个为加密密钥

第二个为加密路径(此处需要注意,加密是递归的。所以如果你的路径包含多个文件夹,而这些文件夹又包含更多的文件夹,那么所有的文件夹都会一个接一个地递归加密。如果忘记密钥也不要紧,badger日志里包含加密密钥)

第三个为你加密文件之后的文件后缀名

第四个可以看到是为可选项,你可以选择一些文件,比如你想选择 .xlsx 和 .docx 那么你只需要用逗号隔开即可,例如(.xlsx,.docx)

点击OK即可加密完成

接下来是解密部分

其实都差不多,只要输入密钥,目录,加密之后的后缀名点击OK即可解密

接下来讨论一下 为什么我在我这台win11家庭中文版上没有测试成功(后续会在虚拟机上重新测试win10专业版) 此处可以跳过直接翻到下一节

我在官方教程中看到他启用了 werfault.exe

而我这边报错

大概率可能是因为 werfault.exe  没有启动成功

werfault.exe是一个windows系统自带的程序。用于错误报告.

我参考以下文章尝试启动

Win11家庭版找不到gpedit.msc文件怎么办?

Win10系统无法启动werfault.exe的解决方法教学

快速解决Win10系统上的WerFault.exe错误(4个方案)_系统堂官网_系统堂官网")

但是进程里依然没有显示 werfault.exe

暂时不清楚哪地方出了问题,感兴趣的师傅可以测测看,我更多的是感觉这个东西应该是在 windows server上的

4.Clickscript

这个之前说了一次,还是在写一下吧

Clickscript是一个允许用户自动执行批量命令的功能。与允许用户在第一次连接时自动执行几个命令的“自动运行”功能不同,点击脚本基本上是多个命令的列表,可以在任何时间点链接在一起执行一个接一个的命令。

5.Remove

删除这一条,当然只是删除没有退出的作用,反连之后依然会再次弹出来,一般都是当shell失效之后用这个把他删掉。

6.Export To CSV

导出为CSV 它可以将一个shell的连接详情导出来

导出的结果

7.Mark Dead

用于标记没有连接回来的shell

如下第一个没有连接回来,使用该项测试之后变色,第二个一直有连接, 所以即使选择了该选项,他依然保持高亮

8.Color

这个确实没啥好说的 更改字体颜色 更改背景颜色 重置颜色 用于标记的

9.Exit Thread

退出线程并且会自动变暗

10. Exit Process

退出进程并且会自动变暗

这两条很相似,但是这里官方没有说明,所以根据我测的结果来解释

 可以看到退出进程(Exit Process)之后的 b-3 pid为 22584 并且在目标机器进程里看不到,说明彻底退出了,进程也被杀死

退出线程(Exit Thread)之后 可以看到 b-2 pid 为 18636 在目标机器进程里依然看得到,但是shell已经断开,这就是差别

退出进程就是字面意思在目标机器里shell进程会推出,退出线程shell会断开,但是进程依然存在

6.其他

这里我们介绍一些界面操作,不会全都涉及

1.配置文件存储

点击图中的图标可以将当前brc4的配置文件存下来以供下次启动或者转移机器启动,命名格式为 xxx.conf ,xxx可以自己取名,之后再次启动brc4服务端的时候可以使用

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值