Ataque burla proteções do Windows
28 de Outubro de 2024

Uma nova técnica de ataque poderia ser utilizada para burlar a Driver Signature Enforcement (DSE) da Microsoft em sistemas Windows totalmente atualizados, levando a ataques de downgrade do sistema operacional (OS).

"Essa burla permite o carregamento de drivers de kernel não assinados, possibilitando aos atacantes a implantação de rootkits personalizados que podem neutralizar controles de segurança, ocultar processos e atividade de rede, manter-se furtivos e muito mais," disse o pesquisador da SafeBreach, Alon Leviev, em um relatório compartilhado.

As últimas descobertas se baseiam em uma análise anterior que descobriu duas falhas de escalada de privilégio no processo de atualização do Windows ( CVE-2024-21302 e CVE-2024-38202 ) que poderiam ser armadas para reverter um software Windows atualizado para uma versão anterior contendo vulnerabilidades de segurança não corrigidas.

A exploração se materializou na forma de uma ferramenta chamada Windows Downdate, que, segundo Leviev, poderia ser usada para sequestrar o processo de atualização do Windows para criar downgrades totalmente indetectáveis, persistentes e irreversíveis em componentes críticos do OS.

Isso pode ter sérias ramificações, pois oferece aos atacantes uma alternativa melhor aos ataques de Bring Your Own Vulnerable Driver (BYOVD), permitindo-lhes fazer o downgrade de módulos de primeira parte, incluindo o próprio kernel do OS.

A Microsoft abordou posteriormente a CVE-2024-21302 e a CVE-2024-38202 em 13 de agosto e 8 de outubro de 2024, respectivamente, como parte das atualizações de Patch Tuesday.

A última abordagem concebida por Leviev utiliza a ferramenta de downgrade para reverter o patch de bypass "ItsNotASecurityBoundary" DSE em um sistema Windows 11 totalmente atualizado.

ItsNotASecurityBoundary foi documentado pela primeira vez pelo pesquisador do Elastic Security Labs, Gabriel Landau, em julho de 2024, junto com PPLFault, descrevendo-os como uma nova classe de bug codinome False File Immutability.

A Microsoft corrigiu isso anteriormente em maio.

Em resumo, explora uma condição de corrida para substituir um arquivo de catálogo de segurança verificado por uma versão maliciosa contendo assinatura authenticode para um driver de kernel não assinado, após o qual o atacante induz o kernel a carregar o driver.

O mecanismo de integridade de código da Microsoft, que é usado para autenticar um arquivo usando a biblioteca de modo kernel ci.dll, então analisa o catálogo de segurança desonesto para validar a assinatura do driver e carregá-lo, concedendo efetivamente ao atacante a capacidade de executar código arbitrário no kernel.

O bypass da DSE é alcançado fazendo uso da ferramenta de downgrade para substituir a biblioteca "ci.dll" por uma versão anterior (10.0.22621.1376.) para desfazer o patch implementado pela Microsoft.
Dito isso, há uma barreira de segurança que pode impedir que tal bypass seja bem-sucedido.

Se a Virtualization-Based Security (VBS) estiver em execução no host alvo, a verificação do catálogo é realizada pela DLL de Integridade de Código do Kernel Seguro (skci.dll), ao contrário de ci.dll.
No entanto, vale ressaltar que a configuração padrão é a VBS sem um Bloqueio de Unified Extensible Firmware Interface (UEFI).

Como resultado, um atacante poderia desativá-lo manipulando as chaves de registro EnableVirtualizationBasedSecurity e RequirePlatformSecurityFeatures.
Mesmo nos casos em que o bloqueio UEFI está ativado, o atacante poderia desativar a VBS substituindo um dos arquivos centrais por um contraparte inválido.

Em última análise, os passos de exploração que um atacante precisa seguir são abaixo:

-Desativar a VBS no Registro do Windows, ou invalidar o SecureKernel.exe
-Fazer o downgrade da ci.dll para a versão não corrigida
-Reiniciar a máquina
-Explorar o bypass de DSE ItsNotASecurityBoundary para alcançar execução de código no nível do kernel

A única instância em que isso falha é quando a VBS está ativada com um bloqueio UEFI e uma bandeira "Obrigatória", a última das quais causa falha de inicialização quando os arquivos da VBS estão corrompidos.

O modo Obrigatório é ativado manualmente por meio de uma alteração no registro.

"A configuração Obrigatória impede que o carregador do OS continue a inicializar no caso do Hypervisor, Kernel Seguro ou um de seus módulos dependentes falhar ao carregar," a Microsoft observa em sua documentação.

Cuidado especial deve ser usado antes de ativar este modo, pois, em caso de qualquer falha dos módulos de virtualização, o sistema se recusará a inicializar.

Assim, para mitigar totalmente o ataque, é essencial que a VBS esteja ativada com bloqueio UEFI e a bandeira Obrigatória configurada.

Em qualquer outro modo, torna-se possível para um adversário desativar o recurso de segurança, realizar o downgrade do DDL e alcançar um bypass da DSE.

"A principal conclusão [...] é que as soluções de segurança devem tentar detectar e prevenir procedimentos de downgrade mesmo para componentes que não cruzam fronteiras de segurança definidas," Leviev disse.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...