Análise e Exploração de Vulnerabilidades 0day no Sistema Windows da Microsoft
Recentemente, um patch de segurança lançado pela Microsoft corrigiu uma vulnerabilidade de elevação de privilégios do Windows que estava sendo explorada por hackers. Esta vulnerabilidade afeta principalmente versões anteriores do sistema Windows e não pode ser desencadeada no Windows 11.
Essas vulnerabilidades existem há muitos anos, e este artigo irá explorar como os atacantes podem continuar a explorar essas vulnerabilidades no atual contexto de medidas de segurança em constante fortalecimento. A análise a seguir foi realizada com base no ambiente do Windows Server 2016.
A vulnerabilidade 0day refere-se a uma falha que ainda não foi divulgada ou corrigida, podendo ser explorada maliciosamente por hackers sem ser detectada, apresentando grande potencial de destruição. A vulnerabilidade 0day recentemente descoberta permite que atacantes obtenham controle total sobre o sistema Windows, resultando em sérias consequências como vazamento de informações pessoais, colapso do sistema, perda de dados, entre outros. Desde o roubo de chaves privadas de criptomoedas até a possibilidade de afetar a segurança de todo o ecossistema Web3.
Análise de Patch
A análise do código do patch revelou que ele corrige principalmente um problema de contagem de referência de objeto excessiva. A partir de comentários no código-fonte anterior, pode-se perceber que o código anterior apenas bloqueava o objeto da janela, sem bloquear o objeto do menu na janela, o que poderia levar a referências incorretas ao objeto do menu.
Reproduzindo Vulnerabilidades
A análise revelou que o menu passado para xxxEnableMenuItem() geralmente já está bloqueado em uma função superior, mas a proteção específica de qual objeto de menu está em questão é vaga. Uma análise mais aprofundada revelou que o menu retornado pela função MenuItemState pode ser o menu principal da janela, um submenu ou um menu em níveis mais profundos.
Construímos uma estrutura de menu de múltiplos níveis especial para desencadear vulnerabilidades, incluindo menus do sistema de tipos de ID específicos, e tratamos de forma especial as relações de referência entre os menus. No final, ao retornar ao nível do usuário com xxxRedrawTitle, libertamos o objeto de menu especificado, resultando em referências inválidas ao objeto subsequente da função xxxEnableMenuItem.
Exploração de Vulnerabilidades
A exploração de vulnerabilidades considera principalmente duas direções: execução de shellcode e utilização de primitivas de leitura e escrita para modificar tokens. Após uma análise abrangente, escolhemos a segunda.
Os passos chave incluem:
Usar a vulnerabilidade UAF para controlar o valor de cbwndextra
Implementar primitivas de leitura e escrita estáveis
Projetámos cuidadosamente o layout da memória e construímos primitivas de leitura e escrita controláveis utilizando objetos de janela e objetos HWNDClass. A função GetMenuBarInfo() é utilizada para leitura arbitrária, enquanto SetClassLongPtr() é utilizada para escrita arbitrária. No final, é possível realizar operações como substituir o token do processo.
Resumo
A Microsoft está a reescrever o código relacionado com win32k em Rust, no futuro este tipo de vulnerabilidades poderá ser eliminado.
O processo de exploração de vulnerabilidades é relativamente simples, dependendo principalmente da divulgação do endereço do manipulador de pilha da área de trabalho.
A descoberta da vulnerabilidade pode ser atribuída a uma detecção de cobertura de código mais aprimorada.
A deteccão de anomalias na disposição da memória e na leitura e escrita de dados da janela ajuda a descobrir este tipo de vulnerabilidades.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
8 gostos
Recompensa
8
6
Partilhar
Comentar
0/400
YieldWhisperer
· 07-31 00:49
É necessário fortalecer a monitorização do antigo sistema
Ver originalResponder0
OnlyOnMainnet
· 07-31 00:48
Crise de carteiras digitais
Ver originalResponder0
governance_ghost
· 07-31 00:47
A proteção da chave privada deve ser reforçada.
Ver originalResponder0
BakedCatFanboy
· 07-31 00:45
Vamos atualizar o sistema, pessoal.
Ver originalResponder0
AlphaLeaker
· 07-31 00:42
Atenção para proteger bem a segurança da Chave privada
Vulnerabilidade de elevação de privilégios 0day do Windows: a segurança da Carteira encriptação enfrenta novas ameaças
Análise e Exploração de Vulnerabilidades 0day no Sistema Windows da Microsoft
Recentemente, um patch de segurança lançado pela Microsoft corrigiu uma vulnerabilidade de elevação de privilégios do Windows que estava sendo explorada por hackers. Esta vulnerabilidade afeta principalmente versões anteriores do sistema Windows e não pode ser desencadeada no Windows 11.
Essas vulnerabilidades existem há muitos anos, e este artigo irá explorar como os atacantes podem continuar a explorar essas vulnerabilidades no atual contexto de medidas de segurança em constante fortalecimento. A análise a seguir foi realizada com base no ambiente do Windows Server 2016.
A vulnerabilidade 0day refere-se a uma falha que ainda não foi divulgada ou corrigida, podendo ser explorada maliciosamente por hackers sem ser detectada, apresentando grande potencial de destruição. A vulnerabilidade 0day recentemente descoberta permite que atacantes obtenham controle total sobre o sistema Windows, resultando em sérias consequências como vazamento de informações pessoais, colapso do sistema, perda de dados, entre outros. Desde o roubo de chaves privadas de criptomoedas até a possibilidade de afetar a segurança de todo o ecossistema Web3.
Análise de Patch
A análise do código do patch revelou que ele corrige principalmente um problema de contagem de referência de objeto excessiva. A partir de comentários no código-fonte anterior, pode-se perceber que o código anterior apenas bloqueava o objeto da janela, sem bloquear o objeto do menu na janela, o que poderia levar a referências incorretas ao objeto do menu.
Reproduzindo Vulnerabilidades
A análise revelou que o menu passado para xxxEnableMenuItem() geralmente já está bloqueado em uma função superior, mas a proteção específica de qual objeto de menu está em questão é vaga. Uma análise mais aprofundada revelou que o menu retornado pela função MenuItemState pode ser o menu principal da janela, um submenu ou um menu em níveis mais profundos.
Construímos uma estrutura de menu de múltiplos níveis especial para desencadear vulnerabilidades, incluindo menus do sistema de tipos de ID específicos, e tratamos de forma especial as relações de referência entre os menus. No final, ao retornar ao nível do usuário com xxxRedrawTitle, libertamos o objeto de menu especificado, resultando em referências inválidas ao objeto subsequente da função xxxEnableMenuItem.
Exploração de Vulnerabilidades
A exploração de vulnerabilidades considera principalmente duas direções: execução de shellcode e utilização de primitivas de leitura e escrita para modificar tokens. Após uma análise abrangente, escolhemos a segunda.
Os passos chave incluem:
Projetámos cuidadosamente o layout da memória e construímos primitivas de leitura e escrita controláveis utilizando objetos de janela e objetos HWNDClass. A função GetMenuBarInfo() é utilizada para leitura arbitrária, enquanto SetClassLongPtr() é utilizada para escrita arbitrária. No final, é possível realizar operações como substituir o token do processo.
Resumo
A Microsoft está a reescrever o código relacionado com win32k em Rust, no futuro este tipo de vulnerabilidades poderá ser eliminado.
O processo de exploração de vulnerabilidades é relativamente simples, dependendo principalmente da divulgação do endereço do manipulador de pilha da área de trabalho.
A descoberta da vulnerabilidade pode ser atribuída a uma detecção de cobertura de código mais aprimorada.
A deteccão de anomalias na disposição da memória e na leitura e escrita de dados da janela ajuda a descobrir este tipo de vulnerabilidades.