Inteligência de dados generativa

Fraqueza do Windows 'MagicDot' permite atividade de rootkit sem privilégios

Data:

BLACK HAT ÁSIA – Singapura – Um problema conhecido associado ao processo de conversão de caminho DOS para NT no Windows abre um risco significativo para as empresas, permitindo que invasores obtenham recursos pós-exploração semelhantes a rootkits para ocultar e personificar arquivos, diretórios e processos.

Isso é de acordo com Or Yair, pesquisador de segurança da SafeBreach, que descreveu o problema durante uma sessão aqui esta semana. Ele também detalhou quatro vulnerabilidades diferentes relacionadas ao problema, que ele apelidado de “MagicDot”- incluindo um bug perigoso de execução remota de código que pode ser acionado simplesmente pela extração de um arquivo.

Pontos e espaços na conversão de caminho DOS para NT

O grupo de problemas MagicDot existe graças à maneira como o Windows altera os caminhos do DOS para caminhos do NT.

Quando os usuários abrem arquivos ou pastas em seus PCs, o Windows faz isso referenciando o caminho onde o arquivo existe; normalmente, é um caminho DOS que segue o formato “C:UsersUserDocumentsexample.txt”. No entanto, uma função subjacente diferente chamada NtCreateFile é usada para realmente executar a operação de abertura do arquivo, e NtCreateFile solicita um caminho NT e não um caminho DOS. Assim, o Windows converte o caminho DOS familiar visível aos usuários em um caminho NT, antes de chamar NtCreateFile para habilitar a operação.

O problema explorável existe porque, durante o processo de conversão, o Windows remove automaticamente quaisquer pontos do caminho do DOS, juntamente com quaisquer espaços extras no final. Assim, caminhos DOS como estes:

  • C:exemploexemplo.   

  • C:exemploexemplo… 

  • C: exemploexemplo    

são todos convertidos para “??C:exampleexample” como um caminho NT.

Yair descobriu que essa remoção automática de caracteres incorretos poderia permitir que invasores criassem caminhos DOS especialmente criados que seriam convertidos em caminhos NT de sua escolha, que poderiam então ser usados ​​para inutilizar arquivos ou ocultar conteúdo e atividades maliciosas.

Simulando um rootkit sem privilégios

Os problemas do MagicDot criam, antes de mais nada, a oportunidade para uma série de técnicas pós-exploração que ajudam os invasores em uma máquina a manter a discrição.

Por exemplo, é possível bloquear conteúdo malicioso e impedir que usuários, até mesmo administradores, o examinem. “Colocando um simples ponto final no final de um nome de arquivo malicioso ou nomeando um arquivo ou diretório apenas com pontos e/ou espaços, eu poderia tornar todos os programas de espaço do usuário que usam a API normal inacessíveis para eles… os usuários iriam não ser capaz de ler, escrever, excluir ou fazer qualquer outra coisa com eles”, explicou Yair na sessão.

Então, em um ataque relacionado, Yair descobriu que a técnica poderia ser usada para ocultar arquivos ou diretórios dentro de arquivos compactados.

“Eu simplesmente terminei um nome de arquivo em um arquivo com um ponto para evitar que o Explorer o listasse ou extraísse”, disse Yair. “Como resultado, consegui colocar um arquivo malicioso dentro de um zip inocente – quem usou o Explorer para visualizar e extrair o conteúdo do arquivo não conseguiu ver a existência desse arquivo dentro.”

Um terceiro método de ataque envolve mascarar conteúdo malicioso, representando caminhos de arquivos legítimos.

“Se houvesse um arquivo inofensivo chamado ‘benigno’, eu seria capaz de [usar a conversão de caminho DOS para NT] para criar um arquivo malicioso no mesmo diretório [também chamado] benigno”, explicou ele, acrescentando que a mesma abordagem poderia ser usado para representar pastas e processos ainda mais amplos do Windows. “Como resultado, quando um usuário lê o arquivo malicioso, o conteúdo do arquivo original inofensivo seria retornado”, deixando a vítima sem saber que estava realmente abrindo conteúdo malicioso.

Em conjunto, a manipulação de caminhos MagicDot pode conceder aos adversários habilidades semelhantes a rootkits sem privilégios de administrador, explicou Yair, que publicou notas técnicas detalhadas nos métodos de ataque em conjunto com a sessão.

“Descobri que poderia ocultar arquivos e processos, ocultar arquivos em arquivos, afetar a análise de pré-busca de arquivos, fazer os usuários do Gerenciador de Tarefas e do Process Explorer pensarem que um arquivo de malware era um executável verificado publicado pela Microsoft, desabilitar o Process Explorer com uma negação de serviço (DoS) vulnerabilidade e muito mais”, disse ele – tudo sem privilégios de administrador ou capacidade de executar código no kernel e sem intervenção na cadeia de chamadas de API que recuperam informações.

“É importante que a comunidade de segurança cibernética reconheça esse risco e considere o desenvolvimento de técnicas e regras de detecção de rootkits sem privilégios”, alertou.

Uma série de vulnerabilidades “MagicDot”

Durante sua pesquisa sobre os caminhos do MagicDot, Yair também conseguiu descobrir quatro vulnerabilidades diferentes relacionadas ao problema subjacente, três delas já corrigidas pela Microsoft.

Uma vulnerabilidade de execução remota de código (RCE) (CVE-2023-36396, CVSS 7.8) na nova lógica de extração do Windows para todos os tipos de arquivos recém-suportados permite que os invasores criem um arquivo malicioso que gravaria em qualquer lugar que quisessem em um computador remoto, uma vez extraído, levando à execução do código.

“Basicamente, digamos que você carregue um arquivo para o seu Repositório GitHub anunciando-o como uma ferramenta interessante disponível para download”, disse Yair ao Dark Reading. “E quando o usuário baixa, não é um executável, basta extrair o arquivo, o que é considerado uma ação totalmente segura e sem riscos de segurança. Mas agora, a própria extração é capaz de executar código no seu computador, e isso é seriamente errado e muito perigoso.”

Um segundo bug é uma vulnerabilidade de elevação de privilégio (EoP) (CVE-2023-32054, CVSS 7.3) que permite que invasores gravem em arquivos sem privilégios, manipulando o processo de restauração de uma versão anterior a partir de uma cópia de sombra.

O terceiro bug é o DOS sem privilégios do Process Explorer para bug anti-análise, para o qual CVE-2023-42757 foi reservado, com detalhes a seguir. E o quarto bug, também um problema de EoP, permite que invasores sem privilégios excluam arquivos. A Microsoft confirmou que a falha levou a um “comportamento inesperado”, mas ainda não emitiu um CVE ou uma correção para ela.

“Eu crio uma pasta dentro da pasta demo chamada… e dentro dele escrevo um arquivo chamado c.txt”, explicou Yair. “Então, quando um administrador tenta excluir o… pasta, toda a pasta demo será excluída.”

Ramificações “MagicDot” potencialmente mais amplas

Embora a Microsoft tenha resolvido as vulnerabilidades específicas do Yair, a remoção automática de pontos e espaços da conversão do caminho DOS para NT persiste, mesmo que essa seja a causa raiz das vulnerabilidades.

“Isso significa que pode haver muito mais vulnerabilidades potenciais e técnicas pós-exploração para descobrir usando esse problema”, disse o pesquisador ao Dark Reading. “Esse problema ainda existe e pode levar a muitos outros problemas e vulnerabilidades, que podem ser muito mais perigosos do que aqueles que conhecemos.”

Ele acrescenta que o problema tem ramificações além da Microsoft.

“Acreditamos que as implicações são relevantes não apenas para o Microsoft Windows, que é o sistema operacional de desktop mais usado no mundo, mas também para todos os fornecedores de software, a maioria dos quais também permite que problemas conhecidos persistam de versão para versão de seu software”, alertou. em sua apresentação.

Enquanto isso, os desenvolvedores de software podem tornar seus códigos mais seguros contra esses tipos de vulnerabilidades, utilizando caminhos NT em vez de caminhos DOS, observou ele.

“A maioria das chamadas de API de alto nível no Windows suporta caminhos NT”, disse Yair em sua apresentação. “O uso de caminhos NT evita o processo de conversão e garante que o caminho fornecido seja o mesmo caminho que está sendo realmente operado.”

Para as empresas, as equipes de segurança devem criar detecções que procurem períodos e espaços não autorizados nos caminhos dos arquivos.

“Existem detecções muito fáceis que você pode desenvolver para eles, para procurar arquivos ou diretórios, que contenham pontos ou espaços no final, porque se você encontrar isso, no seu computador, significa que alguém fez isso de propósito porque não é é tão fácil de fazer”, diz Yair ao Dark Reading. “Usuários normais não podem simplesmente criar um arquivo cujo final seja um ponto ou espaço, a Microsoft impedirá isso. Os invasores precisarão usar um API inferior que está mais próximo do kernel e precisará de algum conhecimento para conseguir isso.”

local_img

Inteligência mais recente

local_img

Fale Conosco

Olá! Como posso ajudá-lo?