TrickBoot: Módulo de TrickBot que interactúa con firmware UEFI/BIOS


TrickBot es un malware modular que se ha visto involucrado en numerosas campañas, últimamente más empleado para el despliegue de otro malware. Entre las últimas mejoras de este malware se incluye un módulo que inspecciona dispositivos en busca de vulnerabilidades en el firmware.

Introducción

Las acciones de reconocimiento permitirían la lectura, escritura o eliminación del firmware UEFI/BIOS en fases posteriores del ataque. El acceso a este nivel se destina tanto a permitir la persistencia y posterior acceso al equipo infectado, como a inhabilitar su uso.

Durante este artículo se describe cuál sería la operativa del malware que emplea este módulo, una nueva funcionalidad que recibe el nombre de TrickBoot en el informe publicado por Eclypsium y AdvIntel (https://eclypsium.com/2020/12/03/trickbot-now-offers-trickboot-persist-brick-profit/ ).

 

Utilidad del módulo

El firmware de una máquina establece la lógica de más bajo nivel, la que permite controlar los circuitos electrónicos de cualquier dispositivo, y por lo tanto se ejecuta antes que el sistema operativo. Alojar código malicioso en el firmware permite a un atacante asegurar que su código será el primero en ejecutarse, pero, además, asegurar la persistencia en un componente del equipo diferente al almacenamiento del resto de componentes del sistema.

Los “implantes” a este nivel, conocidos como Bootkits, son difíciles de identificar una vez establecidos, a la vez que complican la recuperación del equipo infectado. Permiten controlar el inicio del equipo y por lo tanto comprometer todo el sistema en sus primeras fases.

Mientras que no es una característica nueva (se conocen casos desde 1998 de este tipo de comportamiento para BIOS, descubriéndose el primer caso de rootkit de UEFI en 2018 – malware LoJax), sí es particularmente interesante que TrickBot incorpore un módulo con esta funcionalidad, dado que abre una vía más de persistencia en el equipo comprometido.

trickboot-trickbot-firmware-uefi-bios-01

Ejemplos de Rootkits para BIOS

Fuente: https://2016.zeronights.ru/wp-content/uploads/2016/12/1_2_UEFI_Rootkits_ZN_2016.pdf

 

Funcionalidad

La versión del módulo analizada en el informe permitiría realizar las siguientes acciones dirigidas al reconocimiento:

  • Identificación de la plataforma
  • Comprobar el estado de las protecciones de escritura de la BIOS para el flash SPI
  • Comprobar vulnerabilidades conocidas que afectan al firmware UEFI/BIOS

No obstante, combinada con funcionalidad ya existente que permite la lectura, escritura y modificación del firmware podría permitir a malware que emplea TrickBot efectuar acciones más disruptivas sobre el equipo, por ejemplo como parte de una campaña de ransomware.

TrickBot suele incorporar utilidades existentes (p.ej. Mimikatz) o bien técnicas ya observadas en otro malware.

 

Operativa

Dependiendo de la muestra analizada la librería de TrickBot que implementa la funcionalidad analizada puede contener las llamadas ofuscadas. En concreto, el informe se centra en la librería user_platform_check.dll que podemos encontrar por el nombre PermaDLL.

trickboot-trickbot-firmware-uefi-bios-02

Librería que contiene el código para persistencia

Las muestras analizadas por los investigadores contienen copias ofuscadas del driver RwDrv.sys empleado por RWEverything para el acceso y configuración de la BIOS/UEFI y otros componentes. El uso de dicho driver es común en malware que instala rootkits en espacio de BIOS/UEFI. El objetivo es el acceso al controlador SPI que gestiona el sistema UEFI/BIOS.

Cuando las llamadas de la librería no se encuentran ofuscadas se pueden observar las llamadas a DeviceIoControl.

trickboot-trickbot-firmware-uefi-bios-03

Llamada a DeviceIoControl observada en la librería

Otras características incluyen el uso de código disponible en repositorios de Github, como es el caso de la librería fwexpl. En particular el malware analizado contendría funciones de esa librería destinadas a usar el driver RwDrv.sys para acceder a los interfaces hardware.

Además, también emplea funciones adicionales para determinar el modelo específico de CPU y PCH que está empleando el dispositivo, considerando diferentes versiones. Estas acciones permitirá al malware identificar los registros del controlador SPI, para, posteriormente, realizar comprobaciones sobre las protecciones de las regiones de la BIOS y proceder a la ejecución de operaciones SPI sobre los chips externos.

 

Conclusiones

TrickBot ha pasado de ser un troyano bancario al uso a convertirse en una herramienta modular empleada por otro malware para desplegar su operativa. Como tal, surgen nuevas versiones con características que ayudan a su actual desempeño.

En esta ocasión es una característica destinada a la persistencia empleando rootkit en el espacio del firmware que se conoce desde hace años. Las herramientas que se emplean para modificar la configuración de la BIOS/UEFI suelen emplear el driver RwDrv.sys para acceder al controlador SPI, característica que mantiene ese módulo, bautizado como TrickBoot.

Entre las actuaciones de mitigación centrada en el firmware se recomienda: asegurar que los dispositivos tienen habilitada la protección anti-escritura en la BIOS/UEFI, verificar la integridad del firmware durante el arranque (p.ej. empleando mecanismos que usen TPM), monitorizar el comportamiento del firmware en busca de modificaciones, actualizar el firmware para evitar que contenga vulnerabilidades conocidas, etc. Además, conviene considerar el firmware como parte del análisis forense tras una intrusión – en especial de trickbot.

Teniendo en cuenta que los cambios en la configuración podrían afectar también a los sistemas de virtualización u otras protecciones del sistema operativo, establecer mecanismos de prevención adecuados se torna incluso más crítico.

 

Publicado por David García

In his more than 9-year professional career, he has been involved in multiple projects, the most important being in the fields of managed security, anti-fraud and ethical hacking services, and malware analysis. He has contributed his know-how and security-related improvements to a wide variety of fraud and vulnerability analysis products. He currently oversees the smooth running of our different products and researches current fraud developments in order to showcase buguroo overseas as well as providing the development department with feedback on the latest malware and cybercriminal trends.

Como solucionamos la presencia de Malware

Protección y Alerta contra la presencia de Malware

bugFraud es la solución directa para detectar y frenar el malware conocido y zero-day. El exhaustivo sistema de buguroo para clasificar el malware elimina los falsos positivos y evita los falsos negativos

¿CÓMO LO RESUELVE BUGUROO?

Solicita una demo

¿Quieres ver cómo te protege nuestra solución?

Comprueba como puede ayudarte nuestra solución a resolver los problemas de fraude online de tu empresa, solicita gratuitamente una DEMO ahora y te explicamos en detalle.

Solicita una DEMO

¿Te ha gustado? Comparte en tus comunidades sociales.