Kubernetes RBAC abusado para criar cluster backdoors persistentes
24 de Abril de 2023

Hackers estão usando um novo método envolvendo RBAC (Controle de Acesso Baseado em Funções) para criar contas de backdoor persistentes em clusters Kubernetes e sequestrar seus recursos para mineração de criptomoedas Monero.

O RBAC é um sistema de controle de acesso da API Kubernetes que permite aos administradores definir quais usuários ou contas de serviço podem acessar os recursos e operações da API.

Aproveitando-se do RBAC para impor políticas maliciosas de controle de acesso, os atores ameaçadores podem persistir em clusters comprometidos, mesmo que a má configuração que forneceu acesso inicial seja corrigida no futuro.

Esse novo tipo de ataque foi descoberto pela equipe de pesquisa da Aqua Security, "Nautilus", que nomeou a campanha de 'RBAC Buster'.

Os analistas relatam que a campanha de ataque foi observada sendo usada ativamente para comprometer 60 clusters Kubernetes mal configurados.

A Aqua Security pôde registrar e analisar o ataque depois que os atores ameaçadores violaram um de seus honeypots Kubernetes que foram propositadamente mal configurados para expor chaves de acesso e APIs.

O acesso inicial ao cluster Kubernetes de destino é alcançado por meio de solicitações não autenticadas de usuários anônimos com privilégios, sendo assim, o servidor de API precisa estar mal configurado.

Em seguida, o atacante envia solicitações HTTP para listar segredos e faz solicitações de API para coletar informações sobre o cluster, listando entidades no namespace 'kube-system'.

Nesta fase, o atacante verifica se o servidor já foi comprometido por sua campanha, implantada como 'kube-controller', ou se outros concorrentes do cibercrime já comprometeram o cluster.

Se encontrar implantações de outros atacantes, ele as excluirá para assumir o controle dos recursos do dispositivo para seu uso malicioso.

O próximo passo é quando o atacante ganha persistência no cluster criando um novo 'ClusterRole' com privilégios quase administrativos e um ServiceAccount 'kube-controller' no namespace 'kube-system'.

Por fim, o atacante cria um ClusterRoleBinding chamado 'system:controller:kube-controller', vinculando o ClusterRole com o ServiceAccount para persistir no cluster, mesmo no caso de 'acesso de usuário anônimo' estar desativado.

Um ClusterRoleBinding chamado 'kube-controller' foi usado para evitar detecção e se misturar em logs, pois esse nome é semelhante a um daemon legítimo usado pelo Kubernetes.

O honeypot da AquaSec expôs intencionalmente chaves de acesso da AWS, e a empresa de segurança percebeu que os atacantes aproveitaram-nas para tentar coletar informações adicionais da instância da nuvem à qual tinham acesso.

O último passo do ataque é criar um DaemonSet para implantar uma imagem de contêiner hospedada no Docker Hub ('kuberntesio/kube-controller') em todos os nós com uma única solicitação de API e começar a minerar a criptomoeda Monero, difícil de rastrear, no servidor comprometido.

A Aqua Security descobriu que o contêiner malicioso 'kube-controller' foi implantado e localizado no registro público do Docker como 'kuberntesio/kube-controller:1.0.1'.

Esse nome se passa pela conta legítima 'kubernetesio' e pela imagem popular 'kube-controller-manager'.

Este último é um componente crítico em execução contínua do plano de controle do Kubernetes, responsável por detectar e responder a falhas de nó, portanto, é fácil para os administradores ignorá-lo.

A AquaSec relata que a imagem do contêiner em particular foi baixada mais de 14.000 vezes do Docker Hub durante os cinco meses desde que foi carregada pela primeira vez no repositório, indicando que a campanha é ampla.

Ao recuperar o endereço da carteira do arquivo de configuração, o atacante já havia minerado 5 XMR e tem o potencial de fazer o equivalente a US $ 200 por trabalhador por ano.

As repercussões dos ataques RBAC Buster em clusters Kubernetes podem ser significativas e incluem acesso não autorizado a dados, exposição de segredos, sequestro de recursos e potencialmente até danos à reputação.

Para mitigar a ameaça, proteja o servidor de API desativando solicitações não autenticadas de usuários anônimos e crie e aplique políticas de acesso à API estritas usando o RBAC de forma eficaz.

Os administradores também são instados a monitorar os logs de auditoria e criptografar quaisquer segredos e credenciais de conta hospedados no cluster.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...