Domain Fronting
红队基础建设之Domain Fronting
红队基础建设之Domain Fronting
简介
Domain Fronting(域前缀),是一种隐藏真实C2服务器IP且同时能伪装为与高信誉域名通信的技术。
- 技术原理图
原理
Domain Fronting的核心技术主要是利用了CDN
举例
- nslookup
两个网站使用的是同一个CDN
请求klst.96jm.com (301状态)
< HTTP/1.1 301 Moved Permanently < Server: Tengine < Date: Sat, 21 Mar 2020 05:58:57 GMT < Content-Type: text/html < Content-Length: 278 < Connection: keep-alive < Location: https://klst.96jm.com/ < Via: cache4.cn899[,0] < Timing-Allow-Origin: * < EagleId: 3cddc21815847703378007817e < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <h1>301 Moved Permanently</h1> <p>The requested resource has been assigned a new permanent URI.</p> <hr/>Powered by Tengine</body> </html> * Connection #0 to host klst.96jm.com left intact
请求 www.shhorse.com.cn (403状态)
< HTTP/1.1 403 Forbidden < Server: Tengine < Content-Type: text/html < Content-Length: 597 < Connection: keep-alive < Cache-Control: no-cache < x-alicdn-da-ups-status: endOs,0,403 < Via: cache11.l2cm12-6[50,0], cache2.cn899[86,0] < Timing-Allow-Origin: * < EagleId: 3cddc21615847703796571626e < <html> <head>
请求CDN
curl klst.96jm.com -H "www.shhorse.com.cn" -v
实践
配置CDN
- Tips
但由于某云有一个有趣的特点:当 CDN 配置中的源 IP 为自己云的服务器时,加速时会跳过对域名的检验,直接与配置中的域名绑定的源服务器IP进行通信。利用该特性,我们不需要真正去申请 CDN 时所填写的域名中配置解析相应的 CNAME 了。换言之,只要我们的C2服务器属于该云的服务器,那么我们就无需申请域名,只需要在申请 CDN 时随便填一个没有人绑定过的域名就好了,而且这个域名我们可以填成任何高信誉的域名,例如xxx.microsoft.com.
- 申请CDN
马赛克处是你c2的IP
- 过几分钟查看状态
配置CobaltStrike
- 配置C2 profile
- WebLog查看请求
- 添加一个监听器
Agent Generator
下载地址
https://codeload.github.com/mdsecactivebreach/CACTUSTORCH/zip/master
加载
- 生成
- 执行
查看通讯
Netstat -an
发现是与CDN进行通讯,隐藏了真实的c2
参考
https://www.anquanke.com/post/id/195011