Аудиторам/пентестерам на вооружение, а защитникам (Blue team, DevSecOps) на заметку.

Щит и меч как известно две стороны одной медали.



Рассмотрим сегодня классную технику побега из контейнера или, с другой стороны, очень опасную конфигурацию workload.

Если внутрь Pod смонтирована директория /var/log и атакующего есть ServiceAccount token на чтение nodes/log, то он может общаться в Kube API Server, используя этот token. Он может считать все данные с файловой системы Node на которой работает Pod из которого он шлет запросы.



В проекте kube-pod-escape автор реализовал полностью подобную ситуацию и еще 3 полезные команды для проведения самой атаки:

- lsh - аналог ls, для работы из контейнера на хосте

- cath - аналог cat, для работы из контейнера на хосте

- find_sensitive_files.py - считывает с хоста критичные файлы типа private keys и других ServiceAccount token



Согласитесь с первого взгляда монтирование логов и обращение к ним не смотрится как что-то что может привести к побегу из контейнера, и как то что нужно запрещать на том или ином уровне.