Казалось – через kubectl debug
можно довольно легко сбежать на Node
(если на это есть соответствующие права):
kubectl debug node/desktop-control-plane -it --image=busybox
chroot /host
Однако, при взаимодействии с
container runtime
сокетом, можно получить такие ошибки:
ctr: failed to unmount /tmp/containerd-mount2094132404: operation not permitted: failed to mount /tmp/containerd-mount2094132404: operation not permitted
Всё дело в том, что
ephemeral container
запускается с недостаточными привилегиями. И это можно исправить просто указав флаг --profile
:
kubectl debug node/desktop-control-plane -it --image=busybox --profile=sysadmin
В этом KEP есть подробная информация о том какие возможности дает тот или иной профиль. Более подробно эту тему поднял
Rory McCune
у себя в статье – Kubernetes Debug Profiles.P.S – также для
kubectl debug
можно передать параметр -n
и тогда debug контейнер запустится в указанном неймспейсе. Особенно удобно поднимать его в kube-system
, поскольку имя Pod
будет что-то вроде node-debugger-desktop-control-plane-9gd7q
и не привлечет много внимания, чего порой нужно добиться на пентесте.
>>Click here to continue<<
