MoonBounce, el malware UEFI desarrollado por China que no puede ser eliminado ni siquiera reemplazando el disco duro

Hace unas semanas la firma de ciberseguridad SecureList detectó una serie de ataques a nivel firmware en los que la imagen del mecanismo de seguridad era modificada por los actores de amenazas de forma que pudieron interceptar el flujo de ejecución original en la secuencia de arranque del sistema objetivo para implementar una compleja cadena de infección.

Los expertos aseguran que durante los últimos meses incrementaron notablemente las amenazas contra implementaciones Unified Extensible Firmware Interface (UEFI). Entre estas amenazas destaca un kit de arranque UEFI utilizado como parte del conjunto de herramientas de vigilancia FinSpy, el kit de arranque ESPectre y una operación recientemente detectada impactando a organizaciones en Oriente Medio.

Un punto en común entre estas operaciones maliciosas es que los componentes UEFI afectados es que los componentes UEFI afectados residen en EFI System Partition (ESP), espacio de almacenamiento creado para algunos componentes UEFI. Entre los principales elementos de ESP se incluyen el gestor de arranque y el cargador del sistema operativo, invocados durante la secuencia de arranque del sistema y que pueden verse afectados por los kits de arranque maliciosos.

Además de estos problemas de seguridad, destaca el hallazgo de un tipo diferente de bootkit compuesto por implantes que residen en el firmware UEFI dentro del flash SPI. Este tipo de bootkits son muy sigilosos y difíciles de mitigar, lo que los convierte en una amenaza de seguridad considerable.

El bootkit identificado por SecureList, apodado como MoonBounce, se considera una evolución particular en esta clase de amenazas, ya que se caracteriza por su flujo de ataque complejo en comparación con herramientas de hacking similares, además de las obvias capacidades técnicas de sus desarrolladores.

Después de un análisis detallado, los investigadores encontraron algunas de las características principales de MoonBounce:

  • El firmware UEFI es manipulado para incrustar la carga útil maliciosa
  • Debido a su ubicación en el flash SPI, el implante es capaz de persistir en el sistema a pesar del formateo o reemplazo del disco duro
  • El ataque parece tener como fin principal la implementación de malware en modo usuario para organizar la ejecución de más cargas útiles descargadas de Internet

Los actores de amenazas incorporaron el implante UEFI en el componente CORE_DXE del firmware, que se llama desde el principio en la fase Driver Execution Environment (DXE) de la secuencia de arranque UEFI. La infección comienza con un conjunto de ganchos que interceptan la ejecución de varias funciones en la tabla de servicios de arranque de EFI, incluyendo AllocatePool, CreateEventEx y ExitBootServices. Esos ganchos desvían el flujo de estas funciones a un shellcode malicioso que los atacantes agregan a la imagen CORE_DXE, que a su vez configura ganchos adicionales en los componentes posteriores de la cadena de arranque, incluyendo el cargador del sistema Windows.

Esta cadena de ganchos facilita el despliegue de código malicioso desde la imagen CORE_DXE a otros componentes durante el arranque del sistema, lo que permite la introducción de un controlador malicioso en el espacio de direcciones de memoria del kernel de Windows. A su vez, este controlador se encarga de implementar el malware en modo usuario inyectándolo en un proceso svchost.exe; finalmente, el malware en modo de usuario llega a una URL de C&C codificada (hxxp://mb.glbaitech.com/mboard.dll) e intenta obtener otra etapa de la carga útil para ejecutarla en la memoria, que los investigadores no pudieron recuperar.

En la imagen a continuación, podemos observar las etapas tomadas desde el momento en que se llama a los servicios de arranque enganchados en el contexto de la ejecución de DXE Foundation hasta la implementación del malware en modo usuario y se ejecuta durante la ejecución del sistema operativo.

Por el momento se desconoce cómo es que los actores de amenazas consiguen llevar a cabo la infección de firmware, aunque se sabe que es un proceso llevado a cabo de forma remota. Si bien amenazas similares anteriores se manifestaron como adiciones de controladores DXE a la imagen general del firmware en el flash SPI, en este caso puede apreciarse una técnica mucho más sigilosa en la que se modifica un componente de firmware existente para alterar su comportamiento regular.

Las funciones particulares se modificaron con un gancho en línea, lo que significa el reemplazo del prólogo de la función con una instrucción específica para desviar la ejecución a una función determinada por los actores de amenazas. Esta forma de instrumentación binaria requiere que los hackers obtengan la imagen original para posteriormente analizarla y cambiarla para introducir lógica maliciosa, lo que implica el acceso remoto al sistema objetivo

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).