TG Telegram Group & Channel
k8s (in)security | United States America (US)
Create: Update:

Казалось – через 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 и не привлечет много внимания, чего порой нужно добиться на пентесте.

Казалось – через 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<<

k8s (in)security






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)