C2隐匿:反代+前置

admin 2025年5月15日12:06:24评论1 views字数 2861阅读9分32秒阅读模式

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

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

本公众号尊重他人的知识产权,如有侵犯您的合法权益,请及时联系我们,我们将尽快处理。

博客链接:https://www.securepulse.website/archives/c2yinni

C2隐匿:反代+前置

一、工具介绍(RedGuard)

  • 下载地址:https://github.com/wikiZ/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
C2隐匿:反代+前置
  • 第一次执行会生成一个配置文件(这是个隐藏文件)
C2隐匿:反代+前置
  • 再次运行,可以看到代理启动成功
./RedGuard_64
C2隐匿:反代+前置
    • 此时代理的配置信息是在第一次生成的配置文件里面定义的,通过查看配置文件,可以看见默认的代理规则如下
HostTarget:用于定义反向代理的主机映射关系的配置项当请求的Host360.net时,反向代理服务器会将请求转发到http://127.0.0.1:8080(本机的8080端口)当请求的Host360.com时,反向代理服务器会将请求转发到https://127.0.0.1:4433(本机的4433端口)//此处的8080也就是HTTP Beacon与C2通信的端口,4433也就是HTTPS Beacon与C2通信的端口
C2隐匿:反代+前置
Port_HTTPS和Port_HTTP:分别指定了反向代理服务器用于HTTPS和HTTP协议的监听端口Port_HTTPS = :443,表示反向代理服务器监听443端口来处理HTTPS请求Port_HTTP = :80,表示反向代理服务器监听80端口来处理HTTP请求
C2隐匿:反代+前置
  • 打开CS客户端,创建监听器(以http beacon举例)
    • 注意:此时的HTTP地址为攻击者VPS的地址
C2隐匿:反代+前置
  • 此时生成远控木马,在测试机执行上线
C2隐匿:反代+前置
  • 在测试机器上使用查看网络连接情况或者科来网络分析器抓包,可以看到连接的是反向代理服务监听的端口(80)
C2隐匿:反代+前置
C2隐匿:反代+前置
  • 在浏览器访问这个ip+端口,发现被重定向到了360.net(预定义host头)
C2隐匿:反代+前置
  • 注意:此时VPS的安全组规则可以只放行80端口(http)或者443端口(https),因为8080和4433这两个端口只是127.0.0.1(本地)访问,所以不需要对外开放

两台云服务器场景(C2服务端和RedGuard工具分别在两台VPS上)

  • 此时在用作反代的服务器上运行RedGuard工具,生成配置文件后,需要修改配置文件中用于定义反向代理的主机映射关系的配置项,将默认的127.0.0.1改成C2服务端所在的ip地址
C2隐匿:反代+前置
  • 在C2客户端配置监听器的时候,HTTP地址就要填写反向代理服务器的ip,而不是C2服务端的ip
C2隐匿:反代+前置
  • 此时受害机器上线后,使用查看网络连接情况或者科来网络分析器抓包,就会发现此时连接的是反向代理服务器的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+端口时就会重定向到自定义受信任的域名
C2隐匿:反代+前置
  • 可以设置如果识别到木马是在沙箱环境下执行的话就不上线转发
  • 详细使用方式可以参考官方文档:https://github.com/wikiZ/RedGuard/blob/main/doc/README_CN.md
C2隐匿:反代+前置

原文始发于微信公众号(SecurePulse):C2隐匿:反代+前置

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月15日12:06:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   C2隐匿:反代+前置https://cn-sec.com/archives/4067008.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息