Análisis y explotación de vulnerabilidades 0day en el sistema Windows de Microsoft
Recientemente, un parche de seguridad publicado por Microsoft ha corregido una vulnerabilidad de elevación de privilegios en Windows que estaba siendo explotada por hackers. Esta vulnerabilidad afecta principalmente a las versiones anteriores del sistema operativo Windows y no se puede activar en Windows 11.
Este tipo de vulnerabilidades ha existido durante años. Este artículo explorará cómo los atacantes pueden seguir aprovechándose de este tipo de vulnerabilidades en el contexto de medidas de seguridad que se están fortaleciendo continuamente. El siguiente análisis se completa en un entorno de Windows Server 2016.
Una vulnerabilidad 0day se refiere a una vulnerabilidad que no ha sido divulgada ni reparada, que puede ser explotada maliciosamente por hackers sin ser detectados, y que tiene un gran potencial destructivo. La vulnerabilidad 0day recientemente descubierta permite a los atacantes obtener el control total del sistema Windows, lo que puede resultar en la filtración de información personal, fallos del sistema, pérdida de datos y otras consecuencias graves. Desde el robo de claves privadas de criptomonedas hasta la posible afectación de la seguridad de todo el ecosistema Web3.
Análisis de parches
El análisis del código del parche revela que se solucionó principalmente un problema de procesamiento excesivo del recuento de referencias de objetos. A través de los comentarios en el código fuente anterior, se puede saber que el código anterior solo bloqueaba el objeto de la ventana, sin bloquear el objeto del menú en la ventana, lo que podría llevar a una referencia incorrecta del objeto del menú.
Reproducción de vulnerabilidades
El análisis revela que el menú pasado a xxxEnableMenuItem() suele estar bloqueado en una función superior, pero no está claro qué objeto de menú específico está protegido. Un análisis más detallado muestra que el menú devuelto por la función MenuItemState puede ser el menú principal de la ventana, un submenú o un menú en niveles más profundos.
Hemos construido una estructura de menú jerárquica especial para activar vulnerabilidades, que incluye menús del sistema de un tipo de ID específico, y hemos tratado de manera especial las relaciones de referencia entre los menús. Finalmente, al devolver el nivel de usuario en xxxRedrawTitle, se libera el objeto de menú específico, lo que provoca que las referencias posteriores a la función xxxEnableMenuItem sean a un objeto no válido.
Explotación de vulnerabilidades
La explotación de vulnerabilidades considera principalmente dos direcciones: ejecutar shellcode y utilizar operaciones de lectura/escritura para modificar el token. Después de un análisis exhaustivo, elegimos la segunda.
Los pasos clave incluyen:
Utilizar la vulnerabilidad UAF para controlar el valor de cbwndextra
Implementar primitivas de lectura y escritura estables
Hemos diseñado cuidadosamente la disposición de la memoria, utilizando objetos de ventana y objetos HWNDClass para construir primitivas de lectura y escritura controlables. Utilizamos GetMenuBarInfo() para realizar lecturas arbitrarias y SetClassLongPtr() para realizar escrituras arbitrarias. Al final, se pueden llevar a cabo operaciones como reemplazar el token del proceso.
Resumen
Microsoft está reestructurando el código relacionado con win32k utilizando Rust, en el futuro este tipo de vulnerabilidades podrían ser eliminadas.
El proceso de explotación de vulnerabilidades es relativamente simple, y se basa principalmente en la filtración de la dirección del manejador de pila de escritorio.
El descubrimiento de esta vulnerabilidad puede deberse a una detección de cobertura de código más completa.
La detección de disposiciones de memoria anormales y la lectura y escritura de datos de ventanas ayuda a descubrir este tipo de vulnerabilidades.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
9 me gusta
Recompensa
9
7
Compartir
Comentar
0/400
LayerZeroHero
· hace13h
Actualizar a 11 es más seguro.
Ver originalesResponder0
YieldWhisperer
· 07-31 00:49
Es necesario fortalecer la monitorización del antiguo sistema.
Ver originalesResponder0
OnlyOnMainnet
· 07-31 00:48
La crisis de la billetera digital está en todas partes.
Ver originalesResponder0
governance_ghost
· 07-31 00:47
La protección de la Llave privada debe ser fortalecida.
Ver originalesResponder0
BakedCatFanboy
· 07-31 00:45
¡Vamos a actualizar el sistema, todos!
Ver originalesResponder0
AlphaLeaker
· 07-31 00:42
Atención a proteger la seguridad de la Llave privada
Vulnerabilidad de escalada de privilegios 0day en Windows: la seguridad de la Billetera encriptación enfrenta una nueva amenaza
Análisis y explotación de vulnerabilidades 0day en el sistema Windows de Microsoft
Recientemente, un parche de seguridad publicado por Microsoft ha corregido una vulnerabilidad de elevación de privilegios en Windows que estaba siendo explotada por hackers. Esta vulnerabilidad afecta principalmente a las versiones anteriores del sistema operativo Windows y no se puede activar en Windows 11.
Este tipo de vulnerabilidades ha existido durante años. Este artículo explorará cómo los atacantes pueden seguir aprovechándose de este tipo de vulnerabilidades en el contexto de medidas de seguridad que se están fortaleciendo continuamente. El siguiente análisis se completa en un entorno de Windows Server 2016.
Una vulnerabilidad 0day se refiere a una vulnerabilidad que no ha sido divulgada ni reparada, que puede ser explotada maliciosamente por hackers sin ser detectados, y que tiene un gran potencial destructivo. La vulnerabilidad 0day recientemente descubierta permite a los atacantes obtener el control total del sistema Windows, lo que puede resultar en la filtración de información personal, fallos del sistema, pérdida de datos y otras consecuencias graves. Desde el robo de claves privadas de criptomonedas hasta la posible afectación de la seguridad de todo el ecosistema Web3.
Análisis de parches
El análisis del código del parche revela que se solucionó principalmente un problema de procesamiento excesivo del recuento de referencias de objetos. A través de los comentarios en el código fuente anterior, se puede saber que el código anterior solo bloqueaba el objeto de la ventana, sin bloquear el objeto del menú en la ventana, lo que podría llevar a una referencia incorrecta del objeto del menú.
Reproducción de vulnerabilidades
El análisis revela que el menú pasado a xxxEnableMenuItem() suele estar bloqueado en una función superior, pero no está claro qué objeto de menú específico está protegido. Un análisis más detallado muestra que el menú devuelto por la función MenuItemState puede ser el menú principal de la ventana, un submenú o un menú en niveles más profundos.
Hemos construido una estructura de menú jerárquica especial para activar vulnerabilidades, que incluye menús del sistema de un tipo de ID específico, y hemos tratado de manera especial las relaciones de referencia entre los menús. Finalmente, al devolver el nivel de usuario en xxxRedrawTitle, se libera el objeto de menú específico, lo que provoca que las referencias posteriores a la función xxxEnableMenuItem sean a un objeto no válido.
Explotación de vulnerabilidades
La explotación de vulnerabilidades considera principalmente dos direcciones: ejecutar shellcode y utilizar operaciones de lectura/escritura para modificar el token. Después de un análisis exhaustivo, elegimos la segunda.
Los pasos clave incluyen:
Hemos diseñado cuidadosamente la disposición de la memoria, utilizando objetos de ventana y objetos HWNDClass para construir primitivas de lectura y escritura controlables. Utilizamos GetMenuBarInfo() para realizar lecturas arbitrarias y SetClassLongPtr() para realizar escrituras arbitrarias. Al final, se pueden llevar a cabo operaciones como reemplazar el token del proceso.
Resumen
Microsoft está reestructurando el código relacionado con win32k utilizando Rust, en el futuro este tipo de vulnerabilidades podrían ser eliminadas.
El proceso de explotación de vulnerabilidades es relativamente simple, y se basa principalmente en la filtración de la dirección del manejador de pila de escritorio.
El descubrimiento de esta vulnerabilidad puede deberse a una detección de cobertura de código más completa.
La detección de disposiciones de memoria anormales y la lectura y escritura de datos de ventanas ayuda a descubrir este tipo de vulnerabilidades.