Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
RedGuard — C2前端流量控制工具,具备JA3/JARM指纹随机化、域名前置、可塑性C2配置文件验证以及IP白名单功能,用于规避蓝队、反病毒软件、端点检测与响应及网络空间映射。 | Kitploit
工具/GitHubGitHub/wikiz/redguard
IDS/IPS规避命令与控制红队
GitHubwikiz/redguard

RedGuard

C2前端流量控制工具,具备JA3/JARM指纹随机化、域名前置、可塑性C2配置文件验证以及IP白名单功能,用于规避蓝队、反病毒软件、端点检测与响应及网络空间映射。

查看仓库
1.6k212212年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

RedGuard - Excellent C2 Front Flow Control tool

GitHub stars GitHub issues GitHub release

中文文档 | English

1653117445(1).png

0x00 介绍

工具介绍

RedGuard,是一款C2设施前置流量控制技术的衍生作品,有着更加轻量的设计、高效的流量交互、以及使用go语言开发具有的可靠兼容性。它所解决的核心问题也是在面对日益复杂的红蓝攻防演练行动中,给予攻击队更加优秀的C2基础设施隐匿方案,赋予C2设施的交互流量以流量控制功能,拦截那些“恶意”的分析流量,更好的完成整个攻击任务。

RedGuard是一个C2设施前置流量控制工具,可以避免Blue Team,AVS,EDR,Cyberspace Search Engine的检查。

应用场景

  • 攻防演练中防守方根据态势感知平台针对C2交互流量的分析溯源
  • 根据JA3指纹库识别防范云沙箱环境下针对木马样本的恶意分析
  • 阻止恶意的请求来实施重放攻击,实现混淆上线的效果
  • 在明确上线服务器IP的情况下,以白名单的方式限制访问交互流量的请求
  • 防范网络空间测绘技术针对C2设施的扫描识别,并重定向或拦截扫描探针的流量
  • 支持对多个C2服务器的前置流量控制,并可实现域前置的效果实现负载均衡上线,达到隐匿的效果
  • 能够通过请求IP反查API接口针对根据 IP 地址的归属地进行地域性的主机上线限制
  • 在不更改源码的情况下,解决分阶段checksum8规则路径解析存在的强特征。
  • 通过目标请求的拦截日志分析蓝队溯源行为,可用于跟踪对等连接事件/问题
  • 具有自定义对样本合法交互的时间段进行设置,实现仅在工作时间段内进行流量交互的功能
  • Malleable C2 Profile 解析器能够严格根据 malleable profile验证入站 HTTP/S 请求,并在违规情况下丢弃外发数据包(支持Malleable Profiles 4.0+)
  • 内置大量与安全厂商相关联的设备、蜜罐、云沙箱的IPV4地址黑名单,实现自动拦截重定向请求流量
  • 可通过自定义工具与样本交互的SSL证书信息、重定向URL,以规避工具流量的固定特征
  • ..........

0x01 安装

可以直接下载并使用已经编译好的版本,也可以远程下载go包进行自主编译执行。

git clone https://github.com/wikiZ/RedGuard.git
cd RedGuard
# 也可以使用upx压缩编译后的文件体积
go build -ldflags "-s -w" -trimpath
# 赋予工具可执行权限,并进行初始化操作
chmod +x ./RedGuard&&./RedGuard

0x02 配置说明

初始化

如下图,首先对RedGuard赋予可执行权限并进行初始化操作,第一次运行会在当前用户目录下生成配置文件,以实现灵活的功能配置,配置文件名:.RedGuard_CobaltStrike.ini。

1653117707(1).png

配置文件内容:

1653117707(1).png

cert的配置选项主要是针对样本与C2前置设施的HTTPS流量交互证书的配置信息,proxy主要用于配置反向代理流量中的控制选项,具体使用会在下面进行详细讲解。

在流量的交互中使用的SSL证书会生成在RedGuard执行所在目录下的cert-rsa/目录下,可以通过修改配置文件进行工具的基础功能启停 (证书的序列号是根据时间戳生成的,不用担心被以此关联特征)。如果你想要使用自己的证书,只需要重命名为ca.crt和ca.key覆盖在cert-rsa/目录下即可。

openssl x509 -in ca.crt -noout -text

1653118330(1).png

每次启动RedGuard都会更新随机TLS JARM指纹,防止被以此佐证C2设施。

1653118330(1).png

在使用自己证书的情况下,到配置文件中修改HasCert参数为true,防止因为JARM混淆随机化导致的CipherSuites加密套件与自定义证书不兼容导致的无法正常通信问题。

# Whether to use the certificate you have applied for true/false
HasCert      = false

伪造TLS证书

在部署域前置隐匿C2流量时,默认情况下加速的域名是不具备HTTPS证书信息的,这样显然是存在问题的,所以配置域名时需要注意对证书进行配置,这也是判断样本是否为域前置流量的默认依据。

1653118330(1).png

相信看到这里,大家会有所疑问,配置的证书怎么获得?如果使用自己申请证书是不符合我们预期想达到的隐匿效果。 这里可以使用克隆的证书进行配置,以腾讯云为例,测试中发现其不会对自定义上传的证书进行校验有效性,我们可以使用与加速域名实际站点相同的证书进行伪造。虽然伪造的证书在正常情况下替换CS的默认证书是无法通信的,但是在云服务厂商CDN全站加速和RedGuard上面部署是不会进行校验有效性并且可以正常通信C2交互流量。

以下为Github已有项目地址

https://github.com/virusdefender/copy-cert

尽管样本域前置流量侧的证书已经解决,但是站在大网测绘的角度来看,我们的C2服务器仍然暴露于外,依然可能被探测到真实C2服务器并实现关联,这时就可以通过RedGuard修改C2的前置默认证书实现隐匿。

1653118330(1).png

以上即为C2服务器伪造的证书效果,可以看到在微步社区的情报中是可信且未过期的状态,而其获取数字证书的主要途径也是在云沙箱进行样本分析时进行提取并实时更新的,但是显然没有经过有效校验,状态值仅对失效时间进行验证,证书可信验证应该是只以是否能够正常通信作为判断依据。

需要注意的是,微步情报并不会对样本请求的SNI及HOST的地址进行标注证书情报,这其实也是出于防止出现误报的考量,我认为这是正确的,作为辅佐研判人员分析的重要依据,威胁情报宁可不全,也最好不要出现错误指向,对后续分析造成误判。 如果说在全站加速配置证书是伪造通信流量的证书,那么配置RedGuard C2的前置响应证书就是为了针对部署于公网的真实C2服务器的行为特征进行伪造,以实现抗测绘的效果,这是十分必要的。

提取证书序列号:55e6acaed1f8a430f9a938c5,进行HEX编码得到TLS证书指纹为:26585094245224241434632730821

IPPortProtocolServiceCountryCityTitleTime
103.211.xx.90443httpsApache httpdChinaSuzhou百度图片-发现多彩世界2023-08-28
223.113.xx.207443httpsJSP3ChinaXuzhou403 Forbidden2023-08-28
223.112.xx.48443httpsJSP3ChinaXuzhou403 Forbidden2023-08-28
223.113.xx.40443httpsJSP3ChinaXuzhou403 Forbidden2023-08-28
223.113.xx.31443httpsJSP3China405 Not Allowed2023-08-28
223.113.xx.206443httpsJSP3ChinaXuzhou403 Forbidden2023-08-28

Search Result Amount: 2291

通过网络空间测绘发现2291个独立IP,进行验证确定均为百度所属TLS证书,如果单从通信流量来看是比较难判断是否为恶意通信的,而上面针对域前置+C2前置流量设施的TLS证书进行了伪造,成功对空间测绘与威胁情报实现了干扰,造成了错误的信息关联,使得攻击者的流量特征更加逼真,实现了伪造正常通信流量的目的。

1653118330(1).png

哪怕在C2流量前置设施之前不存在隐匿转发的处理,也最好对RedGuard进行更改证书。默认状态下,任何目前在网络空间测绘里常用的通用组件指纹识别形成的指纹库就是利用了通用组件默认配置特征这个行为来进行识别的,在这些自定义过程中不同的群体又可能表现出不一样的独有特征。当然,指纹的形成需要对目标组件具有一定理解,从而提取出目标的默认特征,形成关联指纹。这里利用RG证书表现的行为特征进行网络空间测绘,关联到了大量部署在公网的RG节点。

作者能够提取出该指纹不足为奇,但是依然建议RedGuard用户修改的默认证书信息,做一个专业的Hacker:)

RedGuard Usage

root@VM-4-13-ubuntu:~# ./RedGuard -h

Usage of ./RedGuard:
  -DelHeader string
        Customize the header to be deleted
  -DropAction string
        RedGuard interception action (default "redirect")
  -EdgeHost string
        Set Edge Host Communication Domain (default "*")
  -EdgeTarget string
        Set Edge Host Proxy Target (default "*")
  -FieldFinger string
        Set HTTP Header identification field Info
  -FieldName string
        Set the name of the HTTP Header identification field
  -HasCert string
        Whether to use the certificate you have applied for (default "true")
  -allowIP string
        Proxy Requests Allow IP (default "*")
  -allowLocation string
        Proxy Requests Allow Location (default "*")
  -allowTime string
        Proxy Requests Allow Time (default "*")
  -common string
        Cert CommonName (default "*.aliyun.com")
  -config string
        Set Config Path
  -country string
        Cert Country (default "CN")
  -dns string
        Cert DNSName
  -host string
        Set Proxy HostTarget
  -http string
        Set Proxy HTTP Port (default ":80")
  -https string
        Set Proxy HTTPS Port (default ":443")
  -ip string
        IPLookUP IP
  -locality string
        Cert Locality (default "HangZhou")
  -location string
        IPLookUP Location (default "风起")
  -malleable string
        Set Proxy Requests Filter Malleable File (default "*")
  -organization string
        Cert Organization (default "Alibaba (China) Technology Co., Ltd.")
  -redirect string
        Proxy redirect URL (default "https://360.net")
  -type string
        C2 Server Type (default "CobaltStrike")
  -u    Enable configuration file modification
  

P.S. 可以使用参数命令的方式修改配置文件,当然我觉得可能直接vim手动修改更方便。

0x03 工具使用

基础拦截

如果直接对反向代理的端口进行访问,则会触发拦截规则,这里通过输出的日志可以看到客户端请求根目录,但是因为其请求过程未带有请求的凭证,也就是正确的HOST请求头所以触发了基础拦截的规则,流量被重定向到了https://360.net

下载工具