
C2隐匿:反代+前置
本文提供的资料和信息仅供学习交流,不得用于非法用途;
对于因使用本文内容而产生的任何直接或间接损失,博主不承担任何责任;
本文尊重他人的知识产权,如有侵犯您的合法权益,请在vx公众号SecurePulse后台私信联系我们,我们将尽快删除
本文来源:大白哥免杀课程
需要咨询课程详情,请扫下方二维码添加大白哥绿泡泡
一、工具介绍(RedGuard)
根据服务端所在操作系统选择下载
官方介绍
RedGuard,是一款C2设施前置流量控制技术的衍生作品,有着更加轻量的设计、高效的流量交互、以及使用go语言开发具有的可靠兼容性。它所解决的核心问题也是在面对日益复杂的红蓝攻防演练行动中,给予攻击队更加优秀的C2基础设施隐匿方案,赋予C2设施的交互流量以流量控制功能,拦截那些“恶意”的分析流量,更好的完成整个攻击任务。
RedGuard是一个C2设施前置流量控制工具,可以避免Blue Team、AVS、EDR、Cyberspace Search Engine的检查。
应用场景
防范云沙箱环境下针对木马样本的恶意分析
阻止恶意的请求来实施重放攻击,实现混淆上线的效果
在明确上线服务器IP的情况下,以白名单的方式限制访问交互流量的请求
防范网络空间测绘技术针对C2设施的扫描识别,并重定向或拦截扫描探针的流量
支持对多个C2服务器的前置流量控制,并可实现域前置的效果实现负载均衡上线,达到隐匿的效果
能够通过请求IP反查API接口针对根据 IP 地址的归属地进行地域性的主机上线限制
通过目标请求的拦截日志分析蓝队溯源行为,可用于跟踪对等连接事件/问题
具有自定义对样本合法交互的时间段进行设置,实现仅在工作时间段内进行流量交互的功能
Malleable C2 Profile 解析器能够严格根据 malleable profile验证入站 HTTP/S 请求,并在违规情况下丢弃外发数据包(支持Malleable Profiles 4.0+)
内置大量与安全厂商相关联的设备、蜜罐、云沙箱的IPV4地址黑名单,实现自动拦截重定向请求流量
可通过自定义工具与样本交互的SSL证书信息、重定向URL,以规避工具流量的固定特征
......
二、基本使用原理:反向代理+前置技术
单台云服务器场景(C2服务端和反代配置文件在同一个ip上)
当受害者机器运行CS木马后,访问的是反向代理的端口
http://vps ip:80
;然后根据配置文件转发到CS服务端Beacon监听的端口
http://vps ip:8080
然后上线CS;此时在安全设备或者在受害者本地抓包,看见的木马进程外连的虽然是攻击者云服务器的真实ip+端口,但是此时的端口却是反向代理端口,如果在浏览器访问这个ip+端口,也是会自动解析到反代配置文件中定义好的域名。
两台云服务器场景(一台C2服务端、一台反代服务器)
当受害者机器运行CS木马后,访问的是反向代理服务器的地址
http://反代服务器ip:80
;然后反向代理服务器根据配置文件转发到CS服务端(Beacon的通信地址)
http://C2服务端ip:8080
然后上线CS;此时在安全设备或者在受害者本地抓包,看见的木马进程外连的是反代服务器的ip+端口,如果在浏览器访问这个ip+端口,会自动解析到反代配置文件中定义好的域名(默认是
360.com
和360.net
)
三、实操,隐匿C2
单台云服务器场景(C2服务端和RedGuard工具在一台VPS上)
将下载好的RedGuard工具传到VPS后执行
chmod +x RedGuard_64
./RedGuard_64
第一次执行会生成一个配置文件(这是个隐藏文件)
再次运行,可以看到代理启动成功
./RedGuard_64
此时代理的配置信息是在第一次生成的配置文件里面定义的,通过查看配置文件,可以看见默认的代理规则如下
HostTarget:用于定义反向代理的主机映射关系的配置项
当请求的Host为360.net时,反向代理服务器会将请求转发到http://127.0.0.1:8080(本机的8080端口)
当请求的Host为360.com时,反向代理服务器会将请求转发到https://127.0.0.1:4433(本机的4433端口)
//此处的8080也就是HTTP Beacon与C2通信的端口,4433也就是HTTPS Beacon与C2通信的端口
Port_HTTPS和Port_HTTP:分别指定了反向代理服务器用于HTTPS和HTTP协议的监听端口
Port_HTTPS = :443,表示反向代理服务器监听443端口来处理HTTPS请求
Port_HTTP = :80,表示反向代理服务器监听80端口来处理HTTP请求
打开CS客户端,创建监听器(以http beacon举例)
注意:此时的HTTP地址为攻击者VPS的地址
此时生成远控木马,在测试机执行上线
在测试机器上使用查看网络连接情况或者科来网络分析器抓包,可以看到连接的是反向代理服务监听的端口(80)
在浏览器访问这个ip+端口,发现被重定向到了
360.net
(预定义host头)
注意:此时VPS的安全组规则可以只放行80端口(http)或者443端口(https),因为8080和4433这两个端口只是127.0.0.1(本地)访问,所以不需要对外开放
两台云服务器场景(C2服务端和RedGuard工具分别在两台VPS上)
此时在用作反代的服务器上运行RedGuard工具,生成配置文件后,需要修改配置文件中用于定义反向代理的主机映射关系的配置项,将默认的127.0.0.1改成C2服务端所在的ip地址
在C2客户端配置监听器的时候,HTTP地址就要填写反向代理服务器的ip,而不是C2服务端的ip
此时受害机器上线后,使用查看网络连接情况或者科来网络分析器抓包,就会发现此时连接的是反向代理服务器的ip和反向代理服务监听的端口
在浏览器访问这个ip+端口,发现被重定向到了
360.com
(预定义host头),如果使用HTTPS Beacon的话,可能会显示证书不受信任,这是因为我们修改CS默认特征时生成的签名是自定义的,而不是证书颁发机构颁发的注意:此时反代服务器的安全组规则可以只放行80端口(http)或者443端口(https),C2服务端所在VPS的安全组可以指定8080和4433这两个端口只有反代服务器的ip可以访问,不需要对外开放(0.0.0.0)
三、拓展(配置文件修改)
可以在配置文件中修改默认的Host头以及重定向的URL为其它受信任的域名和URL,这样目标单位在访问这个ip+端口时就会重定向到自定义受信任的域名
可以设置如果识别到木马是在沙箱环境下执行的话就不上线转发
详细使用方式可以参考官方文档:https://github.com/wikiZ/RedGuard/blob/main/doc/README_CN.md