A vulnerabilidade 0day ameaça o sistema Win e pode comprometer a segurança da infraestrutura Web3.

robot
Geração do resumo em andamento

Análise da vulnerabilidade 0day da Microsoft: pode representar uma ameaça significativa à infraestrutura Web3

O patch de segurança da Microsoft do mês passado continha uma vulnerabilidade de elevação de privilégios win32k que estava sendo explorada. Esta vulnerabilidade parece existir apenas em sistemas Windows mais antigos e não pode ser acionada no Windows 11.

A exploração deste tipo de vulnerabilidade existe há muito tempo. Este artigo analisará como os atacantes podem continuar a explorar essa vulnerabilidade no contexto atual de constantes melhorias nas novas medidas de mitigação. Realizámos todo o processo de análise no ambiente do Windows Server 2016.

Uma vulnerabilidade 0day refere-se a uma vulnerabilidade que não foi divulgada ou corrigida, podendo ser explorada maliciosamente sem ser detectada, apresentando grande potencial destrutivo. A vulnerabilidade 0day recém-descoberta localiza-se no nível do sistema Windows, e os hackers podem obter controle total do Windows através dessa vulnerabilidade.

O controle do sistema por hackers pode levar a vazamentos de informações pessoais, falhas do sistema, perda de dados, perdas financeiras, implantação de malware, entre outras consequências. Para os usuários do Web3, as chaves privadas podem ser roubadas e os ativos digitais podem ser transferidos. Em uma escala maior, essa vulnerabilidade pode até afetar todo o ecossistema Web3 que opera com base na infraestrutura Web2.

Numen Exclusivo: a vulnerabilidade 0day da Microsoft pode derrubar o jogo Web3 a nível de sistema + físico

Análise de Patch

Após analisar o patch, parece que o problema é apenas que a contagem de referências de um objeto foi manipulada uma vez a mais. Como o código do win32k é relativamente antigo, conseguimos encontrar alguns comentários de código mais antigos que indicam que o código anterior apenas bloqueava o objeto da janela, sem bloquear o objeto do menu dentro do objeto da janela, onde o objeto do menu pode ter sido referenciado incorretamente.

Numen exclusivo: vulnerabilidade 0day da Microsoft pode desmantelar o jogo Web3 em níveis sistêmicos e físicos

Prova de Conceito de Exploração de Vulnerabilidades(PoC)

Descobrimos que o menu passado para xxxEnableMenuItem() geralmente já está bloqueado na função superior. Uma análise adicional revelou que a função MenuItemState em xxxEnableMenuItem retorna dois tipos possíveis de menu: o menu principal da janela ou um submenu dentro do menu (, ou até mesmo um submenu do submenu ).

No PoC, construímos uma estrutura de menu especial de quatro camadas e definimos propriedades específicas para cada nível do menu, a fim de realizar detecções e julgamentos através da função xxxEnableMenuItem. Os passos chave incluem a remoção de certas relações de referência do menu e a liberação de objetos de menu específicos quando xxxRedrawTitle retorna à camada do usuário.

Numen Exclusivo: Falha 0day da Microsoft pode derrubar o jogo Web3 a nível de sistema + físico

Exploração de vulnerabilidades ( Exp ) implementação

Abordagem geral

Consideramos principalmente duas direções de exploração: executar código shellcode e usar primitivas de leitura e escrita para modificar o endereço do token. Tendo em conta vários fatores, optamos pela segunda.

Todo o exp utiliza-se pode ser dividido em duas questões-chave: como explorar a vulnerabilidade UAF para controlar o valor de cbwndextra, e como implementar primitivas de leitura e escrita estáveis após controlar o valor de cbwndextra.

Numen exclusivo: a vulnerabilidade 0day da Microsoft pode derrubar o jogo Web3 em nível sistêmico e físico

Implementar a primeira gravação de dados

Utilizamos o objeto de nome da janela na classe WNDClass para ocupar e liberar objetos de menu. O importante é encontrar um local na estrutura de endereço que possamos construir, onde dados possam ser escritos de forma arbitrária.

Finalmente, escolhemos implementar a escrita através de uma operação de AND 2 em uma flag na função xxxRedrawWindow. Escrevemos no cb-extra do HWNDClass em vez do cb-extra do objeto da janela, para melhor controlar a disposição da memória.

Numen Exclusivo: a vulnerabilidade 0day da Microsoft pode desmantelar o jogo Web3 em níveis de sistema e físico

Layout de memória estável

Projetámos pelo menos três layouts de memória de objetos HWND de 0x250 bytes em sequência, libertando o do meio e ocupando com um objeto HWNDClass de 0x250 bytes. Os objetos HWND anterior e posterior são utilizados, respetivamente, para verificar parâmetros e como meio de leitura/escrita.

Através do endereço do manipulador do núcleo vazado na memória heap, podemos determinar com precisão se o objeto da janela solicitado está organizado conforme esperado.

Numen Exclusivo: Vulnerabilidade 0day da Microsoft pode desestabilizar o jogo Web3 em nível de sistema + físico

Modificação de primitivas de leitura e escrita

Usamos GetMenuBarInfo() para implementar leitura arbitrária e SetClassLongPtr() para implementar escrita arbitrária. Exceto pela operação de escrita que substitui o TOKEN, todas as outras escritas são realizadas utilizando o objeto class do primeiro objeto de janela com um deslocamento.

Numen Exclusivo: Vulnerabilidade 0day da Microsoft pode desmantelar o jogo Web3 em nível de sistema + físico

Resumo

  1. A vulnerabilidade win32k existe há muito tempo, mas a Microsoft está tentando reestruturar o código do núcleo relacionado usando Rust; no futuro, esse tipo de vulnerabilidade pode ser eliminado em novos sistemas.

  2. O processo de exploração desta vulnerabilidade é relativamente simples, sendo o principal desafio controlar a primeira gravação. A vulnerabilidade ainda depende fortemente da divulgação do endereço do manipulador da pilha de desktop, o que continua a ser um risco de segurança para sistemas antigos.

  3. A descoberta desta vulnerabilidade pode ter sido facilitada por uma detecção de cobertura de código mais robusta.

  4. Para a deteção de exploração de vulnerabilidades, além de focar nos pontos-chave das funções que ativam as vulnerabilidades, deve-se também realizar deteções direcionadas de layouts de memória anormais e operações de leitura e escrita de dados de janela.

Numen Exclusivo: a falha 0day da Microsoft pode derrubar o jogo Web3 em nível de sistema + físico

Ver original
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.
  • Recompensa
  • 7
  • Compartilhar
Comentário
0/400
CryptoPhoenixvip
· 15h atrás
Mais uma oportunidade de reconstruir a fé! Faça backup da carteira fria, é importante sair da zona de fundo para garantir a sobrevivência.
Ver originalResponder0
SignatureVerifiervip
· 19h atrás
*sigh* mais uma validação tecnicamente insuficiente... quando é que eles vão aprender a contar corretamente?
Ver originalResponder0
FlatTaxvip
· 19h atrás
Atualiza o sistema primeiro e depois falamos, cuidado para não perder a conta.
Ver originalResponder0
MysteriousZhangvip
· 19h atrás
Mais uma vez win, em que ano ainda estamos a correr nós Nó no win?
Ver originalResponder0
TooScaredToSellvip
· 19h atrás
Não brinca com a carteira do velho computador, transfira rápido.
Ver originalResponder0
LootboxPhobiavip
· 19h atrás
Assustador Chave privada Carteira fria sensação de segurança++
Ver originalResponder0
CryptoCross-TalkClubvip
· 19h atrás
Bear Market canta uma comédia, bull run negocia criptomoedas, realmente me fez a Microsoft criar uma faca rápida de idiotas.
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)