
Emulación de adversarios de Red Team en K8S basada en kubectl

Red Kube es una colección de comandos de kubectl diseñados para evaluar la postura de seguridad de los clústeres de Kubernetes desde la perspectiva del atacante.
Los comandos son pasivos (para recopilación de datos y divulgación de información) o activos (para realizar acciones reales que afectan al clúster).
Los comandos se asignan a las tácticas de MITRE ATT&CK para ayudar a comprender dónde se concentran la mayoría de las brechas y priorizar los hallazgos.
La versión actual incluye un módulo de orquestación en Python para ejecutar varios comandos en una sola ejecución basada en diferentes escenarios o tácticas.
Úselo con cuidado, ya que algunos comandos son activos e implementan nuevos contenedores o modifican la configuración de control de acceso basado en roles.
Advertencia: NO debe usar comandos de red-kube en un clúster de Kubernetes que no le pertenezca.
Requisitos de python3
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 (basado en Red Hat)
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 Primer taller con Lab01 y Lab02 Enlace al seminario web
2 Segundo taller con Lab03 y Lab04 Enlace al seminario web
¿Por qué elegir kubectl y no usar la API de Kubernetes en Python?
Al realizar evaluaciones de red team y emulaciones de adversarios, las manipulaciones y ajustes rápidos de las herramientas utilizadas en el arsenal son críticos.
La capacidad de ejecutar dichas evaluaciones y combinar las técnicas de ataque de Kubernetes basadas en kubectl y comandos potentes de Linux reduce significativamente el tiempo y el esfuerzo.
Esta investigación fue realizada por el equipo de investigación de seguridad de Lightspin. Para más información, contáctenos en [email protected].
Este repositorio está disponible bajo la Licencia Apache 2.0.
| Tactic | Count |
|---|
| Reconnaissance | 2 |
| Initial Access | 0 |
| Execution | 0 |
| Persistence | 2 |
| Privilege Escalation | 4 |
| Defense Evasion | 1 |
| Credential Access | 8 |
| Discovery | 15 |
| Lateral Movement | 0 |
| Collection | 1 |
| Command and Control | 2 |
| Exfiltration | 1 |
| Impact | 0 |