前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用KubiScan扫描Kubernetes集群中的风险权限

如何使用KubiScan扫描Kubernetes集群中的风险权限

作者头像
FB客服
发布2021-05-20 16:31:38
1.1K0
发布2021-05-20 16:31:38
举报
文章被收录于专栏:FreeBufFreeBuf

关于KubiScan

KubiScan是一款能够帮助研究人员扫描Kubernetes集群中高风险权限的强大工具,在该工具的帮助下,研究人员可以轻松识别Kubernetes基于角色访问控制(RBAC)授权模型中的高风险权限。

攻击者可能利用高风险权限来攻击集群,而KubiScan可以帮助集群管理员识别和管理这种安全风险。这款工具在大型环境中尤其有用,因为在大型环境中有许多权限很难跟踪。KubiScan能够收集关于高风险角色\集群角色(roles\clusterroles)、角色绑定\集群角色绑定(rolebindings\clusterrolebindings)、用户和Pods的相关信息,并且可以将传统的手工流程以自动化的形式完成,并为管理员提供降低风险所需的可见性。

功能介绍

识别高风险角色\集群角色; 识别高风险角色绑定\集群角色绑定; 识别高风险主体(用户、组和服务账号); 识别高风险Pods\容器; 从Pods中导出令牌; 获取跟角色、集群角色或主体(用户、组和服务账号)相关联的角色绑定\集群角色绑定; 列举指定的主体(用户、组和服务账号); 列举角色的角色绑定\集群角色绑定; 显示可通过变量访问敏感数据的Pods; 获取集群的BootScrap令牌;

工具使用

依赖组件

Python 3.5+ Pip3; Kubernetes Python客户端; Prettytable Openssl

Ubuntu安装样例

代码语言:javascript
复制
apt-get update
apt-get install -y python3 python3-pip
pip3 install kubernetes
pip3 install PTable

接下来,运行下列命令以kubiscan别名来使用KubiScan:

代码语言:javascript
复制
alias kubiscan='python3 /<KubiScan_folder/KubiScan.py'

从主节点运行

在主节点上,存在有~/.kube/config文件以及所有相关证书的情况下,运行下列命令:

代码语言:javascript
复制
kubiscan <command>

比如说,下列命令将显示所有的风险主体:

代码语言:javascript
复制
kubiscan -rs

在远程主机上运行

我们可以从远程主机上运行该工具,你将需要一个特权服务账号,然后运行下列命令:

代码语言:javascript
复制
kubiscan -ho <master_ip:master_port> -t /token <command>

使用样例

广大研究人员可以直接在命令行窗口中运行下列命令:

代码语言:javascript
复制
python3 KubiScan.py -e

或在容器中运行下列命令:

代码语言:javascript
复制
kubiscan -e
代码语言:javascript
复制
工具演示视频

下面演示的是KubiScan的基础使用方法:

视频地址:https://cyberark.wistia.com/medias/0lt642okgn?wvideo=0lt642okgn

风险角色YAML

项目中有一个名为risky_roles.yaml的文件,该文件包含了风险橘色的优先级模板。虽然每个角色的类型都为Role,但这些模板能够跟集群中任何的Role\ClusterRole进行比对。

每一个这样的角色都会跟集群中的角色对比,如果检测到集群中包含风险角色,则会对风险进行标记。

我们已经将所有的高风险角色添加进了模板,研究人员也可以根据自己的需要去修改或添加更多的风险角色。

项目地址

KubiScan:https://github.com/cyberark/KubiScan

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能介绍
  • 工具使用
    • 依赖组件
      • Ubuntu安装样例
        • 从主节点运行
          • 在远程主机上运行
          • 使用样例
          • 风险角色YAML
          • 项目地址
          • 许可证协议
          相关产品与服务
          访问管理
          访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档