利用域前置隐藏cs流量和ip,增加溯源难度

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了利用域前置隐藏cs流量和ip,增加溯源难度脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1 环境

cs4.3(cs4.4版本未知原因,无法正常上线)

服务端:Ubuntu20.4

客户端:win10

2 基本思路

域前置(Domain fronting),是一种隐藏连接真实端点来规避互联网审查的技术。在应用层上运作时,域前置使用户能通过 HTTP/HTTPS 连接到被屏蔽的服务,而表面上像是在与另一个完全不同的站点通信。因此,宏观定义的域前置应该包含 HTTP 和 HTTPS 两种情况,所以本文主要复现 HTTP/HTTPS两种情况。

简单理解:

表面看, CDN 通讯域名(我们看得到的);

实际上, CS真实 IP(我们看不到的)。

也就是我们常见的网站套了CDN,找不到服务器真实ip的情况。

上线原理为 受害者主机运行木马----->CDN---->cs服务器收到上线

执行操作原理为 cs服务器执行命令----->CDN接收----->受害者主机执行命令

3 操作

第一步:申请一台云服务器,国内任意云都可以。部署cs4.3服务端,检察是否可以正常运行。

第二步:域名申请或购买

这里我使用domains免费的国外域名(国内域名需要备案。域名备案后,隐藏cs流量的操作将毫无意义)

利用域前置隐藏cs流量和ip,增加溯源难度

第三步:CDN申请或购买

使用Cloudflare免费的CDN服务,在DNS处添加名称为www,内容为云服务器ip的记录,代理状态变为已代理说明域名已经解析至云服务器。但现在的解析是直接解析到云服务器的,ping域名会返回云服务器的真实ip。

利用域前置隐藏cs流量和ip,增加溯源难度

接下来将Cloudflare 名称服务器替换至domains的域名服务器。如下图:

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

设置成功后等待一段时间,会邮件通知我们替换成功。

替换成功后使用站长ping检测多个地点Ping服务器,网站测速 - 站长工具,检测我们的域名,发现已经全部为CDN的地址。至此我们的云服务器ip已经隐藏成功,溯源者无法通过域名定位真实ip。

利用域前置隐藏cs流量和ip,增加溯源难度

第四步:cs配置文件Profile

 Github有很多cs-Profile供我们使用,这里我使用threatexpress的jquery-Profile,链接就不放了以,可以去github上搜。

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

 下载后根据对Profile进行修改。需要修改的内容主要有七处,

一个是https-certificate模块中的keystore和password,修改后把注释去掉。

利用域前置隐藏cs流量和ip,增加溯源难度

keystore的生成方法:去Cloudflare的SSL/TLS源服务器创建证书,使用默认配置生成pem和key。

利用域前置隐藏cs流量和ip,增加溯源难度

 

利用域前置隐藏cs流量和ip,增加溯源难度

复制证书创建txt导入,修改文件名为xxxx.pem

复制私钥创建txt导入,修改文件名为xxxx.key

将创建的pem和key文件上传至云服务器。执行以下命令(www.xxx.com为申请的域名)

openssl pkcs12 -export -in xxxx.pem -inkey xxxx.key -out www.xxx.com.p12 -name www.xxx.com -passout pass:123456

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.xxx.com.store -srckeystore www.xxx.com.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.xxx.com

生成的keystore文件将该文件放在云服务器CS的根目录下。

利用域前置隐藏cs流量和ip,增加溯源难度

然后将keystore文件名称和密码填入profile文件中。

另外三处为http-stager、http-get、http-post模块中的Host和Referer。

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

剩余三处为Profile中的响应头配置,其中的header "Content-Type" "application/javascript; charset=utf-8";修改为:header "Content-Type" "application/*; charset=utf-8";

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

在修改完成后,使用CS自带的c2lint对profile语法进行检查,没有报错的话说明配置是对的。

利用域前置隐藏cs流量和ip,增加溯源难度

第五步:修改CDN配置

在这个Profile中,我们请求的URI是以.js结尾的,Cloudflare作为一个CDN肯定要去缓存它,但这样的话请求就无法到达我们的CS服务器,自然也就无法上线了。使用开发模式并清除缓存。

利用域前置隐藏cs流量和ip,增加溯源难度

在规则中设置不代理js请求。

利用域前置隐藏cs流量和ip,增加溯源难度

第六步  测试上线

 启动cs,设置配置为修改好的profile

利用域前置隐藏cs流量和ip,增加溯源难度

 对CS的listener进行配置。填入三次自己的域名,其他的默认,在https hosts处也可添加站长ping出来的cdn ip

 

利用域前置隐藏cs流量和ip,增加溯源难度

生成木马,在pc运行,成功上线

利用域前置隐藏cs流量和ip,增加溯源难度

http同理,设置监听为http监听,生成木马可成功上线

利用域前置隐藏cs流量和ip,增加溯源难度

 HTTP监听和HTTPS监听

利用域前置隐藏cs流量和ip,增加溯源难度

第七步  验证数据包

上线后Wireshark捕捉到的get数据包,172.67.131.242为我们的cdn地址。host与referer为我们的域名。

利用域前置隐藏cs流量和ip,增加溯源难度

利用域前置隐藏cs流量和ip,增加溯源难度

执行命令时Wireshark捕捉到的POST数据包,172.67.131.242为我们的cdn地址。host与referer为我们的域名。

利用域前置隐藏cs流量和ip,增加溯源难度

执行命令正常回显

利用域前置隐藏cs流量和ip,增加溯源难度

4 总结

至此我们已经成功隐藏CS服务器ip和CS流量,但听蓝队大佬说依然有办法拿到真实 IP。。。。。

脚本宝典总结

以上是脚本宝典为你收集整理的利用域前置隐藏cs流量和ip,增加溯源难度全部内容,希望文章能够帮你解决利用域前置隐藏cs流量和ip,增加溯源难度所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: