Investigación técnica sobre un bypass de UEFI Secure Boot causado por un cargador PE personalizado inseguro, que incluye análisis de causa raíz, flujo de trabajo de explotación y una prueba de concepto educativa.
Este repositorio contiene material de investigación relacionado con CVE-2024-7344, una vulnerabilidad de bypass de Secure Boot que afecta a sistemas UEFI. Centraliza el análisis técnico de la vulnerabilidad, la documentación del flujo de ataque y las aplicaciones recreadas diseñadas para reproducir el comportamiento vulnerable en entornos controlados. El repositorio también incluye documentación y recursos de investigación destinados a ayudar a los investigadores de seguridad a comprender, estudiar y experimentar con las técnicas asociadas a esta vulnerabilidad.
CVE-2024-7344 fue descubierta originalmente y divulgada de forma responsable por el Equipo de Investigación de ESET, con el apoyo de divulgación coordinada de CERT/CC. Referencias oficiales y de la comunidad:
Este repositorio incluye una prueba de concepto educativa simplificada que reproduce la misma clase de vulnerabilidad que CVE-2024-7344. Además, parte de la implementación original del mundo real ha sido analizada y documentada mediante un esfuerzo dedicado de investigación de seguridad UEFI.
Los investigadores interesados en comprender el origen histórico de esta vulnerabilidad, el formato ALRM original, el cargador RxPE personalizado y la evolución de los productos afectados después de la revocación de Microsoft deben consultar el repositorio complementario "UEFI-Security-Research-Howyar-SysReturn-NetCopy".
La aplicación UEFI vulnerable x32 original afectada por CVE-2024-7344 está incluida en este repositorio.
Se sabe que el binario x64 está disponible dentro de un archivo alojado en VirusTotal. El acceso a esta muestra requiere una cuenta VirusTotal Enterprise y, al momento de redactar este documento, no hemos tenido acceso para descargarla. Como referencia, la muestra se puede encontrar en la siguiente URL para los investigadores que sí tengan el acceso adecuado:
CVE-2024-7344 es una vulnerabilidad de bypass de UEFI Secure Boot causada por una aplicación UEFI de terceros firmada por Microsoft que carga y ejecuta incorrectamente binarios UEFI sin firmar durante el proceso de arranque. La vulnerabilidad permite a los atacantes ejecutar código no confiable antes de que se cargue el sistema operativo, rompiendo efectivamente la cadena de confianza de UEFI Secure Boot incluso cuando Secure Boot está habilitado.
A diferencia de otras vulnerabilidades de bypass de Secure Boot basadas en corrupción de memoria o manipulación de NVRAM, CVE-2024-7344 es el resultado de un defecto lógico y de diseño. La aplicación UEFI afectada implementa su propio cargador PE personalizado en lugar de depender de los servicios UEFI estándar (LoadImage y StartImage), evitando así toda la verificación criptográfica que normalmente aplica Secure Boot.
Debido a que la aplicación vulnerable está firmada con el certificado UEFI de terceros de Microsoft y es confiable por defecto en la mayoría de los sistemas, la explotación ocurre en una etapa de ejecución altamente privilegiada y temprana de la plataforma.
Secure Boot es una característica de seguridad central de UEFI diseñada para hacer cumplir la cadena de confianza de la plataforma desde el firmware hasta el sistema operativo. Su propósito principal es evitar que componentes de arranque no autorizados o maliciosos, como bootkits, se ejecuten durante el proceso de arranque.
A alto nivel, Secure Boot funciona validando criptográficamente los ejecutables UEFI antes de que se les permita ejecutarse. Esta validación se realiza utilizando dos bases de datos mantenidas por el firmware:
Se permite que una aplicación UEFI se ejecute si:
Por defecto, la mayoría de los sistemas incluyen los siguientes certificados como confiables en db:
La aplicación vulnerable afectada por CVE-2024-7344 está firmada con el certificado Microsoft Corporation UEFI CA 2011. Debido a que este certificado es ampliamente confiable en todos los proveedores y plataformas, cualquier vulnerabilidad dentro de una aplicación firmada de este tipo tiene un impacto global y puede ser explotada en la mayoría de los sistemas UEFI.
La vulnerabilidad fue descubierta por el Equipo de Investigación de ESET durante el análisis de componentes UEFI incluidos en varios productos de software de recuperación en tiempo real. El reconocimiento inicial reveló la presencia de una aplicación UEFI firmada por Microsoft llamada reloader.efi, implementada junto con un archivo de datos llamado cloak.dat en la Partición del Sistema EFI (ESP).
La inspección de la aplicación mostró que estaba diseñada para cargar y ejecutar una carga útil UEFI adicional desde el disco durante el inicio del sistema. Si bien este comportamiento no es inherentemente inseguro, una mayor ingeniería inversa reveló que la aplicación no utiliza los servicios estándar de carga de imágenes UEFI y no aplica la verificación de Secure Boot en la carga útil cargada. Una investigación adicional confirmó que el mismo cargador de arranque vulnerable se utilizaba en múltiples productos de diferentes proveedores.
La causa raíz de CVE-2024-7344 radica en el uso de un cargador PE personalizado implementado dentro de una aplicación UEFI firmada. Específicamente:
Al omitir LoadImage y StartImage, la aplicación evita por completo la verificación de Secure Boot. Como resultado, cualquier binario UEFI sin firmar puede ejecutarse independientemente del estado de Secure Boot. Esto representa una violación fundamental de los supuestos de Secure Boot y se clasifica como un defecto de seguridad a nivel de diseño en lugar de un error de implementación.
La explotación de CVE-2024-7344 no requiere corrupción de memoria, condiciones de carrera o primitivas de explotación complejas. En cambio, se basa en abusar de la funcionalidad prevista de la aplicación vulnerable.
Un flujo de trabajo de explotación típico implica:
Durante el arranque:
Esto permite la implementación confiable de bootkits UEFI como BlackLotus o HybridPetya en sistemas con Secure Boot habilitado.
El cargador de arranque vulnerable se distribuyó como parte de varios productos legítimos de software de recuperación y respaldo, incluyendo:
Microsoft mitigó CVE-2024-7344 revocando los binarios UEFI afectados mediante actualizaciones de dbx de Secure Boot publicadas el 14 de enero de 2025, por lo que los sistemas que han aplicado las últimas revocaciones UEFI están protegidos contra la explotación de esta vulnerabilidad.
¿Trabajando en algo similar? ¿Investigando seguridad UEFI, seguridad del kernel, explotación u otro tema de seguridad interesante? Si necesitas ayuda para desarrollar un exploit, explorar una técnica o simplemente quieres intercambiar ideas, no dudes en contactarme. Siempre estoy abierto a discutir investigaciones, ayudar donde pueda y colaborar en proyectos interesantes. No dudes en contactarme en LinkedIn.