Nuevo módulo de TrickBot tiene como objetivo infectar tu firmware UEFI
Los desarrolladores del malware TrickBot han creado un nuevo módulo que analiza las vulnerabilidades de UEFI. Esto demuestra el esfuerzo de los atacantes por llevar los ataques a un nivel que les daría el máximo control sobre las máquinas infectadas.
Con acceso al firmware UEFI, un actor de amenazas establecería en la máquina comprometida persistencia que resiste la reinstalación del sistema operativo. Incluso resistiría el reemplazo de unidades de almacenamiento.
El código malicioso instalado en el firmware (bootkits) es invisible para las soluciones de seguridad que operan en la parte superior del sistema operativo. Esto porque se carga antes que todo lo demás, en la etapa inicial de la secuencia de arranque de una computadora.
Los bootkits permiten controlar el proceso de arranque de un sistema operativo y permiten sabotear las defensas a un nivel superior. Debido a que el código se ejecuta en la etapa más temprana, el mecanismo de arranque seguro no ayuda. Recordemos que este depende de la integridad del firmware.
Las implicaciones asociadas con que un actor de amenazas obtenga este tipo de presencia permanente en una máquina son devastadoras. Esto es peor en el caso de TrickBot, cuyas infecciones diarias promedio pueden llegar a varios miles.
Apuntando a plataformas Intel
En un informe, el equipo de ciberseguridad Advanced Intelligence (AdvIntel) e investigadores de la firma de hardware y seguridad Eclypsium han revelado detalles. Ellos brindaron detalles técnicos sobre el nuevo componente de TrickBot.
TrickBoot actúa como una herramienta de reconocimiento en esta etapa, buscando vulnerabilidades en el firmware UEFI de la máquina infectada. Por ahora, la verificación se dirige solo a las plataformas Intel (Skylake, Kaby Lake, Coffee Lake, Comet Lake). Sin embargo, el módulo también incluye código para leer, escribir y borrar firmware para que pueda usarse para daños importantes.
Comprueba si la protección contra escritura UEFI/BIOS está activa mediante el controlador RwDrv.sys de RWEverything. Esta es una utilidad gratuita que permite el acceso a componentes de hardware como el chip de memoria flash SPI. Este almacena el firmware BIOS/UEFI de un sistema.
Si el nombre de la herramienta te suena es porque fue utilizada por LoJax, el primer rootkit UEFI descubierto en el entorno. Fue descubierto en un ataque de hackers rusos conocido como APT28 (Fancy Bear, Sednit, Strontium, Sofacy).
“Todas las solicitudes al firmware UEFI almacenadas en el chip flash SPI pasan por el controlador SPI. El controlador es parte del Platform Controller Hub (PCH) en las plataformas Intel. Este controlador SPI incluye mecanismos de control de acceso, que se pueden bloquear durante el proceso de arranque. Esto para evitar modificaciones no autorizadas del firmware UEFI almacenado en el chip de memoria flash SPI”.
Informe conjunto (Eclypsium, AdvIntel)
Protección mal utilizada
Los investigadores dicen que la protección contra escritura BIOS/UEFI está disponible en los sistemas modernos. Empero, esta característica a menudo no está activa o mal configurada, lo que permite a los atacantes modificar el firmware o eliminarlo. Esto para bloquear el dispositivo.
Los investigadores descubrieron el módulo el 19 de octubre y lo llamaron TrickBoot. Es un juego de palabras con su funcionalidad y el nombre del malware botnet que lo implementa.
En una muestra analizada por Advanced Intelligence, los investigadores detectaron el nombre “PermaDll” asociado con el archivo “user_platform_check.Dll” en una nueva muestra de TrickBot.
La investigación del archivo con Eclypsium reveló que el actor de la amenaza había implementado un mecanismo. El mecanismo verificaba el conjunto de chips de un solo chip en el sistema comprometido.
Los investigadores descubrieron que la función del módulo era ejecutar consultas PCH para determinar el modelo específico de PCH que se ejecuta en el sistema. Así, identificaban la plataforma. Esta información también permite al atacante verificar si la plataforma es vulnerable o no.
Propósitos
Los investigadores también encontraron que el actor se basa en funciones de una biblioteca y herramienta de explotación de firmware conocida llamada fwexpl. Utilizan la herramientapara los siguientes propósitos:
- Leer datos de puertos de entrada y salida de hardware
- Llamar al controlador rwdrv.sys para escribir datos en puertos de entrada y salida de hardware
- Permitir llamar al controlador rwdrv.sys para leer datos de direcciones de memoria física
- Llamar al controlador rwdrv.sys para escribir datos en direcciones de memoria física
Los investigadores señalan que, si TrickBoot se ejecuta en una plataforma que no está presente en su tabla de búsqueda actúa de manera diferente. Este activa una función con un conjunto de valores predeterminados previo a Skylake para operaciones que requieren acceso al hardware.
Después de identificar la plataforma, TrickBoot accede a las rutas relacionadas con los registros de lectura para la memoria flash (SPIBAR, PRO-PR4). Y, el control del BIOS (BC – contiene bits de bloqueo de protección contra escritura para el acceso al BIOS a nivel de hardware).
Un hallazgo interesante en la función que intenta deshabilitar la protección contra escritura del BIOS es que contiene una falla. La falla lee el desplazamiento incorrecto en el registro de control del BIOS. Esto para verificar si el bit de deshabilitación de la protección contra escritura del BIOS está configurado. Esto hace que el código interprete que la protección contra escritura está activa e intente deshabilitarla.
Principales implicaciones
El desarrollo de este módulo es una clara indicación de que el actor está haciendo un esfuerzo para expandir su control sobre los sistemas comprometidos. La botnet ya tiene miles de máquinas infectadas de las que el actor puede seleccionar los objetivos más valiosos.
La telemetría de AdvIntel muestra que las infecciones diarias por TrickBot entre el 3 de octubre y el 21 de noviembre alcanzaron un máximo de 40,000. Tiene un promedio diario de entre 200 y 4,000 infecciones. Estas cifras son conservadoras ya que no cuentan los equipos infectados en redes privadas. Cabe recordar que estos se comunican externamente utilizando la dirección IP de la puerta de enlace.
La selección de las víctimas más rentables se realiza manualmente en función de los datos extraídos a través de scripts de reconocimiento. Los scripts extraen información de las redes, el hardware y el software de las víctimas.
Los operadores están motivados financieramente y utilizan la botnet para enviar el ransomware Ryuk y Conti en máquinas de alto valor. Desde 2018, ganaron al menos $150 millones. Solo de una víctima reciente, tomaron 2,200 BTC (valorados en $34 millones en ese momento).
TrickBot es verdaderamente una empresa de ciberdelincuentes involucrada en múltiples esquemas para hacer dinero, incluido el fraude bancario y el robo de información financiera/personal.
Obtener la persistencia a nivel de UEFI en las máquinas de alto valor podría maximizar las ganancias del actor. Esto porque podría utilizar esta ventaja de varias maneras.
Beneficios del ciberdelincuente
Además de utilizar implantes UEFI como soporte en las negociaciones para aumentar el precio del rescate, los ciberdelincuentes podrían mantener el acceso a las máquinas. Podrían tener acceso incluso después de que la víctima les pague para liberar los sistemas del control de TrickBot.
Más tarde, después de que las víctimas completen los procesos de limpieza y recuperación, el actor puede aprovechar su presencia continua en el código UEFI. Esto para ejecutar un nuevo ataque. También podrían recopilar las credenciales de acceso recién establecidas y venderlas a un grupo diferente.
Además, esto podría usarse en operaciones que tienen un objetivo puramente destructivo, ya que puede afectar grandes entornos operativos e infraestructura crítica. Otro efecto de bloquear los dispositivos es que dificulta mucho la investigación forense, ralentiza considerablemente el proceso de recuperación y rompe otras capas de seguridad.
La defensa es difícil
Jesse Michael, investigador principal de Eclypsium dijo que determinar si un sistema se ha visto comprometido a nivel de firmware UEFI no es fácil. Es un trabajo difícil.
Un método más completo es leer el contenido del chip de memoria SPI cuando el sistema se apaga conectando físicamente un dispositivo de programación flash SPI. Sin embargo, esta solución no solo implica experiencia sino también un tiempo de inactividad prolongado para la empresa. Es importante recordar que en algunos casos el chip está soldado a la motherboard y esto conlleva el riesgo de problemas de lectura.
Otro método es utilizar herramientas de código abierto (CHIPSEC) o la plataforma de Eclypsium. La plataforma busca vulnerabilidades de bajo nivel a nivel de hardware y firmware. Y, también puede determinar si la protección contra escritura del BIOS está activa o no.
La verificación de los hash de firmware también ayuda a determinar si el código ha sido manipulado. Además, actualizar el firmware es una buena forma de asegurarse de que no se vea afectado por vulnerabilidades conocidas.
El compromiso a nivel UEFI es una rareza incluso en estos días. Ocurre más de cinco años después que el código de implante VectorEDK UEFI de Hacking Team se filtró y se puso a disposición del público.
Explotación en el entorno
Por el momento, los ataques de este tipo documentados públicamente provienen de actores de amenazas altamente avanzados y respaldados por estados nación. Por ejemplo, Lojax de los hackers rusos y MosaicRegressor de los hackers chinos, que usa código VectorEDK.
Sin embargo, los ataques de estos adversarios son muy específicos, a diferencia de los de TrickBot que tienen otros objetivos. Estos tienen como objetivo infectar tantos sistemas como sea posible y elegir los objetivos valiosos (grandes empresas de cualquier sector) de ese grupo.
A partir del análisis de la muestra de TrickBoot, el módulo solo identifica el hardware y comprueba si la región del BIOS se puede escribir. Pero esto puede cambiar fácilmente para permitir escribir en la memoria flash SPI y modificar el firmware del sistema.
El informe técnico de AdvIntel y Eclypsium proporciona indicadores de compromiso para TrickBoot. Este también proporciona una regla de Yara creada por Vitali Kremez para este nuevo módulo.