Pesquisadores de segurança descobriram um ataque de confusão de nome que permite o acesso a uma conta do Amazon Web Services a qualquer um que publique uma Amazon Machine Image (AMI) com um nome específico.
Apelidado de "whoAMI", o ataque foi elaborado por pesquisadores da DataDog em agosto de 2024, que demonstraram ser possível para os atacantes obter execução de código dentro de contas AWS explorando como projetos de software recuperam AMI IDs.
A Amazon confirmou a vulnerabilidade e implementou uma correção em setembro, mas o problema persiste no lado do cliente em ambientes onde as organizações não atualizam o código.
AMIs são máquinas virtuais pré-configuradas com o software necessário (sistema operacional, aplicações) usadas para criar servidores virtuais, que são chamados de instâncias EC2 (Elastic Compute Cloud) no ecossistema AWS.
Existem AMIs públicas e privadas, cada uma com um identificador específico.
No caso das públicas, usuários podem buscar no catálogo AWS pelo ID correto da AMI de que precisam.
Para garantir que a AMI venha de uma fonte confiável no mercado AWS, a busca precisa incluir o atributo 'owners', caso contrário o risco de um ataque de confusão de nome whoAMI aumenta.
O ataque whoAMI é possível devido à seleção mal configurada de AMI em ambientes AWS:
- A recuperação de AMIs pelo software usando a API ec2:DescribeImages sem especificar um proprietário.
- O uso de curingas por scripts em vez de IDs AMI específicos.
- A prática de algumas ferramentas de infraestrutura como código, como Terraform, usar "most_recent=true", escolhendo automaticamente a AMI mais recente que corresponde ao filtro.
Essas condições permitem aos atacantes inserir AMIs maliciosas no processo de seleção, nomeando o recurso de maneira semelhante a um confiável.
Sem especificar um proprietário, a AWS retorna todas as AMIs correspondentes, incluindo a do atacante.
Se o parâmetro "most_recent" for definido como "true", o sistema da vítima fornece as AMIs mais recentes adicionadas ao mercado, que podem incluir uma maliciosa que tem um nome semelhante a uma entrada legítima.
Basicamente, tudo o que um atacante precisa fazer é publicar uma AMI com um nome que se encaixe no padrão usado por proprietários confiáveis, facilitando para os usuários selecioná-la e lançar uma instância EC2.
O ataque whoAMI não requer violar a conta AWS do alvo.
O atacante apenas precisa de uma conta AWS para publicar sua AMI com backdoor no catálogo Community AMI e escolher estrategicamente um nome que imite as AMIs de seus alvos.
A DataDog diz que, com base em sua telemetria, cerca de 1% das organizações monitoradas pela empresa são vulneráveis a ataques whoAMI, mas "essa vulnerabilidade provavelmente afeta milhares de contas AWS distintas".
Pesquisadores da DataDog notificaram a Amazon sobre a falha e a empresa confirmou que sistemas internos não produtivos eram vulneráveis ao ataque whoAMI.
O problema foi corrigido no ano passado em 19 de setembro, e em 1º de dezembro a AWS introduziu um novo controle de segurança chamado 'Allowed AMIs', permitindo aos clientes criar uma lista de permissões de provedores de AMI confiáveis.
A AWS afirmou que a vulnerabilidade não foi explorada fora dos testes dos pesquisadores de segurança, então nenhum dado de cliente foi comprometido por ataques whoAMI.
A Amazon aconselha os clientes a sempre especificar os proprietários de AMI ao usar a API "ec2:DescribeImages" e habilitar o recurso 'Allowed AMIs' para proteção adicional.
O novo recurso está disponível via AWS Console → EC2 → Atributos da Conta → Allowed AMIs.
A partir de novembro passado, o Terraform 5.77 começou a emitir avisos aos usuários quando "most_recent = true" é usado sem um filtro de proprietário, com aplicação mais rigorosa planejada para lançamentos futuros (6.0).
Os administradores de sistema devem auditar sua configuração e atualizar seu código sobre fontes AMI (Terraform, AWS CLI, Python Boto3 e Go AWS SDK) para recuperação segura de AMI.
Para verificar se AMIs não confiáveis estão atualmente em uso, habilite o AWS Audit Mode através de 'Allowed AMIs' e mude para 'Enforcement Mode' para bloqueá-los.
A DataDog também lançou um scanner para verificar contas AWS por instâncias criadas a partir de AMIs não confiáveis, disponível neste repositório do GitHub.
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...