Análisis y explotación de vulnerabilidades 0day en el sistema Windows de Microsoft
Recientemente, un parche de seguridad de Microsoft ha corregido una vulnerabilidad de elevación de privilegios en el núcleo de Windows, que fue explotada por hackers en el salvaje. Esta vulnerabilidad se encuentra principalmente en versiones anteriores del sistema operativo Windows, y no en Windows 11. Este artículo analizará cómo los atacantes continúan aprovechando esta vulnerabilidad en el contexto de las medidas de seguridad actuales que están en constante mejora.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad de 0day a nivel del sistema Windows, los atacantes pueden obtener el control total de Windows a través de esta vulnerabilidad. Los daños tras el control incluyen la filtración de información personal, el colapso del sistema, la pérdida de datos, pérdidas financieras, la implantación de software malicioso, entre otros. Para los usuarios de Web3, las claves privadas pueden ser robadas, y los activos digitales enfrentan el riesgo de ser transferidos. Desde una perspectiva más amplia, esta vulnerabilidad podría afectar el ecosistema Web3 que opera sobre la infraestructura de Web2.
Análisis de parches
El análisis del código del parche revela que parece ser un problema de conteo de referencias de objetos que se ha procesado una vez de más. A través de los comentarios en el código fuente anterior, se puede entender que el código anterior solo bloqueaba el objeto de la ventana, y no bloqueaba el objeto del menú dentro del objeto de la ventana, lo que podría llevar a que el objeto del menú sea referenciado incorrectamente.
Reproducción de vulnerabilidades
Hemos construido una estructura de menú especial de cuatro capas para desencadenar vulnerabilidades. Estos menús deben cumplir con ciertas condiciones específicas para pasar la detección de las funciones relacionadas. Finalmente, al regresar a la capa del usuario, se libera el objeto del menú objetivo eliminando la relación de referencia entre los menús, lo que hace que las referencias posteriores a ese objeto se vuelvan inválidas.
Explotación de vulnerabilidades
La idea principal para aprovechar esta vulnerabilidad es modificar la dirección del token a través de la lectura y escritura de primitivas. Todo el proceso de explotación se puede dividir en dos pasos clave: primero, cómo controlar el valor de cbwndextra mediante la explotación de la vulnerabilidad UAF, y segundo, cómo establecer primitivas de lectura y escritura estables basadas en el valor de cbwndextra controlado.
Hemos logrado la primera escritura de datos mediante un diseño cuidadoso de la disposición de la memoria, utilizando la relación entre el objeto de ventana y el objeto HWNDClass. Luego, construimos la estructura de memoria requerida al asignar continuamente tres objetos HWND y liberar el del medio.
En términos de lectura y escritura de primitivas, utilizamos GetMenuBarInfo() para realizar lecturas arbitrarias y SetClassLongPtr() para realizar escrituras arbitrarias. Aparte de la operación de sustitución de TOKEN, otras escrituras se realizan utilizando el objeto de clase del primer objeto de ventana a través de un desplazamiento.
Resumen
Microsoft está intentando reestructurar el código relacionado con win32k utilizando Rust, en el futuro, este tipo de vulnerabilidades podrían ser eliminadas en el nuevo sistema.
El proceso de explotación de esta vulnerabilidad es relativamente simple, la principal dificultad radica en cómo controlar la primera escritura.
La detección de vulnerabilidades puede depender de una detección de cobertura de código más completa.
En cuanto a la detección de vulnerabilidades, además de centrarse en los puntos de funciones clave, también se debe realizar una detección específica sobre la disposición de memoria anómala y la lectura/escritura de datos.
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 me gusta
Recompensa
9
5
Compartir
Comentar
0/400
BearEatsAll
· hace3h
¿No es hora de cambiar este viejo sistema?
Ver originalesResponder0
ZkSnarker
· hace3h
dato curioso: todavía ejecutando windows 7 en prod tbh
Ver originalesResponder0
NightAirdropper
· hace3h
¡Wuhu alcista! ... Advertencia de disco duro dañado
Ver originalesResponder0
ser_we_are_early
· hace3h
¿Sigue aquí el amigo de win7?
Ver originalesResponder0
GasFeeAssassin
· hace3h
Acabo de despertar y no siento que haya actualizaciones de parches de seguridad del sistema, me siento más seguro.
Análisis de la vulnerabilidad 0day del núcleo de Windows: la seguridad del activo Web3 está amenazada
Análisis y explotación de vulnerabilidades 0day en el sistema Windows de Microsoft
Recientemente, un parche de seguridad de Microsoft ha corregido una vulnerabilidad de elevación de privilegios en el núcleo de Windows, que fue explotada por hackers en el salvaje. Esta vulnerabilidad se encuentra principalmente en versiones anteriores del sistema operativo Windows, y no en Windows 11. Este artículo analizará cómo los atacantes continúan aprovechando esta vulnerabilidad en el contexto de las medidas de seguridad actuales que están en constante mejora.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad de 0day a nivel del sistema Windows, los atacantes pueden obtener el control total de Windows a través de esta vulnerabilidad. Los daños tras el control incluyen la filtración de información personal, el colapso del sistema, la pérdida de datos, pérdidas financieras, la implantación de software malicioso, entre otros. Para los usuarios de Web3, las claves privadas pueden ser robadas, y los activos digitales enfrentan el riesgo de ser transferidos. Desde una perspectiva más amplia, esta vulnerabilidad podría afectar el ecosistema Web3 que opera sobre la infraestructura de Web2.
Análisis de parches
El análisis del código del parche revela que parece ser un problema de conteo de referencias de objetos que se ha procesado una vez de más. A través de los comentarios en el código fuente anterior, se puede entender que el código anterior solo bloqueaba el objeto de la ventana, y no bloqueaba el objeto del menú dentro del objeto de la ventana, lo que podría llevar a que el objeto del menú sea referenciado incorrectamente.
Reproducción de vulnerabilidades
Hemos construido una estructura de menú especial de cuatro capas para desencadenar vulnerabilidades. Estos menús deben cumplir con ciertas condiciones específicas para pasar la detección de las funciones relacionadas. Finalmente, al regresar a la capa del usuario, se libera el objeto del menú objetivo eliminando la relación de referencia entre los menús, lo que hace que las referencias posteriores a ese objeto se vuelvan inválidas.
Explotación de vulnerabilidades
La idea principal para aprovechar esta vulnerabilidad es modificar la dirección del token a través de la lectura y escritura de primitivas. Todo el proceso de explotación se puede dividir en dos pasos clave: primero, cómo controlar el valor de cbwndextra mediante la explotación de la vulnerabilidad UAF, y segundo, cómo establecer primitivas de lectura y escritura estables basadas en el valor de cbwndextra controlado.
Hemos logrado la primera escritura de datos mediante un diseño cuidadoso de la disposición de la memoria, utilizando la relación entre el objeto de ventana y el objeto HWNDClass. Luego, construimos la estructura de memoria requerida al asignar continuamente tres objetos HWND y liberar el del medio.
En términos de lectura y escritura de primitivas, utilizamos GetMenuBarInfo() para realizar lecturas arbitrarias y SetClassLongPtr() para realizar escrituras arbitrarias. Aparte de la operación de sustitución de TOKEN, otras escrituras se realizan utilizando el objeto de clase del primer objeto de ventana a través de un desplazamiento.
Resumen
Microsoft está intentando reestructurar el código relacionado con win32k utilizando Rust, en el futuro, este tipo de vulnerabilidades podrían ser eliminadas en el nuevo sistema.
El proceso de explotación de esta vulnerabilidad es relativamente simple, la principal dificultad radica en cómo controlar la primera escritura.
La detección de vulnerabilidades puede depender de una detección de cobertura de código más completa.
En cuanto a la detección de vulnerabilidades, además de centrarse en los puntos de funciones clave, también se debe realizar una detección específica sobre la disposición de memoria anómala y la lectura/escritura de datos.