A Microsoft emitiu um alerta sobre uma nova tática de ataque utilizada por invasores para comprometer servidores que utilizam ASP.NET. Os cibercriminosos estão explorando chaves de segurança publicadas online para manipular o ViewState e executar código malicioso remotamente em servidores IIS.
Microsoft alerta sobre ataques de malware explorando ViewState no ASP.NET
Chaves expostas facilitam ataques
Pesquisadores da Microsoft identificaram que algumas chaves de segurança, como validationKey e decryptionKey do ASP.NET, estão sendo reutilizadas por desenvolvedores diretamente de exemplos encontrados em documentação ou repositórios de código. Essas chaves são projetadas para proteger o ViewState contra modificações indevidas e vazamento de informações, mas acabam sendo usadas por agentes maliciosos para gerar ViewStates manipulados, possibilitando a execução de código remoto.
Quando um servidor ASP.NET recebe um ViewState comprometido por meio de uma requisição POST, ele é descriptografado e validado corretamente, pois utiliza as chaves expostas. Isso permite que os invasores executem comandos no servidor IIS e injetem códigos maliciosos, colocando todo o ambiente em risco.
Caso registrado em dezembro de 2024
Em um incidente registrado em dezembro de 2024, um invasor utilizou uma chave de segurança amplamente conhecida para injetar a estrutura de pós-exploração Godzilla em um servidor IIS. Essa ferramenta oferece funcionalidades para execução remota de comandos e injeção de shellcode, aumentando ainda mais o potencial destrutivo do ataque.
Medidas recomendadas pela Microsoft
A Microsoft já identificou mais de 3.000 chaves de segurança expostas publicamente que podem ser utilizadas para esses ataques. Segundo a empresa, enquanto anteriormente essas ameaças surgiam principalmente de chaves roubadas e vendidas na dark web, agora elas representam um risco ainda maior, pois estão amplamente disponíveis em repositórios públicos.
Para reduzir os riscos, a Microsoft recomenda:
- Gerar chaves de segurança exclusivas e seguras em vez de reutilizar chaves encontradas online.
- Evitar o uso de chaves padrão ou derivadas de documentação pública.
- Criptografar os elementos machineKey e connectionStrings para impedir o acesso a credenciais em texto simples.
- Atualizar para o ASP.NET 4.8 para ativar recursos avançados do Antimalware Scan Interface (AMSI).
- Implementar regras de segurança no Windows Server, como bloqueio de criação de webshells.
Como remover chaves comprometidas
A Microsoft também forneceu um guia detalhado para a remoção de chaves comprometidas do arquivo web.config. Os desenvolvedores podem usar comandos PowerShell ou o console do IIS Manager para substituir ou apagar essas chaves e evitar futuras explorações.
Além disso, a empresa eliminou de sua documentação amostras de chaves que poderiam ser reutilizadas de forma insegura.
Investigando servidores comprometidos
Se um servidor foi alvo desse tipo de ataque, simplesmente substituir as chaves comprometidas pode não ser suficiente para eliminar todas as ameaças. A Microsoft recomenda uma investigação aprofundada para detectar backdoors e métodos de persistência deixados pelos invasores.
Em casos de servidores expostos na web, a empresa sugere a reinstalação completa do sistema em um ambiente offline para garantir a remoção total de qualquer malware ou código malicioso inserido.