
Emulazione di avversari Red Team per K8S basata su kubectl

Red Kube è una raccolta di comandi kubectl progettata per valutare la postura di sicurezza dei cluster Kubernetes dal punto di vista di un attaccante.
I comandi sono passivi per la raccolta dati e la divulgazione di informazioni, oppure attivi per eseguire azioni reali che influenzano il cluster.
I comandi sono mappati alle Tattiche MITRE ATT&CK per aiutare a capire dove abbiamo la maggior parte delle lacune e dare priorità ai nostri risultati.
La versione attuale è avvolta da un modulo di orchestrazione Python per eseguire diversi comandi in una singola esecuzione basata su diversi scenari o tattiche.
Si prega di utilizzare con cautela poiché alcuni comandi sono attivi e distribuiscono attivamente nuovi contenitori o modificano la configurazione del controllo degli accessi basato sui ruoli.
Attenzione: NON dovresti usare i comandi red-kube su un cluster Kubernetes che non possiedi!
requisiti 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 TACTIC_NAME] [--show_tactics] [--cleanup]
required arguments:
--mode esegue comandi kubectl in modalità attiva / passiva / tutte
--tactic scegli la tattica
other arguments:
-h --help mostra questo messaggio di aiuto ed esce
--show_tactics mostra tutte le tattiche
1 Primo Workshop con Lab01 e Lab02 Link al Webinar
2 Secondo Workshop con Lab03 e Lab04 Link al Webinar
Perché scegliere kubectl e non usare l'API di Kubernetes in Python?
Quando si eseguono valutazioni red team ed emulazioni avversarie, le rapide manipolazioni e modifiche degli strumenti usati nell'arsenale sono critiche.
La capacità di eseguire tali valutazioni e combinare le tecniche di attacco a K8s basate su kubectl e potenti comandi Linux riduce significativamente tempo e sforzo.
Questa ricerca è stata condotta dal team di ricerca sulla sicurezza di Lightspin. Per maggiori informazioni, contattaci all'indirizzo [email protected].
Questo repository è disponibile sotto la Licenza 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 |