A Microsoft demonstrou que o comprometimento de uma única identidade pode se transformar em um amplo caminho de acesso dentro de ambientes de desenvolvimento e de nuvem, mesmo sem o uso de malware ou a exploração de vulnerabilidades. Em um novo relatório da série Cyberattack Series, a equipe Microsoft Detection and Response Team (DART) documentou o movimento do grupo Storm-3068 de uma conta comprometida para o Azure DevOps, os pipelines de desenvolvimento e os recursos do Kubernetes.
A invasão começou por meio de um processo de redefinição de senha de autoatendimento. Depois de obter acesso à conta do usuário, o invasor registrou métodos de autenticação próprios, o que lhe concedeu acesso persistente à identidade. Em seguida, utilizou ferramentas administrativas legítimas e scripts automatizados para inventariar repositórios, projetos, pipelines e ambientes de implantação no Azure DevOps.
Da identidade aos caminhos de implantação
O Azure DevOps era um ponto de alto valor porque conecta identidade, desenvolvimento de software e operação da nuvem. Ao mapear os caminhos de implantação e os recursos associados, o Storm-3068 identificou formas de se deslocar para outras partes do ambiente.
Os investigadores descobriram um pipeline malicioso projetado para coletar credenciais do Kubernetes em grande escala. O pipeline implantou um agente do Kubernetes e executou várias tarefas para coletar arquivos kubeconfig que continham detalhes de conexão com os clusters e dados de autenticação. Graças às permissões da conta comprometida, o pipeline estava autorizado a acessar mais de 50 recursos e autenticar-se em diferentes serviços.
Scripts dos pipelines também foram modificados para instalar o agente de gerenciamento remoto Atera e baixar a ferramenta de criação de túneis Chisel. Comandos do Chisel foram usados para criar um túnel reverso para um endereço IP externo, permitindo potencialmente a interação remota com clusters do Kubernetes. A equipe de investigação reconstruiu a próxima fase do ataque com base nos logs de auditoria do Azure DevOps e no histórico de versões do Git, no qual sete arquivos kubeconfig roubados foram adicionados a um repositório.
O que o caso revela aos defensores?
A importância do incidente está no fato de que o primeiro ponto de comprometimento, por si só, não era suficiente para explicar a extensão do acesso final. O risco surgiu da interconexão entre os sistemas de identidade, os repositórios, os pipelines de compilação e implantação e a infraestrutura operacional. Portanto, proteger cada camada de forma isolada não garante a contenção de uma conta comprometida se suas permissões abrirem caminhos confiáveis para camadas posteriores.
A DART respondeu analisando dados dos sistemas de identidade, das plataformas de desenvolvimento e da infraestrutura de nuvem, e trabalhou com o cliente por meio de briefings diários e orientações priorizadas para contenção e remediação. Também colaborou com a Microsoft Threat Intelligence para contextualizar a atividade em um cenário mais amplo.
Medidas defensivas práticas
- Monitorar a atividade de redefinição de senhas em busca de tentativas repetidas ou padrões que tenham como alvo vários usuários.
- Reduzir a exposição de contas com privilégios elevados a caminhos de redefinição de autoatendimento e exigir autenticação multifator resistente a phishing.
- Exigir aprovação para alterações no código e ativar a proteção de branches para impedir modificações não autorizadas.
- Restringir commits diretos em branches críticas e exigir que as alterações passem por revisão e aprovação claras.
- Configurar as permissões dos pipelines de compilação e implantação e definir quem pode criá-los, modificá-los ou executá-los.
- Aplicar o princípio do menor privilégio às identidades, às plataformas de desenvolvimento e aos recursos de nuvem para limitar o impacto do comprometimento de uma única conta.
Por que esta notícia é importante?
Este caso mostra que os logs de identidade, do Azure DevOps, do Git e dos ambientes do Kubernetes devem ser analisados como uma imagem de segurança interconectada, e não como fontes separadas. As questões em aberto confirmadas pela fonte estão relacionadas à capacidade das organizações de detectar o uso indevido de ferramentas legítimas, revisar permissões que atravessam ambientes e impedir o vazamento de arquivos de credenciais para os repositórios antes que eles sejam usados para acessar a produção.