CDN、域前置、重定向三种技术隐藏C2
区别
01
CDN技术隐藏C2
受害主机上只有跟cdn的ip通信的流量,不会有跟真实C2通信的流量,可以保护攻击者的ip,但是域名会暴露,对http与https没有强制要求。
02
域前置技术隐藏C2
都会用到CDN但必须走https,而且需要修改请求包的host头,即修改malleable profile文件,域前置技术可以使用别人的高信誉域名来隐藏自己的真实域名,前提是高荣誉域名跟自己的域名在同一个CDN下,这种技术不少CDN厂商都被禁止了。
03
重定向技术隐藏C2
利用apache mod_rewrite模块实现重定向技术来隐藏C2流量的原理,两台vps,一台做重定向,非beacon的请求重定向到一些高信誉域名上,达到迷惑的目的,一台是真正的C2,而受害者只与做重定向的机器通信,重定向机器只会转发来自beacon的特定流量到C2控制端主机。
三者区别的总结

1.cdn技术与域前置技术都需要配置cdn,而重定向技术需要两台服务器。
2.cdn技术仅仅利用了cdn对http与https流量进行转发来达到的隐匿效果,可以隐藏ip不能隐藏域名。
3.域前置技术可以隐藏ip与域名,但只能基于https,而且现在不少的cdn厂商已经禁止域前置技术。
申请免费的域名
首先可以到freenom:
https://my.freenom.com/domains.php
注册免费的域名,先注册账号:
输入想要申请的免费域名,并完成申请过程:
看到该提示表示已成功申请免费域名:
Tips:可以使用一次性邮箱来接收注册邮件:
https://tempmail.plus
配置cloudflare的名称服务器
在Cloudflare中添加申请的免费域名:
选择DNS选项:
在freenom中为申请的域名配置Cloudflare的名称服务器:
添加 A 类型解析记录
回到Cloudflare中添加一条A解析记录,名称为申请的域名,ip地址为VPS的真实ip地址:
使用超级 Ping 发现 CDN 配置完毕,没有 VPS 的真实 IP:
VPS上CobaltStrike 的配置
连接登录cs的服务端,新建一个http 的监听器, Hosts和Beacons都设置为申请的域名:
生成一个后门exe,验证是否隐藏了cs的真实ip:
执行exe,看到机器上线:
通过netstat -ano可以看到连接的ip地址不是真实的c2地址:
注:
http 的port 端口只能设置为:
80,8080,8880,2052,2082,2086,2095
复制
https 的port 端口只能设置为:
443,2053,2083,2087,2096,8443;
复制
因为这是 Cloudflare 仅支持的端口。
通过微步在线沙箱分析发现成功隐藏了 C2 的真实 IP:
安全是一门朴素的学问,分享即进步!