Bug em contêiner expõe credenciais de conta na nuvem

Views: 394
0 0
Read Time:4 Minute, 25 Second

A falha (CVE-2020-15157) está localizada no processo de puxar imagens do contêiner.

Uma vulnerabilidade de segurança pode ser explorada para coagir a plataforma de nuvem em contêineres a expor as credenciais de conta na nuvem do host ou dos usuários.

Containerd se auto-intitulou como uma ferramenta de tempo de execução que “gerencia o ciclo completo de vida do contêiner de seu sistema host, desde transferência e armazenamento de imagens até execução e supervisão de contêineres até armazenamento de baixo nível para anexos de rede e além”. Como tal, oferece uma visibilidade profunda no ambiente de nuvem de um usuário, em vários fornecedores.

O bug (CVE-2020-15157) está localizado no processo de retirada de imagens do contêiner, de acordo com Gal Singer, pesquisadora do Aqua. Os adversários podem explorar essa vulnerabilidade construindo imagens de contêineres dedicadas projetadas para roubar o token do host e, em seguida, usando o token para assumir um projeto de nuvem, explicou.

“Uma imagem de contêiner é uma combinação de um arquivo manifesto e alguns arquivos de camadas individuais”, escreveu ele em um post recente. “O arquivo manifesto [no formato Image V2 Schema 2]… pode conter uma ‘camada estrangeira’ que é retirada de um registro remoto. Ao usar contêiner, se o registro remoto responder com um código de status HTTP 401, juntamente com cabeçalhos HTTP específicos, o host enviará um token de autenticação que pode ser roubado.”

Ele acrescentou: “o manifesto suporta um campo opcional para uma URL externa da qual o conteúdo pode ser buscado, e pode ser qualquer registro ou domínio.”

Assim, os invasores podem explorar o problema criando uma imagem maliciosa em um registro remoto e, em seguida, convencendo o usuário a acessá-la através de contêiner (isso pode ser feito por e-mail e outras vias de engenharia social), de acordo com a redação do Banco nacionalde vulnerabilidades.

“Se um invasor publica uma imagem pública com um manifesto que direciona uma das camadas a serem buscadas a partir de um servidor web que eles controlam e engana um usuário ou sistema para puxar a imagem, ele pode obter as credenciais usadas para puxar essa imagem”, de acordo com o aviso de bugs. “Em alguns casos, este pode ser o nome de usuário e senha do registro. Em outros casos, essas podem ser as credenciais anexadas à instância virtual em nuvem que podem conceder acesso a outros recursos em nuvem na conta.”

Exploração não trivial

O pesquisador Brad Geesaman, da Darkbit, que fez uma pesquisa original sobre a vulnerabilidade (que ele chama de “ContainerDrip”), montou uma exploração de prova de conceito (PoC) para um vetor de ataque relacionado.

Um dos obstáculos para a exploração é o fato de que clientes com contêineres que puxam imagens podem ser configurados para autenticar em um registro remoto, a fim de buscar imagens privadas, o que a impediria de acessar o conteúdo malicioso. Em vez disso, um invasor precisaria colocar a imagem manchada em um registro remoto que o usuário já autentica.

“A pergunta se tornou: ‘Como faço para que eles enviem suas credenciais para mim [para autenticação de registro remoto]?”, disse ele em uma postagem no início deste mês. “Como se vê, tudo que você tem que fazer é fazer a pergunta certa.”

O Google Kubernetes Engine (GKE) é um ambiente gerenciado para execução de aplicativos com contêineres, que pode ser integrado com contêineres. Quando os clusters GKE executando COS_CONTAINERD e GKE 1.16 ou abaixo recebem uma implantação para ser executado, um cabeçalho Básico Auth aparece, que quando base64 decodificado, acaba por ser o token de autenticação do Google Compute Engine subjacente, usado para criar máquinas virtuais. Este token está anexado ao cluster/nodepool GKE.

“Por padrão no GKE, a conta de serviço [Google Cloud Platform] anexada ao nodepool é a conta padrão do serviço de computação e é concedida ao Project Editor”, explicou Geesaman.

Dito isto, também por padrão, uma função chamada GKE OAuth Scopes “derruba” as permissões disponíveis desse token. Geesaman também encontrou uma solução para isso.

“Se os padrões fossem modificados ao criar o cluster para conceder o escopo [“qualquer”] ao nó, esse token não teria restrições de escopo do OAuth e concederia o conjunto completo de permissões do Project Editor IAM naquele projeto GCP”, explicou.

E a partir daí, os atacantes podem escalar privilégios para “Project Owner” usando um vetor de ataque conhecido demonstrado no DEF CON 2020.

Ele acrescentou que o caminho GKE é um dos muitos possíveis.

recipiente corrigido o bug, que é listado como médio em gravidade, na versão 1.2.4; recipiente 1.3.x não é vulnerável.

A segurança na nuvem continua a ser um desafio para as organizações. Pesquisadores no início de outubro divulgaram duas falhas no serviço de aplicativos de hospedagem web Azure da Microsoft, App Services, que, se explorado, poderia permitir que um invasor assumisse servidores administrativos. Durante o verão, malwares como o Backdoor Doki foram encontrados infestando contêineres Docker.

Em abril, um simples pote de contêineres Docker foi usado em um teste de laboratório para ver a rapidez com que os cibercriminosos se moverão para comprometer a infraestrutura de nuvem vulnerável. Foi rapidamente atacado por quatro diferentes campanhas criminosas ao longo de 24 horas.

FONTE: THREATPOST

POSTS RELACIONADOS