Hackers exploram brecha na política do Windows para forjar assinaturas de driver no modo kernel

Hackers exploram brecha na política do Windows

Hackers exploram brecha na política do Windows

O HookSignTool está acessível via GitHub desde 7 de janeiro de 2020, enquanto o FuckCertVerifyTimeValidity foi comprometido pela primeira vez...
Compartilhe

Hackers exploram brecha na política do Windows

Uma brecha na política do Microsoft Windows foi observada sendo explorada principalmente por agentes de ameaças nativos de língua chinesa para falsificar assinaturas em drivers de modo kernel.

“Os atores estão aproveitando várias ferramentas de código aberto que alteram a data de assinatura dos drivers do modo kernel para carregar drivers maliciosos e não verificados assinados com certificados expirados”, disse Cisco Talos em um relatório exaustivo de duas partes compartilhado com o The Hacker News. “Esta é uma grande ameaça, pois o acesso ao kernel fornece acesso completo a um sistema e, portanto, comprometimento total”.

Após a divulgação responsável, a Microsoft disse que tomou medidas para bloquear todos os certificados para mitigar a ameaça. Ele afirmou ainda que sua investigação descobriu que “a atividade foi limitada ao abuso de várias contas de programas de desenvolvedores e que nenhum comprometimento de conta da Microsoft foi identificado”.

A gigante da tecnologia, além de suspender as contas do programa de desenvolvedor envolvidas no incidente, enfatizou que os atores da ameaça já haviam obtido privilégios administrativos em sistemas comprometidos antes do uso dos drivers.

Vale ressaltar que o fabricante do Windows lançou proteções de bloqueio semelhantes em dezembro de 2022 para impedir que invasores de ransomware usem drivers assinados pela Microsoft para atividades pós-exploração.

A imposição de assinatura de driver, que exige que os drivers de modo kernel sejam assinados digitalmente com um certificado do Portal de Desenvolvimento da Microsoft, é uma linha crucial de defesa contra drivers mal-intencionados, que podem ser potencialmente armados para escapar de soluções de segurança, adulterar processos do sistema e manter a persistência.

A nova fraqueza descoberta pelo Cisco Talos torna possível forjar assinaturas em drivers de modo kernel, permitindo assim que as políticas de certificado do Windows sejam contornadas.

Isso é possível devido a uma exceção criada pela Microsoft para manter a compatibilidade, que permite drivers com assinatura cruzada se eles foram “assinados com um certificado de entidade final emitido antes de 29 de julho de 2015 que se liga a uma autoridade de certificação com assinatura cruzada suportada ].”

“A terceira exceção cria uma brecha que permite que um driver recém-compilado seja assinado com certificados não revogados emitidos antes ou expirados antes de 29 de julho de 2015, desde que o certificado seja vinculado a uma autoridade de certificação com assinatura cruzada suportada”, a empresa de segurança cibernética disse.

Como resultado, um driver assinado dessa maneira não será impedido de ser carregado em um dispositivo Windows, permitindo que os invasores aproveitem a cláusula de escape para implantar milhares de drivers assinados maliciosos sem enviá-los à Microsoft para verificação.

Esses drivers desonestos são implantados usando software de falsificação de carimbo de data/hora de assinatura, como HookSignTool e FuckCertVerifyTimeValidity, que estão disponíveis publicamente desde 2019 e 2018, respectivamente.

O HookSignTool está acessível via GitHub desde 7 de janeiro de 2020, enquanto o FuckCertVerifyTimeValidity foi comprometido pela primeira vez com o serviço de hospedagem de código em 14 de dezembro de 2018.

Assinaturas de Driver em Modo Kernel

“HookSignTool é uma ferramenta de falsificação de assinatura de driver que altera a data de assinatura de um driver durante o processo de assinatura por meio de uma combinação de conexão com a API do Windows e alteração manual da tabela de importação de uma ferramenta legítima de assinatura de código”, explicou Cisco Talos.

Especificamente, envolve conectar-se à função CertVerifyTimeValidity, que verifica a validade do tempo de um certificado, para alterar o registro de data e hora de assinatura durante a execução.

“Este pequeno projeto impede que o signtool verifique [sic] a validade do tempo do certificado e permite que você assine sua lixeira com certificado desatualizado sem alterar a hora do sistema manualmente”, diz a página do GitHub para FuckCertVerifyTimeValidity.

“Ele instala o gancho no crypt32!CertVerifyTimeValidity e faz com que ele sempre retorne 0 e faça o kernel32!GetLocalTime retornar o que você deseja, pois você pode adicionar “-fuckyear 2011″ à linha de comando do signtool para assinar um certificado do ano de 2011.”

Dito isso, a falsificação bem-sucedida requer um certificado de assinatura de código não revogado emitido antes de 29 de julho de 2015, junto com a chave privada e a frase secreta do certificado.

Cisco Talos disse que descobriu mais de uma dúzia de certificados de assinatura de código com chaves e senhas contidas em um arquivo PFX hospedado no GitHub em um repositório bifurcado de FuckCertVerifyTimeValidity. Não está imediatamente claro como esses certificados foram obtidos.

Além do mais, foi observado que o HookSignTool foi usado para assinar novamente drivers crackeados para contornar as verificações de integridade do gerenciamento de direitos digitais (DRM), com um ator chamado “Juno_Jr” lançando uma versão crackeada do PrimoCache, uma solução legítima de cache de software, em um fórum de cracking de software chinês em 9 de novembro de 2022.

“Na versão crackeada […], o driver corrigido foi assinado novamente com um certificado originalmente emitido para ‘Shenzhen Luyoudashi Technology Co., Ltd.,’ que está contido no arquivo PFX no GitHub”, disseram os pesquisadores da Talos. “Essa capacidade de renunciar a um driver crackeado remove um obstáculo significativo ao tentar contornar as verificações de DRM em um driver assinado.”

Assinaturas de Driver em Modo Kernel

Isso não é tudo. O HookSignTool também está sendo utilizado por um driver não documentado anteriormente identificado como RedDriver para forjar seu registro de data e hora de assinatura. Ativo desde pelo menos 2021, ele funciona como um sequestrador de navegador baseado em driver que utiliza a Plataforma de Filtragem do Windows ( WFP ) para interceptar o tráfego do navegador e redirecioná-lo para localhost (127.0.0.1).

O navegador de destino é escolhido aleatoriamente em uma lista codificada contendo os nomes de processo de muitos navegadores populares em chinês, como Liebao, QQ Browser, Sogou e UC Browser, bem como Google Chrome, Microsoft Edge e Mozilla Firefox.

“Inicialmente, encontrei o RedDriver enquanto pesquisava falsificação de registro de data e hora de certificado em drivers do Windows”, disse Chris Neal, pesquisador de divulgação da Cisco Talos ao The Hacker News. “Foi uma das primeiras amostras que encontrei e imediatamente suspeita. O que me chamou a atenção foi a lista de navegadores da Web armazenados no arquivo RedDriver.”

O objetivo final desse redirecionamento de tráfego do navegador não é claro, embora não seja necessário dizer que tal capacidade pode ser abusada para adulterar o tráfego do navegador no nível do pacote.

As cadeias de infecção do RedDriver começam com a execução de um binário chamado “DnfClientShell32.exe”, que, por sua vez, inicia comunicações criptografadas com um servidor de comando e controle (C2) para baixar o driver malicioso.

“Não observamos a entrega do arquivo inicial, mas é muito provável que o arquivo tenha sido empacotado para se passar por um arquivo de jogo e hospedado em um link de download malicioso”, disse Neal. “A vítima provavelmente pensou que estava baixando um arquivo de uma fonte legítima e executou o executável. ‘DNFClient’ é o nome de um arquivo pertencente a ‘Dungeon Fighter Online’, que é um jogo extremamente popular na China e comumente referido como ‘DNF.'”

“O RedDriver provavelmente foi desenvolvido por agentes de ameaças altamente qualificados, pois a curva de aprendizado para desenvolver drivers maliciosos é íngreme”, disse Cisco Talos. “Embora a ameaça pareça ter como alvo falantes nativos de chinês, os autores provavelmente também são falantes de chinês”.

“Os autores também demonstraram familiaridade ou experiência com ciclos de vida de desenvolvimento de software, outro conjunto de habilidades que requer experiência anterior em desenvolvimento.”

Fonte: thehackernews