本文来源自平安银河实验室
作者:fl4nker27
>>>> 0x01 概述
什么是ZeroTrust(零信任安全)?
使用Cloudflare隧道,无需将流量发送到外网IP,而是在主机上运行一个轻量级守护程序,该守护程序只与Cloudflare边缘网络创建出站连接,该主机可访问Cloudflare边缘网络即可。
>>>> 0x02 设置隧道
-
将站点添加至Cloudflare
-
域名服务器修改为Cloudflare
一、命令行模式
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
cloudflared tunnel login
cloudflared tunnel create <隧道名>
e.g
cloudflared tunnel list
在默认Cloudflared配置文件目录中创建对应的配置文件。该配置文件将配置隧道将指定源的流量路由至你指定的主机名上。
url: http://localhost:8000
tunnel: <Tunnel-UUID>
credentials-file: /root/.cloudflared/<Tunnel-UUID>.json
配置一个CNAME记录,将对应子域名的流量定向到隧道。
cloudflared tunnel route dns <UUID or NAME> <hostname>
cloudflared tunnel run <隧道名或UUID>或cloudflared tunnel --config /path/your-config-file.yaml run
cloudflared tunnel info <隧道名或UUID>
Web访问正常
⚠️注意:Ingress是通过hostname与Path进行匹配的,匹配到即进行对应设置的路由转发。且需强制配置一个Catch-All条件,即访问请求不匹配任何Ingress规则时,所执行的转发动作,如这里的http_status:404,否则会报错。
二、图形化方式配置
CobaltStrike新建了一个Listener,监听8743端口,但是未开启防火墙,所以正常情况是无法访问的。但是,通过Cloudflare隧道转发出来的域名却可以访问。
e.g
>>>> 0x03 ZeroTrust授权配置
1. 生成Service Token
2. 配置应用
然后,Cloudfalre ZeroTrust控制面板,访问【Access】-【Application】,选择添加应用Add an application,选择Self-hosted。
3. 测试
完成之后,再次访问转发出来的域名,则需要进行访问控制校验。
添加Service Token后,再次访问,可以访问资源但是还需要进行二次认证。
4. CobaltStrike上线
修改CobaltStrike profile,在所有的Client HTTP请求(http-get、http-post、http-stager)配置块中加入对应的Service Token请求头。
e.g
成功上线。
>>>> 0x04 总结
本文介绍了Cloudflare ZeroTrust功能。Cloudfalre Tunnel可将内网服务,或公网服务但不开放防火墙的情况下开放至公网,同时利用Zero Trust功能对其进行访问控制及认证,可极大程度地保证对私有服务访问的安全性。
另外,还详细记录了利用ZeroTrust进行CobaltStrike上线,并为其Listener添加“认证机制”的配置过程。
最后,目前只对Cloudflare tunnel功能针对HTTP协议进行了研究实验,其他协议如SOCKS,甚至于对私有网络的转发还需进一步研究。
>>>> 0x05 参考
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/local-management/ingress/#notlsverify
https://0xsp.com/offensive/red-ops-techniques/abuse-cloudflare-zerotrust-for-c2-channels/
银河实验室
往期回顾
技术
技术
技术
技术
点赞、分享,感谢你的阅读▼
原文始发于微信公众号(平安集团安全应急响应中心):利用Cloudflare 零信任进行C2通信及防护