
Эмуляция атакующего Red Team для K8S на основе kubectl

Red Kube — это набор команд kubectl, предназначенных для оценки состояния безопасности кластеров Kubernetes с точки зрения злоумышленника.
Команды могут быть пассивными (для сбора данных и раскрытия информации) или активными (для выполнения реальных действий, влияющих на кластер).
Команды сопоставлены с тактиками MITRE ATT&CK, чтобы понять, где у нас больше всего пробелов, и расставить приоритеты в выводах.
Текущая версия обёрнута в модуль оркестрации на Python для выполнения нескольких команд за один запуск на основе различных сценариев или тактик.
Пожалуйста, используйте с осторожностью, так как некоторые команды являются активными и активно развёртывают новые контейнеры или изменяют конфигурацию управления доступом на основе ролей.
Предупреждение: Не используйте команды red-kube на кластере Kubernetes, который вам не принадлежит!
python3 requirements
pip3 install -r requirements.txt
kubectl (Ubuntu / Debian)
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
kubectl (Red Hat based)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
jq
sudo apt-get update -y
sudo apt-get install -y jq
usage: python3 main.py [-h] [--mode active/passive/all] [--tactic TACTIC_NAME] [--show_tactics] [--cleanup]
required arguments:
--mode run kubectl commands which are active / passive / all modes
--tactic choose tactic
other arguments:
-h --help show this help message and exit
--show_tactics show all tactics
1 Первый семинар с Lab01 и Lab02 Ссылка на вебинар
2 Второй семинар с Lab03 и Lab04 Ссылка на вебинар
Почему выбран kubectl, а не использование Kubernetes API на Python?
При проведении оценки Red Team и эмуляции действий противника важны быстрые манипуляции и настройки используемых инструментов. Возможность проводить такие оценки и комбинировать методы атак на K8S на основе kubectl и мощных команд Linux значительно сокращает время и усилия.
Это исследование проведено командой безопасности Lightspin. Для получения дополнительной информации свяжитесь с нами по адресу [email protected].
Этот репозиторий доступен по лицензии Apache License 2.0.
| Тактика | Количество |
|---|
| Разведка | 2 |
| Начальный доступ | 0 |
| Выполнение | 0 |
| Устойчивость | 2 |
| Повышение привилегий | 4 |
| Обход защиты | 1 |
| Доступ к учётным данным | 8 |
| Обнаружение | 15 |
| Боковое перемещение | 0 |
| Сбор | 1 |
| Командование и управление | 2 |
| Экфильтрация | 1 |
| Воздействие | 0 |