Vulnerabilidade 0day no sistema Windows gera riscos de segurança no Web3 Análise do processo de exploração por especialistas

robot
Geração de resumo em curso

Análise e Exploração de Vulnerabilidades 0day no Sistema Windows da Microsoft

Recentemente, o patch de segurança lançado pela Microsoft inclui uma vulnerabilidade de elevação de privilégios win32k que está sendo explorada. Esta vulnerabilidade existe principalmente em versões mais antigas do sistema Windows, não podendo ser acionada no Windows 11. Este artigo irá analisar como os atacantes continuam a explorar esse tipo de vulnerabilidade, em um contexto onde a proteção de segurança está constantemente a ser reforçada. O nosso processo de análise foi realizado no ambiente do Windows Server 2016.

Contexto da Vulnerabilidade

A vulnerabilidade 0day refere-se a uma falha de segurança que ainda não foi divulgada e não foi corrigida, semelhante ao conceito de negociação T+0 nos mercados financeiros. Uma vez descoberta, essa vulnerabilidade pode ser explorada maliciosamente sem ser percebida, causando enormes danos.

A vulnerabilidade 0day do sistema Windows descoberta desta vez pode permitir que os atacantes obtenham controle total do sistema. Isso pode resultar em sérias consequências, como vazamento de informações pessoais, falhas no sistema, perda de dados e perdas financeiras. Do ponto de vista do Web3, as chaves privadas dos usuários podem ser roubadas e os ativos digitais transferidos. De uma forma mais ampla, essa vulnerabilidade pode afetar todo o ecossistema do Web3 que opera com base na infraestrutura do Web2.

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

Análise de Vulnerabilidades

Ao analisar o código do patch, descobrimos que se trata de um problema de contagem de referências de objeto. Os comentários no código win32k anterior mostram que apenas o objeto da janela foi bloqueado, sem bloquear o objeto do menu na janela, o que pode levar a uma referência incorreta do objeto do menu.

Análise adicional revela que, na função xxxEnableMenuItem, o objeto de menu retornado pode ser o menu principal da janela, um submenu ou até mesmo um menu mais profundo. Isso fornece uma ideia para construir um POC.

Numen Exclusivo: Vulnerabilidade 0day da Microsoft pode desestabilizar o cenário Web3 a nível de sistema + físico

Implementação POC

Construímos uma estrutura de menu em múltiplas camadas, contendo quatro objetos de menu com relações específicas. Ao configurar cuidadosamente as propriedades e relações desses menus, é possível contornar a detecção da função xxxEnableMenuItem e liberar objetos de menu críticos quando a função retorna. Assim, ao referenciar esse objeto posteriormente, um vulnerabilidade UAF será acionada.

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

Exploração de vulnerabilidade ( EXP ) implementação

Abordagem geral

Consideramos duas formas de exploração: executar shellcode e explorar primitivas de leitura/escrita para modificar o token. Optámos pela segunda, pois é mais viável em versões mais recentes do Windows. Dividimos todo o processo de exploração em duas etapas: como controlar o valor de cbwndextra através de UAF e como utilizar o cbwndextra controlado para realizar primitivas de leitura/escrita estáveis.

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

escrita de dados iniciais

Utilizamos o objeto de nome da classe de janela WNDClass para ocupar a memória de objetos de menu que foram liberados. Após analisar vários pontos de escrita possíveis, escolhemos, finalmente, utilizar a operação AND nos flags do objeto na função xxxRedrawWindow para escrever o valor cb-extra da HWNDClass.

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

layout de memória

Desenhamos um layout de memória composto por três objetos HWND consecutivos, onde o objeto do meio é liberado e ocupado pelo objeto HWNDClass. Os objetos HWND na frente e atrás são utilizados para contornar a detecção e implementar as primitivas de leitura e escrita finais. Através do endereço do manipulador de núcleo vazado, podemos controlar precisamente a disposição desses objetos.

Numen Exclusivo: Vulnerabilidade 0day da Microsoft pode desmantelar o jogo Web3 em níveis sistemáticos + físicos

implementação de leitura e escrita de primitivos

Qualquer operação de leitura utiliza a função GetMenuBarInfo, enquanto qualquer operação de escrita utiliza a função SetClassLongPtr. Exceto pela escrita do TOKEN, que depende do objeto de classe da segunda janela, todas as outras operações de escrita utilizam o objeto de classe da primeira janela, implementando-o através de deslocamento.

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

Resumo

  1. A Microsoft está a tentar reestruturar o código win32k usando Rust, no futuro, tais vulnerabilidades poderão ser totalmente resolvidas em novos sistemas.

  2. O processo de exploração deste tipo de vulnerabilidade é relativamente simples, sendo o principal desafio como controlar a primeira gravação de dados.

  3. A descoberta de vulnerabilidades pode ser atribuída a tecnologias de detecção de cobertura de código mais sofisticadas.

  4. Para a deteção de vulnerabilidades, além de focar nos pontos críticos das funções desencadeadoras, também deve-se monitorizar disposições de memória anormais e operações de leitura e escrita de dados.

Numen exclusivo: vulnerabilidade 0day da Microsoft pode abalar o cenário do Web3 em níveis de sistema e físico

Ver original
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.
  • Recompensa
  • 6
  • Partilhar
Comentar
0/400
DeFiGraylingvip
· 2h atrás
A Microsoft realmente se superou desta vez -_-
Ver originalResponder0
HackerWhoCaresvip
· 2h atrás
Não é de admirar que o meu computador esteja tão lento!
Ver originalResponder0
ResearchChadButBrokevip
· 2h atrás
A Microsoft desta vez está arruinada.
Ver originalResponder0
GasWranglervip
· 2h atrás
tecnicamente falando, essa falha no layout de memória é suboptimal af
Ver originalResponder0
wagmi_eventuallyvip
· 3h atrás
Eu caramba, está perigoso.
Ver originalResponder0
OneBlockAtATimevip
· 3h atrás
Ai, o Windows tem uma vulnerabilidade novamente.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)