Análisis de una grave vulnerabilidad de seguridad de Microsoft: puede llevar a un control total del sistema Windows
Recientemente, Microsoft lanzó un parche de seguridad que corrige una grave vulnerabilidad de escalada de privilegios en win32k. Esta vulnerabilidad existe principalmente en versiones anteriores del sistema Windows y parece no afectar a Windows 11. Este artículo analizará cómo los atacantes podrían seguir aprovechando este tipo de vulnerabilidades en el contexto de las medidas de seguridad que continúan mejorando.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad "zero-day" no divulgada, que puede ser explotada maliciosamente por hackers sin que el sistema lo detecte, y que tiene un gran potencial destructivo. A través de esta vulnerabilidad, los atacantes pueden obtener el control total del sistema operativo Windows, lo que puede resultar en el robo de información personal, fallos del sistema, pérdida de datos y otras consecuencias graves. Para los usuarios de Web3, tanto las claves privadas como los activos digitales pueden ser robados. En un sentido más amplio, esta vulnerabilidad incluso podría afectar a todo el ecosistema de Web3 que opera sobre la infraestructura de Web2.
Análisis de parches
El análisis del código del parche revela que el problema se debe a que el conteo de referencias de un objeto se procesó una vez más. Al revisar los comentarios del código fuente antiguo, se descubrió que el código anterior solo bloqueaba el objeto de la ventana, sin bloquear el objeto del menú dentro del objeto de la ventana, lo que podría llevar a una referencia incorrecta del objeto del menú.
Verificación de vulnerabilidades
Hemos construido una estructura de menú de múltiples capas especial para activar vulnerabilidades. Los puntos clave incluyen:
El menú de nivel más bajo debe ser del tipo menú del sistema
El menú de nivel superior también debe ser un menú del sistema, pero se deben eliminar elementos de menú del sistema específicos.
Eliminar la relación de referencia del menú de capa intermedia
Añadir un menú de capa intermedia para garantizar que el proceso de liberación sea fluido.
De esta manera, se puede liberar el objeto del menú objetivo cuando se devuelve la función clave, lo que provoca que las referencias posteriores sean inválidas.
Explotación de vulnerabilidades
El enfoque general es utilizar esta vulnerabilidad para lograr la lectura y escritura de memoria arbitraria, lo que permite modificar el token del proceso para obtener permisos del sistema. Los pasos principales incluyen:
Utilizar la vulnerabilidad UAF para controlar el tamaño de los datos adicionales de la ventana (cbwndextra)
Construir una disposición de memoria estable
Implementar primitivas de lectura y escritura confiables
Localizar y modificar el token del proceso
El punto clave es cómo lograr la primera escritura de datos a través de una vulnerabilidad. Finalmente elegimos implementar esto utilizando un indicador en la función de redibujado de la ventana.
Para garantizar la estabilidad, hemos diseñado cuidadosamente una disposición de memoria continua, que incluye múltiples objetos de ventana y objetos de clase de ventana. Se verifica si la disposición de memoria cumple con las expectativas a través de la dirección del manejador del núcleo filtrada.
En cuanto a la lectura y escritura de primitivos, utilizamos APIs como GetMenuBarInfo y SetClassLongPtr. Aparte de la modificación de tokens, la mayoría de las operaciones de escritura se realizan a través del objeto de clase del primer objeto de ventana.
Resumen
Microsoft está reescribiendo el código relacionado con win32k en Rust, en el futuro, este tipo de vulnerabilidades podría ser completamente resuelto.
El proceso de explotación de la vulnerabilidad es relativamente simple, y se basa principalmente en la filtración de la dirección del manejador de la pila de escritorio.
El descubrimiento de esta vulnerabilidad puede deberse a una mejor detección de la cobertura del código.
La detección de la disposición de la memoria y la lectura y escritura de datos anómalos ayuda a descubrir este tipo de vulnerabilidades.
En general, a pesar de que la seguridad de Windows está mejorando constantemente, las vulnerabilidades siguen siendo un grave riesgo de seguridad para los sistemas antiguos. Todas las partes involucradas deben mantenerse alerta y reparar las vulnerabilidades del sistema de manera oportuna.
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.
7 me gusta
Recompensa
7
5
Republicar
Compartir
Comentar
0/400
AirdropHunter420
· Hace25m
¡Robar todos los activos es un poco estimulante!
Ver originalesResponder0
DuckFluff
· 08-11 10:17
No es mi win11~ ¿de qué tengo miedo?
Ver originalesResponder0
DuskSurfer
· 08-11 10:16
Este sistema win lo desinstalé directamente, Lin Baobo realmente no sirve.
Ver originalesResponder0
SchrodingerAirdrop
· 08-11 10:14
¡Ya era hora de cambiar a Mac!
Ver originalesResponder0
BridgeJumper
· 08-11 09:56
Aprovecha que Microsoft no lo ha solucionado y corre a Mac.
Exposición de vulnerabilidades críticas en el sistema Windows: los activos de llaves privadas de los usuarios de Web3 podrían ser robados.
Análisis de una grave vulnerabilidad de seguridad de Microsoft: puede llevar a un control total del sistema Windows
Recientemente, Microsoft lanzó un parche de seguridad que corrige una grave vulnerabilidad de escalada de privilegios en win32k. Esta vulnerabilidad existe principalmente en versiones anteriores del sistema Windows y parece no afectar a Windows 11. Este artículo analizará cómo los atacantes podrían seguir aprovechando este tipo de vulnerabilidades en el contexto de las medidas de seguridad que continúan mejorando.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad "zero-day" no divulgada, que puede ser explotada maliciosamente por hackers sin que el sistema lo detecte, y que tiene un gran potencial destructivo. A través de esta vulnerabilidad, los atacantes pueden obtener el control total del sistema operativo Windows, lo que puede resultar en el robo de información personal, fallos del sistema, pérdida de datos y otras consecuencias graves. Para los usuarios de Web3, tanto las claves privadas como los activos digitales pueden ser robados. En un sentido más amplio, esta vulnerabilidad incluso podría afectar a todo el ecosistema de Web3 que opera sobre la infraestructura de Web2.
Análisis de parches
El análisis del código del parche revela que el problema se debe a que el conteo de referencias de un objeto se procesó una vez más. Al revisar los comentarios del código fuente antiguo, se descubrió que el código anterior solo bloqueaba el objeto de la ventana, sin bloquear el objeto del menú dentro del objeto de la ventana, lo que podría llevar a una referencia incorrecta del objeto del menú.
Verificación de vulnerabilidades
Hemos construido una estructura de menú de múltiples capas especial para activar vulnerabilidades. Los puntos clave incluyen:
De esta manera, se puede liberar el objeto del menú objetivo cuando se devuelve la función clave, lo que provoca que las referencias posteriores sean inválidas.
Explotación de vulnerabilidades
El enfoque general es utilizar esta vulnerabilidad para lograr la lectura y escritura de memoria arbitraria, lo que permite modificar el token del proceso para obtener permisos del sistema. Los pasos principales incluyen:
El punto clave es cómo lograr la primera escritura de datos a través de una vulnerabilidad. Finalmente elegimos implementar esto utilizando un indicador en la función de redibujado de la ventana.
Para garantizar la estabilidad, hemos diseñado cuidadosamente una disposición de memoria continua, que incluye múltiples objetos de ventana y objetos de clase de ventana. Se verifica si la disposición de memoria cumple con las expectativas a través de la dirección del manejador del núcleo filtrada.
En cuanto a la lectura y escritura de primitivos, utilizamos APIs como GetMenuBarInfo y SetClassLongPtr. Aparte de la modificación de tokens, la mayoría de las operaciones de escritura se realizan a través del objeto de clase del primer objeto de ventana.
Resumen
Microsoft está reescribiendo el código relacionado con win32k en Rust, en el futuro, este tipo de vulnerabilidades podría ser completamente resuelto.
El proceso de explotación de la vulnerabilidad es relativamente simple, y se basa principalmente en la filtración de la dirección del manejador de la pila de escritorio.
El descubrimiento de esta vulnerabilidad puede deberse a una mejor detección de la cobertura del código.
La detección de la disposición de la memoria y la lectura y escritura de datos anómalos ayuda a descubrir este tipo de vulnerabilidades.
En general, a pesar de que la seguridad de Windows está mejorando constantemente, las vulnerabilidades siguen siendo un grave riesgo de seguridad para los sistemas antiguos. Todas las partes involucradas deben mantenerse alerta y reparar las vulnerabilidades del sistema de manera oportuna.