
Red Kube 是一组 kubectl 命令的集合,旨在从攻击者的角度评估 Kubernetes 集群的安全态势。
这些命令要么是被动的,用于数据收集和信息泄露;要么是主动的,用于执行实际影响集群的操作。
这些命令映射到 MITRE ATT&CK 战术,有助于了解我们在哪些方面存在最大的差距,并优先处理调查结果。
当前版本封装了一个 Python 编排模块,可以根据不同的场景或战术在一次运行中执行多个命令。
请谨慎使用,因为某些命令是主动的,会实际部署新容器或更改基于角色的访问控制配置。
警告:您不应在非自己拥有的 Kubernetes 集群上使用 red-kube 命令!
python3 依赖
pip3 install -r requirements.txt
kubectl(Ubuntu / Debian)
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
kubectl(基于 Red Hat 的系统)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
jq
sudo apt-get update -y
sudo apt-get install -y jq
usage: python3 main.py [-h] [--mode active/passive/all] [--tactic TACTIC_NAME] [--show_tactics] [--cleanup]
required arguments:
--mode run kubectl commands which are active / passive / all modes
--tactic choose tactic
other arguments:
-h --help show this help message and exit
--show_tactics show all tactics
1 第一次研讨班:Lab01 和 Lab02 研讨班链接
2 第二次研讨班:Lab03 和 Lab04 研讨班链接
为什么选择 kubectl 而不是使用 Python 中的 Kubernetes API?
在进行红队评估和对手模拟时,快速操作和调整兵工厂中使用的工具至关重要。
能够基于 kubectl 和强大的 Linux 命令运行此类评估并组合 k8s 攻击技术,可以显著减少时间和精力。
本研究由 Lightspin 安全研究团队完成。 欲了解更多信息,请通过 [email protected] 联系我们。
本仓库基于 Apache License 2.0 许可证。
| 战术 | 计数 |
|---|
| 侦察 | 2 |
| 初始访问 | 0 |
| 执行 | 0 |
| 持久化 | 2 |
| 权限提升 | 4 |
| 防御规避 | 1 |
| 凭证访问 | 8 |
| 发现 | 15 |
| 横向移动 | 0 |
| 收集 | 1 |
| 命令与控制 | 2 |
| 渗透 | 1 |
| 影响 | 0 |