freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用KubiScan扫描Kubernetes集群中的风险权限
2021-04-20 19:51:55

关于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安装样例

apt-get update

apt-get install -y python3 python3-pip

pip3 install kubernetes

pip3 install PTable

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

alias kubiscan='python3 /<KubiScan_folder/KubiScan.py'

从主节点运行

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

kubiscan <command>

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

kubiscan -rs

在远程主机上运行

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

kubiscan -ho <master_ip:master_port> -t /token <command>

使用样例

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

python3 KubiScan.py -e

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

kubiscan -e

工具演示视频

下面演示的是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开源许可证协议。

# 风险控制 # 风险管理 # 风险识别
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录