Análisis de la vulnerabilidad 0day a nivel de sistema de Microsoft Windows: se puede controlar completamente el sistema
Recientemente, Microsoft lanzó un parche de seguridad que corrige una vulnerabilidad de elevación de privilegios en Win32k que está siendo explotada de manera maliciosa. Esta vulnerabilidad solo existe en versiones anteriores del sistema operativo Windows y no puede ser activada en Windows 11. Este artículo analizará cómo los atacantes podrían seguir aprovechando esta vulnerabilidad en el contexto actual de una protección de seguridad en constante mejora.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad de 0day a nivel del sistema Windows, que permite a los hackers obtener el control total de Windows. Los daños tras el control incluyen el robo de información personal, la pérdida de datos por fallos del sistema, pérdidas financieras, la inserción de malware, entre otros. Desde el robo de claves privadas y la transferencia de activos digitales, hasta la posible afectación de todo el ecosistema Web3 que opera sobre la infraestructura basada en Web2.
Análisis de parches
El análisis del parche revela que se trata de un problema de conteo de referencias de objetos que ha sido mal gestionado. A través de los comentarios en el código fuente anterior, se puede deducir 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 provocar que el objeto del menú sea referenciado incorrectamente.
Principio de vulnerabilidad
Un análisis más detallado revela que el menú que se pasa a xxxEnableMenuItem() generalmente ya ha sido bloqueado en la función de nivel superior. Y hay dos posibilidades para el menú que devuelve la función MenuItemState en xxxEnableMenuItem: el menú principal de la ventana o un submenú dentro del menú.
Validación de concepto ( PoC ) implementación
PoC ha construido una estructura de menú especial de cuatro capas y ha establecido algunas condiciones específicas para la detección en la función xxxEnableMenuItem. El paso clave es eliminar la relación de referencia entre el menú C y el menú B y liberar el menú C cuando xxxRedrawTitle devuelve la capa de usuario. De esta manera, cuando se hace referencia al menú C en la función xxxEnableMenuItem posteriormente, el objeto ya no es válido.
Explotación de vulnerabilidades ( Exp ) implementación
Existen principalmente dos formas de aprovechar la vulnerabilidad: ejecutar código shellcode o utilizar primitivas de lectura y escritura para modificar la dirección del token. Considerando la compatibilidad, se eligió la segunda opción. En general, se divide en dos pasos: controlar el valor de cbwndextra mediante la vulnerabilidad UAF y luego establecer primitivas de lectura y escritura estables.
Los puntos clave incluyen:
Objeto de menú ocupado y liberado a través del objeto de nombre de clase de ventana
Encuentra la ubicación donde se puede escribir datos en la función xxxRedrawWindow.
Construir un diseño de memoria estable, incluyendo tres objetos HWND consecutivos.
Utilizar GetMenuBarInfo() y SetClassLongPtr() para implementar la lectura y escritura de primitivos.
Resumen
Microsoft está reescribiendo el código relacionado con Win32k en Rust, en el futuro este tipo de vulnerabilidades podrían ser eliminadas.
El proceso de explotación de vulnerabilidades no es muy difícil, se basa principalmente en la filtración de la dirección del manejador de la pila de escritorio.
La detección de vulnerabilidades puede depender de una mejor cobertura de código.
La detección de configuraciones de memoria anómalas y la lectura/escritura de datos en ventanas ayuda a descubrir vulnerabilidades similares.
Aunque estas vulnerabilidades se están reparando gradualmente en los nuevos sistemas, siguen siendo un riesgo de seguridad para los sistemas antiguos. Es importante mejorar los mecanismos de detección y protección 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.
8 me gusta
Recompensa
8
4
Compartir
Comentar
0/400
UncleLiquidation
· hace9h
El viejo sistema ni siquiera lo usan los perros.
Ver originalesResponder0
CommunityLurker
· hace9h
Otra oportunidad de ganar dinero ha llegado.
Ver originalesResponder0
ser_ngmi
· hace9h
También es que el retraso de Microsoft puede hacer que se presenten este tipo de vulnerabilidades.
Ver originalesResponder0
AirdropHunter9000
· hace10h
¿El viejo sistema aún no se ha actualizado? Si no haces nada, no morirás.
Análisis de vulnerabilidades de nivel 0day en sistemas Windows: los atacantes pueden controlar completamente los sistemas antiguos
Análisis de la vulnerabilidad 0day a nivel de sistema de Microsoft Windows: se puede controlar completamente el sistema
Recientemente, Microsoft lanzó un parche de seguridad que corrige una vulnerabilidad de elevación de privilegios en Win32k que está siendo explotada de manera maliciosa. Esta vulnerabilidad solo existe en versiones anteriores del sistema operativo Windows y no puede ser activada en Windows 11. Este artículo analizará cómo los atacantes podrían seguir aprovechando esta vulnerabilidad en el contexto actual de una protección de seguridad en constante mejora.
Contexto de la vulnerabilidad
Esta es una vulnerabilidad de 0day a nivel del sistema Windows, que permite a los hackers obtener el control total de Windows. Los daños tras el control incluyen el robo de información personal, la pérdida de datos por fallos del sistema, pérdidas financieras, la inserción de malware, entre otros. Desde el robo de claves privadas y la transferencia de activos digitales, hasta la posible afectación de todo el ecosistema Web3 que opera sobre la infraestructura basada en Web2.
Análisis de parches
El análisis del parche revela que se trata de un problema de conteo de referencias de objetos que ha sido mal gestionado. A través de los comentarios en el código fuente anterior, se puede deducir 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 provocar que el objeto del menú sea referenciado incorrectamente.
Principio de vulnerabilidad
Un análisis más detallado revela que el menú que se pasa a xxxEnableMenuItem() generalmente ya ha sido bloqueado en la función de nivel superior. Y hay dos posibilidades para el menú que devuelve la función MenuItemState en xxxEnableMenuItem: el menú principal de la ventana o un submenú dentro del menú.
Validación de concepto ( PoC ) implementación
PoC ha construido una estructura de menú especial de cuatro capas y ha establecido algunas condiciones específicas para la detección en la función xxxEnableMenuItem. El paso clave es eliminar la relación de referencia entre el menú C y el menú B y liberar el menú C cuando xxxRedrawTitle devuelve la capa de usuario. De esta manera, cuando se hace referencia al menú C en la función xxxEnableMenuItem posteriormente, el objeto ya no es válido.
Explotación de vulnerabilidades ( Exp ) implementación
Existen principalmente dos formas de aprovechar la vulnerabilidad: ejecutar código shellcode o utilizar primitivas de lectura y escritura para modificar la dirección del token. Considerando la compatibilidad, se eligió la segunda opción. En general, se divide en dos pasos: controlar el valor de cbwndextra mediante la vulnerabilidad UAF y luego establecer primitivas de lectura y escritura estables.
Los puntos clave incluyen:
Resumen
Aunque estas vulnerabilidades se están reparando gradualmente en los nuevos sistemas, siguen siendo un riesgo de seguridad para los sistemas antiguos. Es importante mejorar los mecanismos de detección y protección de vulnerabilidades.