
Red Team K8S Emulação de Adversários Baseada em kubectl

Red Kube é uma coleção de comandos kubectl escritos para avaliar a postura de segurança de clusters Kubernetes da perspectiva do atacante.
Os comandos são passivos para coleta de dados e divulgação de informações ou ativos para executar ações reais que afetam o cluster.
Os comandos são mapeados para as Táticas MITRE ATT&CK para ajudar a ter uma noção de onde temos mais lacunas e priorizar nossas descobertas.
A versão atual é encapsulada com um módulo de orquestração em Python para executar vários comandos em uma única execução com base em diferentes cenários ou táticas.
Por favor, use com cuidado, pois alguns comandos são ativos e implantam ativamente novos contêineres ou alteram a configuração de controle de acesso baseado em funções.
Aviso: Você NÃO deve usar comandos red-kube em um cluster Kubernetes que não lhe pertence!
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 Primeiro Workshop com Lab01 e Lab02 Link do Webinar
2 Segundo Workshop com Lab03 e Lab04 Link do Webinar
Por que escolher kubectl e não usar a api do kubernetes em python?
Ao realizar avaliações de equipe vermelha e emulações de adversários, as manipulações e ajustes rápidos nas ferramentas usadas no arsenal são críticos.
A capacidade de realizar tais avaliações e combinar as técnicas de ataque k8s baseadas em kubectl e comandos poderosos do Linux reduz significativamente o tempo e o esforço.
Esta pesquisa foi realizada pela Equipe de Pesquisa de Segurança da Lightspin. Para mais informações, contate-nos em [email protected].
Este repositório está disponível sob a Licença Apache 2.0.
| Tática | Contagem |
|---|
| Reconhecimento | 2 |
| Acesso Inicial | 0 |
| Execução | 0 |
| Persistência | 2 |
| Escalação de Privilégio | 4 |
| Evasão de Defesa | 1 |
| Acesso a Credenciais | 8 |
| Descoberta | 15 |
| Movimento Lateral | 0 |
| Coleta | 1 |
| Comando e Controle | 2 |
| Exfiltração | 1 |
| Impacto | 0 |