本文提供的资料和信息仅供学习交流,不得用于非法用途;

对于因使用本文内容而产生的任何直接或间接损失,博主不承担任何责任;

本文尊重他人的知识产权,如有侵犯您的合法权益,请在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.com360.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+端口时就会重定向到自定义受信任的域名