Varonis | Segurança de dentro para fora

Síndrome do impostor: bug da interface do usuário no Visual Studio permite que invasores representem editores

Escrito por Dolev Taler | Jun 20, 2023 8:03:24 PM

Bug encontrado no instalador do Microsoft Visual Studio permite que um invasor se passe por um editor e emita uma extensão maliciosa para comprometer um sistema visado. 

O Varonis Threat Labs encontrou um bug de interface de usuário (CVE-2023-28299) facilmente explorável no instalador de extensão do Microsoft Visual Studio que permite que um invasor falsifique uma assinatura de extensão e represente efetivamente qualquer editor. A Microsoft lançou um patch para corrigir a vulnerabilidade em 11 de abril de 2023. 

Os sistemas não corrigidos permanecem vulneráveis a agentes de ameaças que emitem extensões maliciosas direcionadas para comprometer os sistemas. 

Por que isso é importante? 

O Visual Studio é o segundo IDE mais popular do mercado, com mais de 30 mil clientes e uma participação de mercado de 26%. 

O que separa o Visual Studio de seus concorrentes são as centenas de extensões que permitem aos usuários fazer qualquer coisa, desde a integração de servidores GitHub e SQL até ferramentas simples de produtividade, como verificação ortográfica e recorte de código. 

As extensões mais populares rotineiramente têm milhões de downloads. Com o bug da interface do usuário encontrado pelo Varonis Threar Labs (CVE-2023-28299), um agente de ameaça pode se passar por um editor popular e emitir uma extensão maliciosa para comprometer um sistema de destino. Extensões maliciosas foram usadas para roubar informações confidenciais, acessar e alterar códigos silenciosamente ou assumir o controle total de um sistema. 

A vulnerabilidade 

Por motivos de segurança, o Visual Studio não permite que caracteres de nova linha dentro do nome de uma extensão, impedindo que o usuário insira informações na propriedade de extensão “Product Name”. 

Essa restrição pode ser facilmente contornada abrindo o VSIX como um arquivo ZIP e adicionando manualmente caracteres de nova linha à tag <DisplayName> no arquivo “extension.vsixmanifest. 

Criando um novo projeto C# e editando sua propriedade 

Editando no 7zip 

Quando o número suficiente de caracteres de nova linha são adicionados ao nome da extensão, todos os outros textos no prompt de instalação do Visual Studio são empurrados para baixo – o que efetivamente oculta o aviso “Digital Signature: None”. 

A falsificação 

Vamos reservar um momento para revisar a aparência de uma extensão normal e a aparência falsificada em cada estágio. 

Extensão real com assinatura digital 

Extensão sem assinatura digital 

E como um agente de ameaça controla a área sob o nome de extensão, ele pode facilmente adicionar um texto falso de “Digital Signature” visível para o usuário e parecendo legítimo. 

Extensão com assinatura falsificada 

O cenário de ataque 

Como um invasor poderia transformar essa exploração em uma arma? 

Principalmente por phishing. Imagine o seguinte cenário: 

  • O invasor envia um e-mail aos desenvolvedores da empresa disfarçado como uma atualização de software legítima;
  • No e-mail, o invasor anexa a extensão VSIX falsificada que imita a legítíma;
  • A vítima não consegue diferenciar o VSIX falsificado de uma atualização assinada real e instala o VSXI malicioso;
  • Depois de implementar uma carga útil criada dentro da extensão, o invasor compromete a máquina da vítima – obtendo uma área de acesso inicial à organização;
  • Com um pé na porta, o agente de ameaça pode continuar a realizar movimentos laterais dentre da organização violada, potencialmente permitindo o roubo de IP e dados confidenciais de forma a impactar ainda mais os negócios. 

Resposta e recomendações da Microsoft 

A Microsoft reconheceu essa exploração, atribuiu a ela o identificador CVE-2023-28299 e incluiu uma correção na atualização Patch Tuesday de 11 de abril de 2024. O Varonis Threat Labs adiou a publicação deste artigo até que uma correção pudesse ser emitida. 

Recomendamos que todos os sistemas potencialmente vulneráveis apliquem o patch fornecido pela Microsoft e monitorem qualquer atividade suspeita. 

Resumo 

O CVE-2023-28299 é um bug de interface do usuário no Microsoft Visual Studio, um dos principais ambientes de desenvolvimento integrado, que permite assinaturas digitais falsificadas de editores. 

A baixa complexidade e os privilégios necessários tornam esse exploit fácil de armar. Os agentes de ameaças podem usar essa vulnerabilidade para emitir extensões maliciosas falsificadas com a intenção de comprometer os sistemas. 

Em 11 de abril de 2023, a Microsoft reconheceu essa vulnerabilidade e lançou um patch como parte do Patch Tuesday. 

Agende uma sessão de demonstração para conhecer nossa plataforma de segurança, iremos responder suas perguntas e ajudá-lo a ver se a plataforma Varonis é adequada para sua empresa.