本章阐述重点在于如何搭建针对C2服务器进行CDN接入以及真实ip隐藏
没写完,卡在CDN上线和CS密钥修改了,有空会继续补充完。
TIPS: 查看Cobalt Stike服务器搭建
teamserver
添加DNS A记录到teamserver监听的VPS 真实IP
等待完成ping域名后已经接入CDN;
Listeners
并填写host
和port
80,8080,8880,2052,2082,2086,2095
443,2053,2083,2087,2096,8443
如上配置可以上线成功,并且存在相关域名的流量,但进行进一步分析后发现仍然存在相关CS服务器的流量交互
于是我就在想是否客户端是否能够通过域名的方式进行流量请求呢?于是我进行了踩坑:
Beacon Http:
Http Host(s)/Stager/Header均填写对应域名;Http Port为CF支持解析HTTP端口
失败,无法上线;
Beacon Https:
Http Host(s)/Stager/Header均填写对应域名;Http Port为CF支持解析HTTP端口
成功上线;但是执行Beacon无返回,如下:
beacon> getuid
[*] Tasked beacon to get userid
[+] host called home, sent: 8 bytes
多提一句:1x01/1x02
http与https在数据包中的体现是http包与tcp/tls的区别;有兴趣可以看我抓下来的数据包
于是我尝试针对靶机中的流量尝试分析,发现当尝试执行beacon,靶机流量会定向到cf.profile
配置的api接口:
http://domain/api/1
301–> https://domain/api/1
return–> code525 SSL handshake failed
看起来像是ssl证书的问题,想起来CloudFlare SSL模式为自签名证书,于是修改为CF CA证书进一步排查问题;
经过72个小时的重复的枯燥工作,得出一个结论:
在尝试基于CDN技术进行CS服务器隐藏ip时,http(s) Hosts栏必须填入相关cs主机的真实ip;
生成木马 windows/beacon_http/reverse_http
执行shell命令
beacon> shell ipconfig
在测试靶机里打开wireshark监听流量,流量已经发送到对应域名:
等待执行命令的返回包