Análise e Exploração de Vulnerabilidades 0day do Sistema Windows da Microsoft
Recentemente, um patch de segurança da Microsoft corrigiu uma vulnerabilidade de elevação de privilégios no núcleo do Windows que estava sendo explorada por hackers. Essa vulnerabilidade existe principalmente em versões anteriores do sistema Windows, e não no Windows 11. Este artigo analisará como os atacantes continuam a explorar essa vulnerabilidade em um contexto onde as medidas de segurança estão em constante aprimoramento.
Contexto da Vulnerabilidade
Esta é uma vulnerabilidade 0day a nível do sistema Windows, que permite ao atacante obter controle total sobre o Windows. Os danos após o controle incluem vazamento de informações pessoais, falhas no sistema, perda de dados, perdas financeiras, infiltração de malware, entre outros. Para os usuários de Web3, as chaves privadas podem ser roubadas, e os ativos digitais enfrentam o risco de serem transferidos. De uma forma mais ampla, essa vulnerabilidade pode impactar o ecossistema Web3 que opera sobre a infraestrutura Web2.
Análise de Patch
A análise do código do patch revela que parece ser um problema de contagem de referências de objeto que foi processado uma vez a mais. Através dos comentários no código-fonte anterior, pode-se entender que o código anterior apenas bloqueava o objeto da janela e não o objeto do menu dentro do objeto da janela, o que pode ter levado à referência incorreta do objeto do menu.
Reproduzindo Vulnerabilidades
Construímos uma estrutura de menu especial de quatro camadas para desencadear vulnerabilidades. Estes menus precisam atender a algumas condições específicas para passar pela detecção das funções relevantes. Finalmente, ao retornar à camada do usuário, liberamos o objeto do menu alvo ao remover a relação de referência entre os menus, tornando as referências subsequentes a esse objeto inválidas.
Exploração de Vulnerabilidades
A principal ideia de explorar essa vulnerabilidade é modificar o endereço do token através de operações de leitura e escrita. Todo o processo de exploração pode ser dividido em dois passos-chave: primeiro, como controlar o valor de cbwndextra usando a vulnerabilidade UAF; segundo, como estabelecer operações de leitura e escrita estáveis com base no valor controlado de cbwndextra.
Nós conseguimos realizar a primeira gravação de dados através de um layout de memória cuidadosamente projetado, utilizando a relação entre o objeto da janela e o objeto HWNDClass. Em seguida, alocamos três objetos HWND de forma contínua e liberamos o do meio para construir a estrutura de memória necessária.
Na leitura e escrita de primitivas, utilizamos GetMenuBarInfo() para realizar leituras arbitrárias, e SetClassLongPtr() para realizar escritas arbitrárias. Além da operação de substituição de TOKEN, todas as outras escritas são realizadas utilizando o objeto class do primeiro objeto de janela através de deslocamento.
Resumo
A Microsoft está a tentar reestruturar o código relacionado com win32k usando Rust, no futuro este tipo de vulnerabilidades poderá ser eliminado em novos sistemas.
O processo de exploração desta vulnerabilidade é relativamente simples, sendo a principal dificuldade controlar a primeira escrita.
A descoberta de vulnerabilidades pode depender de uma detecção de cobertura de código mais abrangente.
Para a deteção de vulnerabilidades, além de focar nos pontos de funções críticas, também deve haver uma deteção direcionada para layouts de memória anormais e leituras e gravações de dados.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 Curtidas
Recompensa
9
5
Compartilhar
Comentário
0/400
BearEatsAll
· 3h atrás
O antigo sistema não está a ser rapidamente substituído?
Ver originalResponder0
ZkSnarker
· 3h atrás
fato divertido: ainda a correr o Windows 7 em produção, a verdade seja dita
Ver originalResponder0
NightAirdropper
· 3h atrás
Uhu bull incrível... aviso de disco rígido explosivo
Ver originalResponder0
ser_we_are_early
· 3h atrás
win7 companheiro ainda está?
Ver originalResponder0
GasFeeAssassin
· 3h atrás
Acabei de acordar, sem atualizações de patches de segurança do sistema, sinto-me mais seguro.
Análise da vulnerabilidade 0day do kernel do Windows: segurança do ativo Web3 ameaçada
Análise e Exploração de Vulnerabilidades 0day do Sistema Windows da Microsoft
Recentemente, um patch de segurança da Microsoft corrigiu uma vulnerabilidade de elevação de privilégios no núcleo do Windows que estava sendo explorada por hackers. Essa vulnerabilidade existe principalmente em versões anteriores do sistema Windows, e não no Windows 11. Este artigo analisará como os atacantes continuam a explorar essa vulnerabilidade em um contexto onde as medidas de segurança estão em constante aprimoramento.
Contexto da Vulnerabilidade
Esta é uma vulnerabilidade 0day a nível do sistema Windows, que permite ao atacante obter controle total sobre o Windows. Os danos após o controle incluem vazamento de informações pessoais, falhas no sistema, perda de dados, perdas financeiras, infiltração de malware, entre outros. Para os usuários de Web3, as chaves privadas podem ser roubadas, e os ativos digitais enfrentam o risco de serem transferidos. De uma forma mais ampla, essa vulnerabilidade pode impactar o ecossistema Web3 que opera sobre a infraestrutura Web2.
Análise de Patch
A análise do código do patch revela que parece ser um problema de contagem de referências de objeto que foi processado uma vez a mais. Através dos comentários no código-fonte anterior, pode-se entender que o código anterior apenas bloqueava o objeto da janela e não o objeto do menu dentro do objeto da janela, o que pode ter levado à referência incorreta do objeto do menu.
Reproduzindo Vulnerabilidades
Construímos uma estrutura de menu especial de quatro camadas para desencadear vulnerabilidades. Estes menus precisam atender a algumas condições específicas para passar pela detecção das funções relevantes. Finalmente, ao retornar à camada do usuário, liberamos o objeto do menu alvo ao remover a relação de referência entre os menus, tornando as referências subsequentes a esse objeto inválidas.
Exploração de Vulnerabilidades
A principal ideia de explorar essa vulnerabilidade é modificar o endereço do token através de operações de leitura e escrita. Todo o processo de exploração pode ser dividido em dois passos-chave: primeiro, como controlar o valor de cbwndextra usando a vulnerabilidade UAF; segundo, como estabelecer operações de leitura e escrita estáveis com base no valor controlado de cbwndextra.
Nós conseguimos realizar a primeira gravação de dados através de um layout de memória cuidadosamente projetado, utilizando a relação entre o objeto da janela e o objeto HWNDClass. Em seguida, alocamos três objetos HWND de forma contínua e liberamos o do meio para construir a estrutura de memória necessária.
Na leitura e escrita de primitivas, utilizamos GetMenuBarInfo() para realizar leituras arbitrárias, e SetClassLongPtr() para realizar escritas arbitrárias. Além da operação de substituição de TOKEN, todas as outras escritas são realizadas utilizando o objeto class do primeiro objeto de janela através de deslocamento.
Resumo
A Microsoft está a tentar reestruturar o código relacionado com win32k usando Rust, no futuro este tipo de vulnerabilidades poderá ser eliminado em novos sistemas.
O processo de exploração desta vulnerabilidade é relativamente simples, sendo a principal dificuldade controlar a primeira escrita.
A descoberta de vulnerabilidades pode depender de uma detecção de cobertura de código mais abrangente.
Para a deteção de vulnerabilidades, além de focar nos pontos de funções críticas, também deve haver uma deteção direcionada para layouts de memória anormais e leituras e gravações de dados.