Microsoft detectou 3.000 chaves ASP.NET vazadas que facilitam ataques por injeção de código

Microsoft detectou 3.000 chaves ASP.NET vazadas que facilitam ataques por injeção de código
A Microsoft está alertando sobre uma prática insegura em que desenvolvedores de software estão incluindo chaves de máquina ASP.NET expostas publicamente a partir de fontes acessíveis, deixando assim seus aplicativos no caminho dos invasores.
Compartilhe

A equipe de inteligência de ameaças da gigante da tecnologia afirmou ter detectado uma atividade restrita em dezembro de 2024, na qual um agente de ameaça desconhecido usou uma chave de máquina ASP.NET fixa e acessível publicamente para injetar código malicioso e implantar a estrutura pós-exploração do Godzilla.

A empresa também destacou que acordos mais de 3.000 chaves expostas publicamente, que poderiam ser exploradas nesse tipo de ataque, denominados ataques de injeção de código ViewState.

“Enquanto muitos ataques de injeção de código ViewState conhecidos anteriormente usavam chaves comprometidas ou roubadas, que geralmente são vendidas em fóruns da dark web, essas chaves divulgadas publicamente podem representar um risco maior porque estão disponíveis em vários repositórios de código e podem ter sido inseridas no código de desenvolvimento sem modificação”, afirmou a Microsoft .

ViewState é um recurso usado no framework ASP.NET para armazenar valores de página e controle entre postbacks. Isso também pode incluir dados de aplicativo que são específicos de uma página.

“Por padrão, os dados do estado de exibição são armazenados na página em um campo oculto e são codificados usando codificação base64”, a Microsoft observa em sua documentação. “Além disso, um hash dos dados do estado de exibição é criado a partir dos dados usando uma chave de código de autenticação de máquina (MAC). O valor do hash é adicionado aos dados do estado de exibição codificados e a string resultante é armazenada na página.”

Ao usar um valor hash, a ideia é garantir que os dados do view state não tenham sido corrompidos ou adulterados por agentes mal-intencionados. Dito isso, se essas chaves forem roubadas ou disponibilizadas a terceiros não autorizados, isso abre a porta para um cenário em que o agente da ameaça pode aproveitar as chaves para enviar uma solicitação maliciosa do ViewState e executar código arbitrário.

“Quando a solicitação é processada pelo ASP.NET Runtime no servidor alvo, o ViewState é descriptografado e validado com sucesso porque as chaves certas são usadas”, observou Redmond. “O código malicioso é então carregado na memória do processo de trabalho e executado, fornecendo ao agente da ameaça capacidades de execução remota de código no servidor web IIS alvo.”

A Microsoft forneceu uma lista de valores de hash para as chaves de máquina divulgadas publicamente, pedindo aos clientes que as verifiquem em relação às chaves de máquina usadas em seus ambientes. Ela também alertou que, no caso de uma exploração bem-sucedida de chaves divulgadas publicamente, apenas rotacionar as chaves não será suficiente, pois os agentes da ameaça podem já ter estabelecido persistência no host.

Para mitigar o risco desse tipo de ataque, é recomendado não copiar chaves de fontes publicamente disponíveis e rotacionar as chaves regularmente. Como mais um passo para deter os agentes de ameaças, a Microsoft disse que removeu artefatos de chave de “instâncias limitadas” onde eles estavam incluídos em sua documentação.

O desenvolvimento ocorre no momento em que a empresa de segurança em nuvem Aqua revelou detalhes de um bypass do OPA Gatekeeper que poderia ser explorado para conduzir ações não autorizadas em ambientes Kubernetes, incluindo a implantação de imagens de contêineres não autorizadas.

“Na política k8sallowedrepos, um risco de segurança surge de como a lógica do Rego é escrita no arquivo ConstraintTemplate”, disseram os pesquisadores Yakir Kadkoda e Assaf Morag em uma análise compartilhada com o The Hacker News.

“Esse risco é ainda mais amplificado quando os usuários definem valores no arquivo Constraint YAML que não se alinham com a forma como a lógica do Rego os processa. Essa incompatibilidade pode resultar em desvios de política, tornando as restrições ineficazes.”