
Émulation d'adversaire Red Team K8S basée sur kubectl

Red Kube est une collection de commandes kubectl conçue pour évaluer la posture de sécurité des clusters Kubernetes du point de vue d'un attaquant.
Les commandes sont soit passives (collecte de données et divulgation d'informations), soit actives (exécution d'actions réelles affectant le cluster).
Les commandes sont mappées aux tactiques MITRE ATT&CK afin d'aider à visualiser où se situent la plupart de nos lacunes et à prioriser nos résultats.
La version actuelle est intégrée à un module d'orchestration Python permettant d'exécuter plusieurs commandes en une seule exécution, selon différents scénarios ou tactiques.
Veuillez utiliser avec précaution, car certaines commandes sont actives et déploient activement de nouveaux conteneurs ou modifient la configuration du contrôle d'accès basé sur les rôles.
Avertissement : Vous ne devez PAS utiliser les commandes red-kube sur un cluster Kubernetes que vous ne possédez pas !
Exigences 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 (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 NOM_TACTIQUE] [--show_tactics] [--cleanup]
arguments obligatoires :
--mode exécute les commandes kubectl en mode actif / passif / tous les modes
--tactic choisir une tactique
autres arguments :
-h --help affiche ce message d'aide et quitte
--show_tactics affiche toutes les tactiques
1 Premier atelier avec Lab01 et Lab02 Lien du webinaire
2 Deuxième atelier avec Lab03 et Lab04 Lien du webinaire
Pourquoi choisir kubectl plutôt que d'utiliser l'API Kubernetes en Python ?
Lors des évaluations d'équipe rouge et des simulations d'adversaires, les manipulations et ajustements rapides des outils de l'arsenal sont essentiels.
La capacité à effectuer de telles évaluations et à combiner les techniques d'attaque Kubernetes basées sur kubectl avec de puissantes commandes Linux réduit considérablement le temps et l'effort.
Cette recherche a été menée par l'équipe de recherche en sécurité de Lightspin. Pour plus d'informations, contactez-nous à [email protected].
Ce dépôt est disponible sous la Licence Apache 2.0.
| Tactique | Nombre |
|---|
| 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 |