La cantidad de vulnerabilidades en UEFI descubiertas en los últimos años y los fallos a la hora de parchearlas o revocar binarios vulnerables dentro de un período de tiempo razonable no han pasado desapercibidas para los actores de amenazas. Como resultado, el primer bootkit para UEFI conocido públicamente que evade la función de seguridad de la plataforma esencial, el Secure Boot o arranque seguro UEFI, ahora es una realidad. En esta publicación de blog, presentamos el primer análisis público de este kit de arranque para UEFI (bootkit), que es capaz de ejecutarse incluso en sistemas Windows 11 completamente actualizados con UEFI Secure Boot habilitado. La funcionalidad del bootkit y sus características individuales nos lleva a creer que estamos tratando con un bootkit conocido como BlackLotus, el bootkit para UEFI que se vende en foros de hacking por $ 5,000 desde al menos octubre de 2022.
Los bootkits para UEFI son amenazas muy poderosas, ya que tienen control total sobre el proceso de arranque del sistema operativo y, por lo tanto, son capaces de deshabilitar varios mecanismos de seguridad del sistema operativo e implementar sus propios payloads en modo kernel o modo usuario en las primeras etapas de inicio del sistema operativo. Esto les permite operar de forma muy sigilosa y con altos privilegios. Hasta ahora, solo se han descubierto unos pocos siendo utilizados por actores malicioso y se han descrito públicamente (p. ej., varias muestras EFI maliciosas que descubrimos en 2020, o bootkits para UEFI con todas las funciones, como fue nuestro descubrimiento el año pasado del bootkit ESPecter, o el bootkit FinSpy (descubierto por los investigadores. de Kaspersky).
Los bootkits para UEFI pueden ser menos sigilos en comparación con los implantes de firmware, como LoJax; el primer implante de firmware para UEFI que se ha visto en actividad y que fue descubierto por el equipo de ESET en 2018, ya que los bootkits se encuentran en una partición de disco FAT32 de fácil acceso. Sin embargo, ejecutarse como bootloader les brinda casi las mismas capacidades que los implantes de firmware, pero sin tener que superar las defensas multinivel flash SPI, como los bits de protección BWE, BLE y PRx, o las protecciones proporcionadas por hardware (como Intel Boot Guard). Claro, UEFI Secure Boot se interpone en el camino de los bootkits UEFI, pero hay una cantidad no despreciable de vulnerabilidades conocidas que permiten eludir este mecanismo de seguridad esencial. Y lo peor de esto es que algunas de estas vulnerabilidades todavía son fácilmente explotables en sistemas actualizados incluso al el momento de escribir este artículo, incluida la explotada por BlackLotus.
Nuestra investigación comenzó con algunos resultados en lo que resultó ser el componente de modo de usuario de BlackLotus (un downloader HTTP) en nuestra telemetría a fines de 2022. Después de una evaluación inicial, los patrones de código encontrados en las muestras descubiertas nos llevaron al hallazgo de seis instaladores de BlackLotus (tanto en VirusTotal como en nuestra propia telemetría). Esto nos permitió explorar toda la cadena de ejecución y darnos cuenta de que estábamos tratando no era un malware común.
Los siguientes son los puntos clave sobre BlackLotus y una línea de tiempo que resume la serie de eventos relacionados con él:
- Es capaz de ejecutarse en los sistemas Windows 11 más recientes y totalmente parcheados con UEFI Secure Boot habilitado.
- Aprovecha una vulnerabilidad con una antigüedad de más de un año (CVE-2022-21894) para evitar el arranque seguro de UEFI y configurar la persistencia del bootkit. Este es el primer caso de abuso de esta vulnerabilidad que se conoce publicamente.
- Aunque la vulnerabilidad fue parcheada en la actualización de enero de 2022 que lanzó Microsoft, su explotación aún es posible ya que los binarios afectados y firmados de manera válida aún no se han agregado a la lista de revocación de UEFI. BlackLotus aprovecha esto, trayendo al sistema sus propias copias de binarios legítimos, pero vulnerables, con el objetivo de explotar la vulnerabilidad.
- Es capaz de deshabilitar los mecanismos de seguridad del sistema operativo, como BitLocker, HVCI y Windows Defender.
- Una vez instalado, el objetivo principal del bootkit es implementar un controlador de kernel (que, entre otras cosas, protege el bootkit para que no sea eliminado) y un downloader HTTP responsable de la comunicación con el C&C y capaz de cargar poyloads adicionales en modo usuario o modo kernel.
- BlackLotus se ha anunciado y vendido en foros clandestinos al menos desde el 6 de octubre de 2022. En esta publicación presentamos evidencia de que el bootkit es real y que el anuncio no es simplemente una estafa.
- Curiosamente, algunos de los instaladores de BlackLotus que hemos analizado no continúan con la instalación del bootkit si el host comprometido usa una de las siguientes configuraciones regionales:
- Rumano (Moldavia), ro-MD
- Ruso (Moldavia), ru-MD
- Ruso (Rusia), ru-RU
- Ucraniano (Ucrania), uk-UA
- Bielorruso (Bielorrusia), be-BY
- Armenio (Armenia), hy-AM
- Kazajo (Kazajstán), kk-KZ
La línea de tiempo de eventos individuales relacionados con BlackLotus se muestra en la Figura 1.
Como ya se mencionó, el bootkit se vende en foros clandestinos desde al menos el 6 de octubre de 2022. En este momento, no hemos podido identificar a partir de nuestra telemetría el canal de distribución exacto utilizado para despegar el bootkit a las víctimas. El bajo número de muestras de BlackLotus que hemos podido obtener, tanto de fuentes públicas como de nuestra telemetría, nos lleva a creer que no muchos actores de amenazas han comenzado a usarlo todavía. Pero hasta que ocurra la revocación de los bootloaders vulnerables de los que depende BlackLotus, nos preocupa que las cosas cambien rápidamente si este kit de arranque llega a manos de los conocidos grupos de cibercriminales, en función de lo fácil que pueden ser el despliegue del bootkit y las capacidades de estos grupos para propagar malware usando sus botnets.
¿Realmente se trata de BlackLotus?
Hay varios artículos o publicaciones sobre BlackLotus (aquí, aquí y aquí y muchos más...), todos basados en la información proporcionada por el desarrollador del bootkit en foros de hacking clandestinos. Hasta el momento, nadie ha confirmado o refutado estas afirmaciones.
A continuación compartimos nuestro resumen de las afirmaciones que se hacen en estas publicaciones y la comparación con lo que descubrimos al realizar ingeniería inversa a las muestras del bootkit:
- Los anuncios de BlackLotus en los foros de hacking afirman que cuenta con una función integrada para evadir el Secure Boot. Actualmente es imposible agregar drivers vulnerables a la lista de revocación de UEFI, ya que la vulnerabilidad afecta a cientos de bootloaders que todavía se usan en la actualidad. ✅
- Verdadero: explota la vulnerabilidad CVE-2022-21894 para romper el arranque seguro y lograr la persistencia en sistemas que tengan habilitado UEFI Secure Boot. Al momento de escribir este artículo los drivers o controladores vulnerables que utiliza todavía no están revocados en el último dbx.
- Los anuncios de BlackLotus en foros de hacking afirman que el bootkit tiene incorporado protección Ring0/Kernel que lo protege de ser eliminado. ✅
- Verdadero: su driver de kernel protege contra el cierre los handles pertenecientes a sus archivos en la partición del sistema EFI (ESP). Como una capa adicional de protección, estos handles son continuamente monitoreados y se activa una pantalla azul de la muerte (BSOD) si alguno de estos handles son cerrados, como se describe en la sección Protecting bootkit files on the ESP from removal de la versión en inglés de esta publicación.
- Los anuncios de BlackLotus en los foros de hacking afirman que viene con funciones anti máquina virtual (anti-VM), anti debugging y de ofuscación de código para bloquear los intentos de análisis de malware. ✅
- Verdadero: contiene varias técnicas anti-VM, antidebugging y de ofuscación para que sea más difícil de replicar o analizar. Sin embargo, definitivamente no estamos hablando aquí de ningún avance o de técnicas avanzadas para evitar el análisis, ya que pueden superarse fácilmente con poco esfuerzo.
- Los anuncios de BlackLotus en los foros de hacking afirman que su propósito es actuar como un downloader HTTP. ✅
- Verdadero: su componente final actúa como un downloader HTTP, tal como se describe en la sección HTTP downloader de la versión en inglés de esta publicación.
- Los anuncios de BlackLotus en foros de hacking afirman que el downloader HTTP se ejecuta bajo la cuenta del SISTEMA dentro de un proceso legítimo. ✅
- Verdadero: su downloader HTTP se ejecuta dentro del contexto del proceso winlogon.exe.
- Los anuncios de BlackLotus en los foros de hacking afirman que es un pequeño bootkit con un tamaño de disco de solo 80 kB. ✅
- Verdadero: Las muestras que pudimos obtener realmente pesan alrededor de 80 kB.
- Los anuncios de BlackLotus en los foros de hacking afirman que puede desactivar las protecciones de seguridad integradas de Windows, como HVCI, Bitlocker, Windows Defender, y omitir el Control de cuentas de usuario (UAC). ✅
- Verdadero: puede deshabilitar HVCI, Windows Defender, BitLocker y omitir UAC.
En base a todos estos hechos, creemos con mucha confianza que el bootkit que descubrimos en actividad es el bootkit para UEFI BlackLotus.
Descripción general del ataque
En la Figura 2 se muestra un esquema simplificado de la cadena de compromiso de BlackLotus. Consta de tres partes principales:
- Comienza con la ejecución de un instalador (paso 1 en la Figura 2), que es responsable de implementar los archivos del bootkit en la partición del sistema EFI, deshabilitar HVCI y BitLocker y luego reiniciar la máquina.
- Después del primer reinicio, se produce la explotación de la CVE-2022-21894 y el posterior registro de la clave de propietario de la máquina (MOK) de los atacantes, para lograr la persistencia incluso en sistemas que tengan habilitado UEFI Secure Boot. Luego, la máquina se reinicia (pasos 2 a 4 en la Figura 2) nuevamente.
- En todos los arranques posteriores, el bootkit para UEFI autofirmado se ejecuta e implementa tanto su controlador de kernel como su payload en modo de usuario, el downloader HTTP. Juntos, estos componentes pueden descargar y ejecutar componentes adicionales de divers y modo de usuario desde el servidor de C&C y proteger el bootkit contra la eliminación (pasos 5 a 9 en la Figura 2).
Artefactos interesantes
Aunque creemos que este es el bootkit de BlackLotus para UEFI, no encontramos ninguna referencia a este nombre en las muestras que analizamos. En cambio, el código está lleno de referencias a la serie de anime Higurashi When They Cry, por ejemplo, en nombres de componentes individuales, como higurashi_installer_uac_module.dll y higurashi_kernel.sys, y también en el certificado autofirmado que se usa para firmar el archivo binario del bootkit (que se muestra en la figura 3).
Además, el código descifra pero nunca usa varias strings que contienen mensajes del autor de BlackLotus (como se muestra en la Figura 4 —tenga en cuenta que hasherezade es una investigadora conocida y autora de varias herramientas de análisis de malware), o simplemente algunas citas aleatorias de varios canciones, juegos o series.
Hasta aquí compartimos una descripción general que confirman que la existencia y actividad del bootkit para UEFI BlackLotus es una realidad. Para más información sobre el proceso de instalación de BlackLotus, los mecanismos utilizados para evadir Secure Boot y lograr persistencia, así como otros detalles técnicos y qué hacer para mitigar los riesgos y cuáles son las recomendaciones, invitamos a leer la versión completa en inglés de esta investigación que se titula BlackLotus UEFI bootkit: Myth confirmed.