利用Cloudflare零信任进行C2通信及防护
什么是ZeroTrust(零信任安全)?
零信任安全是一种IT安全模型,要求对尝试访问专用网络上的资源的每个人和设备进行严格的身份验证,无论他们是位于网络边界内部还是外部。ZTNA(ZeroTrust Network Access,零信任网络访问)是与零信任架构相关的主要技术,但零信任是一种全面的网络安全方法,它结合了几种不同的原则和技术。———Cloudflare
如其所定义一样,ZeroTrust(零信任安全)是一种IT安全模型,它结合了好几种不同的安全原则和技术。比如,Tunnel提供对私有网络的访问,应用策略对客户端进行访问控制,SSO提供对资源访问的统一认证,安全网关可进行病毒查杀、流量审计,还有日志服务对所有的请求进行记录、分析等。
Tunnel工作原理
使用Cloudflare隧道,无需将流量发送到外网IP,而是在主机上运行一个轻量级守护程序,该守护程序只与Cloudflare边缘网络创建出站连接,该主机可访问Cloudflare边缘网络即可。
Cloudflare Tunnel与用户帐户中的DNS记录一一对应,对特定域名的请求首先到达Cloudflare的边缘网络,然后Cloudflare边缘网络通过隧道将这些请求发送到源服务器
示意图如下:
>>>> 0x02 设置隧道
前置要求: 将站点添加至Cloudflare 域名服务器修改为Cloudflare
注:Cloudflare提供两种方式进行隧道设置,一种命令行模式,另一种图形化方式。图形化方式设置、管理都更为方便, 推荐使用图形化方式 。这里对两种配置方式都进行一次记录。 一、命令行模式
1. 安装Cloudflared wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
2.认证
执行命令 cloudflared tunnel login
运行此命令将生成一个链接,点击该链接,打开浏览器窗口并按提示登录Cloudflare帐户。
登录后,选择对应的域,点击"授权"
完成后,会在在默认的Cloudflare缓存目录中生成帐户证书 (/root/.cloudflared/cert.pem ) 。
3. 创建隧道 cloudflared tunnel create <隧道名>
运行此命令将以提供的名称创建一个隧道,同时会生成一个 UUID 与该隧道进行关联。记下隧道的 UUID 和隧道凭据文件的路径。
e.g
确认隧道是否创建成功 cloudflared tunnel list
4. 创建配置文件
在默认Cloudflared配置文件目录中创建对应的配置文件。该配置文件将配置隧道将指定源的流量路由至你指定的主机名上。
语法: url: http://localhost:8000 tunnel: credentials-file: /root/.cloudflared/.json
e.g
5. 流量路由
配置一个CNAME记录,将对应子域名的流量定向到隧道。
路由单个应用 cloudflared tunnel route dns
e.g
验证路由配置是否生效,Cloudflare控制面板DNS配置处,确认是否正确配置对应的CNAME记录。
6. 运行隧道 cloudflared tunnel run <隧道名或UUID>或cloudflared tunnel --config /path/your-config-file.yaml run
⚠️注意:如果配置文件名进行了自定义,或者路径不是在默认的 .cloudflare 目录中,则需使用--config 选项来指定对应的配置文件路径。
e.g
7.检查隧道 cloudflared tunnel info <隧道名或UUID>
8.测试
Web访问正常
Web访问测试正常,但CobaltStrike上线测试报错。原因是因为请求中的域名 localhost 与listener证书中的域名不匹配导致。
查看文档之后,发现cloudflared使用名为Ingress的规则进行配置。
修改其配置,设置配置项 noTLSVerify=true ,不进行SSL证书验证。
⚠️注意: Ingress 是通过hostname与Path进行匹配的,匹配到即进行对应设置的路由转发。且需强制配置一个Catch-All 条件,即访问请求不匹配任何Ingress 规则时,所执行的转发动作,如这里的http_status:404 ,否则会报错。
e.g
二、图形化方式配置
登录Cloudflare,进入ZeroTrust主页
首次使用,会要求配置 团队名
选择免费计划、付款方式,然后支付
进入Zero Trust主页面板后,访问菜单【Access】-> 【Tunnels】即可对所有隧道进行管理。
创建新的隧道
按安装指令进行安装
完成之后,进行相应的路由配置。可以配置只转发单个服务,也可以配置转发整个网络。
⚠️注意:通过Cloudflared控制面板对命令行方式创建的隧道进行管理,需要先对其进行配置迁移。Cloudflare提供了自动化迁移步骤,几乎一键迁移。
e.g
至此,我们即可将内网端口通过Cloudflare的隧道转发出来了。
e.g
CobaltStrike新建了一个Listener,监听8743端口,但是未开启防火墙,所以正常情况是无法访问的。但是,通过Cloudflare隧道转发出来的域名却可以访问。
e.g
现在内网的端口是转发出来了,但是还存在一个问题。比如这里如果域名被扫描器扫到了,那么我们的CS服务器就会被暴露,可能会被标记,这是我们不可接受的。这里就需要利用到Cloudflare ZeroTrust的另一功能。
>>>> 0x03 ZeroTrust授权配置
正如Cloudfalre对其ZeroTrust的描述一样零信任安全是一种 IT 安全模型,要求尝试访问专用网络上的资源的每个人和设备进行严格的身份验证,无论他们是位于网络边界内还是外部。Cloudflare ZeroTrust可以给服务添加强制认证。
1. 生成Service Token
隧道配置完成之后,第一步先生成 Service Token 。Cloudfalre ZeroTrust控制面板处,访问【Access】-【Service Auth】,创建Service Token
2. 配置应用
然后,Cloudfalre ZeroTrust控制面板,访问【Access】-【Application】,选择添加应用Add an application,选择Self-hosted。
配置应用名、超时时间、子域名信息后,选择下一步。
接下来,需要配置策略。 策略用于访问控制和认证等配置,控制谁可以访问该应用。
策略使用规则进行定义,规则用于配置基于哪种条件进行访问控制。比如,IP地址、IP地理位置、用户邮箱、客户端证书、 Service Token 等。这里我们使用Service Token ,选择上一步生成的Service Token ,继续下一步。
接下来是一些额外的配置,包括跨域、cookie属性等,按需设置,完成。这里保持默认。 3. 测试
完成之后,再次访问转发出来的域名,则需要进行访问控制校验。
添加Service Token后,再次访问,可以访问资源但是还需要进行二次认证。
这里使用OTP认证,使用邮箱接收OTP密码后,即可正常访问资源。
对于一般Web应用来说,我们的需求已经实现了。但是,对于CobaltStrike上线来说,该机制过于"安全"了,因为对于Beacon来说,是无法通过邮箱接收OTP密码或者进行二次认证的。
查阅文档后,Cloudflare ZeroTrust提供不使用第三方认证服务的选项,即只使用客户端证书、 Service Token 进行认证。
重新编辑应用策略,【Action】选项处选择 Service Auth 即可。
再次测试,使用 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/#notlsverifyhttps://0xsp.com/offensive/red-ops-techniques/abuse-cloudflare-zerotrust-for-c2-channels/
from https://mp.weixin.qq.com/s?__biz=MzIzODAwMTYxNQ==&mid=2652143041&idx=1&sn=41a4831164eabffb17beda16a3d4d67a
跳水冠军赛王宗源强势夺金小将郑九源摘银3月21日晚,上海2023年全国跳水冠军赛暨奥运会福冈世锦赛亚运会成都大运会选拔赛,进行了男子单人3米板决赛,我省选手王宗源小将郑九源包揽了冠亚军。省体育局局长水兵观赛,并为获奖选
战斗力如何?德转晒意甲最贵11人阵米兰双雄和那不勒斯占大头直播吧3月22日讯德转更新社交媒体状态,晒出了意甲最贵十一人。这套阵容的总身价高达7。25亿欧元,以下是具体名单门将迈尼昂(3500万欧元)后卫巴斯托尼(5500万欧元)什克里尼亚
大泊口海菜花开见证滇池治理变迁来源云南日报水域清澈能见度高,绽放的海菜花犹如点点星光洒在水面上,随手一拍都是精美壁纸3月21日,昆明市滇池管理局开展阳春三月一起拍滇池海菜花活动,展示滇池保护治理成效,引导广大市
(130)非洲绝望的国家之一乍得由于乍得远离海洋,又地处热带,降雨稀少,大部分国土被沙漠覆盖,无法进行农工业生产,严重缺乏淡水,生存环境恶劣,所以该国又被称为非洲死亡之心。在近年刊发的人类发展指数中,乍得排名全球
多坝沟胡杨峡散记天蒙蒙亮,我们从敦煌出发,走出七里镇不远,车道分岔成Y型。我们沿当金山脚下的路开往西南方向,去多坝沟胡杨峡,都说那儿的秋色很美。多坝沟胡杨峡位于阿克塞县阿克旗乡。行走在茫茫戈壁滩,
鲁西新区丹阳街道佳时不可殆,满城花如海鲁西新区丹阳街道佳时不可殆,满城花如海风和日丽,春和景明。在赵王河和洙水河,在天香公园和林荫广场,在大剧院和新天地公园,在剑桥学府和中央公馆,行走在鲁西新区丹阳街道,你随处就可以看
豫见玉兰香聚南召第六届中国玉兰研讨会开幕顶端新闻河南商报记者张治中通讯员杜丰谷小永3月22日,豫见玉兰香聚南召第六届中国玉兰研讨会在中国辛夷之乡中国玉兰之乡南阳市南召县开幕。近年来,南召县紧紧围绕打造省市领先国内先进的花
江西大老虎落马,大搞钱色交易,为情人办事时露马脚江西大老虎落马,大搞钱色交易,为情人办事时露马脚常言道国有国法,但很多人显然是不以为意的,因此才会肆无忌惮的贪财敛财,不把法律放在眼里,但每个人都要为自己犯下的错误,付出代价,因此
武则天墓前有61个无头石人,千年来无人破解,却被2个农民解开?关于武则天墓前的61个无头石人的解释,确实有多种说法和传说,直到20世纪初,这个61个无头石人之谜终于被两位勇敢的农民解开。这个历史之谜千百年来一直困扰着历史学家和考古学家们。现在
尽南宋之力支持岳飞北伐,可以成功吗?结果可能出乎你的期望尽南宋之力支持岳飞北伐,可就挽救宋朝吗?这个问题,古人就有过讨论。关键要看你如何理解拯救宋了。若是想南宋不被金灭,则不需要讨论,因为岳飞被杀后,宋金议和了。如果是想收复开封,倒是可
广东落马女干部履历惊奇从幼师一路高升,32岁成副处级她出生于1964年,现年59岁,已经退居二线,而且马上就要退休了却被有关部门调查。这背后有些耐人寻味的细节。广东落马女干部履历惊奇从幼师一路高升,32岁成副处级最近,广东一位女干部
秋天,喝杯红茶暖暖胃手把手教你泡一杯好红茶全文约1586字,阅读需要35分钟本文由小梅子原创,首发于知乎1昨晚睡得不好,辗转反侧,早上起来睡眼迷离。坐在床边,久久未能清醒。走进卫生间,对着镜子发呆好久,依然昏昏沉沉。随意梳
早安愿好运与你相伴而行,绽放你的微笑,感受生活的美好太阳早安今天太阳今天是2022年9月27日,星期二,农历九月初二早上好,新的一天,愿美丽的阳光美丽你的心情,好运与你相伴而行,不忙碌,不烦恼,绽放你的微笑,感受生活的美好,愿你成为
蓝桉枯,释怀孤蓝桉已遇释槐鸟,不爱万物唯爱你!一种树叫蓝桉,有毒且霸道,会杀身边全部的植物,但它只允许一种鸟栖息在上面,鸟的名字叫释怀鸟。尽管一生中会遇到很多人,但能让我愿意停留和偏爱的只有一人
迎国庆5首(一)雀跃欢呼道良辰,轻歌曼舞迎国庆。征途万里蓝图绘,砥砺前行美梦真。(二)飒爽英姿列阵容。星璨云飞溢彩虹。闪烁华灯车载路,狮龙腾跃颂丰功。(三)每逢十月故事多,共迎盛会舞婆娑。中
华山论道大雨都不肯淋湿的人,你怎么舍得让她难过生活治愈了我们,我们也在治愈生活,我们彼此成就,我们会是彼此坚定的选择。我们从未分开,我们从未想过要分开。城市再拥挤也容得下你,不要用自己负能量的情绪去看待一个问题的表面,如果你觉
三年学会说话,一生学会闭嘴慢慢发现一个规律,无论对孩子,对父母,对另一半,话都不能说多了,任何的苦口婆心谆谆教导,任何的千叮咛万嘱咐,任何的一百个不放心,最后大概率上都会,遭人厌倦,伤到自己的心。原因无外乎
花容寂寂,如烟似缕回眸春光岁月长(诗一首)岁月沧桑谁与谁擦肩而过与你相遇留在记忆的长河中成了人生的经典恋一回红尘旧梦一缕菊韵桂香逶迤着你曾经的柔软晨风中品读了你的挚爱夕阳里旖旎着你的眷念你昨日的笑靥
格言联璧,做个诚实人,致诚者如神格言联璧536明镜止水以澄心,泰山乔岳以立身青天白日以应事,霁月光风以待人。译文内心净化得像镜子般明亮像不流的水一样澄澈用泰山的崇高来约表自己的品行做事要清正廉明,不偏袒徇私待人要
扳着指头找知己,你有几个?扳着指头找知己,你有几个?过去酒逢知已千杯少,现在酒逢千杯知已少。酒逢知己千杯少,说明人生需要知己,要有知心朋友,有共同志向和兴趣,谈话投契的人,这样才能更好地在社会中生活。酒逢千
从此,各自安好昨晚凌晨,收到了一条朋友的消息我还是忘不了他怎么办?我说忘不了就去听会儿歌吧,听好多好多歌以后,或许就可以把他彻底忘记了。好像每个人心中都住着这么一个人,在心里就好像是一根刺。每每
一个男人有这些特征,他只是大器晚成天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为。这句著名的孟子名言很多人都见过,但是极少数人真正用它来鼓励自己成长。在这浮华掠影的世间,人们行色匆匆,