Análise da vulnerabilidade 0day do sistema Windows da Microsoft e seus potenciais impactos
Recentemente, a Microsoft lançou um patch de segurança que corrige uma vulnerabilidade de elevação de privilégios no kernel do Windows que está sendo explorada. Essa vulnerabilidade afeta principalmente versões anteriores do Windows e não pode ser acionada no Windows 11. Este artigo irá analisar em profundidade como esse tipo de vulnerabilidade é explorado no contexto atual de segurança.
Vulnerabilidades 0day referem-se a falhas de segurança que ainda não foram divulgadas ou corrigidas, podendo ser exploradas de forma maliciosa por atacantes sem serem detectados, com um enorme potencial destrutivo. A vulnerabilidade 0day do Windows recentemente descoberta permite que hackers obtenham controle total do sistema, com consequências que incluem o roubo de informações pessoais, falhas no sistema, perdas financeiras e a inserção de malware. Para os usuários de Web3, isso pode resultar no roubo de chaves privadas e na transferência de ativos digitais. Em uma escala mais ampla, essa vulnerabilidade pode até afetar o ecossistema Web3 que opera em infraestruturas baseadas em Web2.
A análise do patch revelou que o problema reside na forma como o código win32k lida com a contagem de referências dos objetos de menu dentro dos objetos de janela. O código anterior apenas bloqueava o objeto da janela, sem bloquear o objeto do menu, o que poderia levar a uma referência incorreta do objeto do menu.
Para explorar essa vulnerabilidade, construímos uma estrutura de menu especial de múltiplas camadas, e em momentos críticos, removemos algumas relações de referência do menu. Isso permite que, ao retornar à camada do usuário na função xxxRedrawTitle, o objeto de menu alvo seja liberado com sucesso, resultando em referências a objetos inválidos nas funções do núcleo subsequentes.
Na utilização prática, consideramos principalmente duas soluções: executar shellcode ou utilizar primitivas de leitura e escrita para modificar o endereço do token. Tendo em conta os mecanismos de segurança das versões mais recentes do Windows, optámos pela segunda. A implementação específica é dividida em duas etapas: primeiro, controlamos o valor de cbwndextra através da vulnerabilidade UAF, e depois construímos primitivas de leitura e escrita estáveis.
Desenhamos um layout de memória que contém três objetos HWND consecutivos, e através do controle preciso do tamanho dos objetos e da ordem de liberação, conseguimos realizar a primeira escrita dos dados alvo. Em seguida, utilizamos as funções GetMenuBarInfo() e SetClassLongPtr() para construir um primitivo de leitura e escrita estável, completando assim a modificação do token do sistema.
Apesar de a Microsoft estar a reestruturar o código win32k com Rust para resolver completamente este tipo de problemas, para um grande número de sistemas antigos em uso, isso continua a ser uma séria vulnerabilidade de segurança. Esta análise de vulnerabilidades também reflete que uma detecção completa da cobertura de código e uma deteção direcionada de operações de memória anómalas serão formas importantes de descobrir este tipo de vulnerabilidades.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
21 Curtidas
Recompensa
21
8
Repostar
Compartilhar
Comentário
0/400
ApeWithAPlan
· 07-08 09:41
Ainda bem que eu já não preciso da janelinha quebrada.
Ver originalResponder0
AirdropFatigue
· 07-07 11:15
usuários do win10 a tremer
Ver originalResponder0
MagicBean
· 07-07 03:49
Já era hora de trocar para um Mac.
Ver originalResponder0
WhaleWatcher
· 07-07 00:48
Pelo menos eu ainda estou seguro no win11
Ver originalResponder0
JustHodlIt
· 07-07 00:47
A alimentar outra vez, que emocionante!
Ver originalResponder0
DegenWhisperer
· 07-07 00:40
Acelera para subir o win11 e manter a segurança
Ver originalResponder0
HodlVeteran
· 07-07 00:38
Outra vez vamos assistir à Grande Fuga dos idiotas da Carteira.
Ver originalResponder0
RugPullProphet
· 07-07 00:37
Estão a fazer das suas novamente, é melhor mudar para o Windows 11.
Análise de vulnerabilidades 0day do Windows: potenciais ameaças à segurança da chave privada dos usuários Web3
Análise da vulnerabilidade 0day do sistema Windows da Microsoft e seus potenciais impactos
Recentemente, a Microsoft lançou um patch de segurança que corrige uma vulnerabilidade de elevação de privilégios no kernel do Windows que está sendo explorada. Essa vulnerabilidade afeta principalmente versões anteriores do Windows e não pode ser acionada no Windows 11. Este artigo irá analisar em profundidade como esse tipo de vulnerabilidade é explorado no contexto atual de segurança.
Vulnerabilidades 0day referem-se a falhas de segurança que ainda não foram divulgadas ou corrigidas, podendo ser exploradas de forma maliciosa por atacantes sem serem detectados, com um enorme potencial destrutivo. A vulnerabilidade 0day do Windows recentemente descoberta permite que hackers obtenham controle total do sistema, com consequências que incluem o roubo de informações pessoais, falhas no sistema, perdas financeiras e a inserção de malware. Para os usuários de Web3, isso pode resultar no roubo de chaves privadas e na transferência de ativos digitais. Em uma escala mais ampla, essa vulnerabilidade pode até afetar o ecossistema Web3 que opera em infraestruturas baseadas em Web2.
A análise do patch revelou que o problema reside na forma como o código win32k lida com a contagem de referências dos objetos de menu dentro dos objetos de janela. O código anterior apenas bloqueava o objeto da janela, sem bloquear o objeto do menu, o que poderia levar a uma referência incorreta do objeto do menu.
Para explorar essa vulnerabilidade, construímos uma estrutura de menu especial de múltiplas camadas, e em momentos críticos, removemos algumas relações de referência do menu. Isso permite que, ao retornar à camada do usuário na função xxxRedrawTitle, o objeto de menu alvo seja liberado com sucesso, resultando em referências a objetos inválidos nas funções do núcleo subsequentes.
Na utilização prática, consideramos principalmente duas soluções: executar shellcode ou utilizar primitivas de leitura e escrita para modificar o endereço do token. Tendo em conta os mecanismos de segurança das versões mais recentes do Windows, optámos pela segunda. A implementação específica é dividida em duas etapas: primeiro, controlamos o valor de cbwndextra através da vulnerabilidade UAF, e depois construímos primitivas de leitura e escrita estáveis.
Desenhamos um layout de memória que contém três objetos HWND consecutivos, e através do controle preciso do tamanho dos objetos e da ordem de liberação, conseguimos realizar a primeira escrita dos dados alvo. Em seguida, utilizamos as funções GetMenuBarInfo() e SetClassLongPtr() para construir um primitivo de leitura e escrita estável, completando assim a modificação do token do sistema.
Apesar de a Microsoft estar a reestruturar o código win32k com Rust para resolver completamente este tipo de problemas, para um grande número de sistemas antigos em uso, isso continua a ser uma séria vulnerabilidade de segurança. Esta análise de vulnerabilidades também reflete que uma detecção completa da cobertura de código e uma deteção direcionada de operações de memória anómalas serão formas importantes de descobrir este tipo de vulnerabilidades.