Investigadores descubren el primer malware UEFI bootkit para Linux

Software malicioso para Linux

Se ha descubierto el primer kit de arranque UEFI dirigido específicamente a sistemas Linux, lo que marca un cambio en las amenazas de kits de arranque sigilosos y difíciles de eliminar que anteriormente se centraban en Windows.

Llamado “Bootkitty”, el malware de Linux es una prueba de concepto que sólo funciona en ciertas versiones y configuraciones de Ubuntu en lugar de una amenaza completa implementada en ataques del mundo real.

Los bootkits son malware diseñado para infectar el proceso de arranque de una computadora, cargándose antes que el sistema operativo y permitiéndole tomar el control de un sistema a un nivel muy bajo.

La ventaja de esta práctica es que los bootkits pueden evadir las herramientas de seguridad que se ejecutan a nivel del sistema operativo y modificar componentes del sistema o inyectar código malicioso sin riesgo de ser detectados.

investigadores de ESET que descubierto Bootkitty advierte que su existencia representa un avance significativo en el área de las amenazas de los bootkits UEFI, a pesar de las implicaciones actuales en el mundo real.

Un kit de arranque de Linux en preparación

ESET descubrió Bootkitty después de examinar un archivo sospechoso (bootkit.efi) subido a VirusTotal en noviembre de 2024.

Después del análisis, ESET confirmó que este es el primer caso en el que el kit de arranque UEFI de Linux omite la verificación de la firma del kernel y precarga componentes maliciosos durante el proceso de arranque del sistema.

Bootkitty se basa en un certificado autofirmado, por lo que no se ejecutará en sistemas con arranque seguro habilitado y solo se dirige a ciertas distribuciones de Ubuntu.

Además, las compensaciones codificadas y la coincidencia simplista de patrones de bytes lo hacen utilizable solo en versiones específicas de GRUB y kernel, por lo que no es adecuado para una implementación generalizada.

ESET también señala que el malware contiene muchas funciones no utilizadas y maneja mal la compatibilidad de la versión del kernel, lo que a menudo provoca fallas del sistema.

Arte ASCII contenido en el kit de arranque.
Arte ASCII contenido en el kit de arranque.
Fuente: ESET

La naturaleza errónea del malware y el hecho de que la telemetría de ESET no muestra signos de Bootkitty en los sistemas activos llevó a los investigadores a concluir que se encuentra en sus primeras etapas de desarrollo.

Las habilidades de Bootkitty.

Durante el arranque, Bootkitty integra los protocolos de autenticación de seguridad UEFI (EFI_SECURITY2_ARCH_PROTOCOL y EFI_SECURITY_ARCH_PROTOCOL) para evitar las comprobaciones de verificación de integridad del arranque seguro, lo que garantiza que el kit de arranque se cargue independientemente de las políticas de seguridad.

Luego conecta varias funciones de GRUB como “start_image” y “grub_verifiers_open” para manipular las comprobaciones de integridad del gestor de arranque para archivos binarios, incluido el kernel de Linux, deshabilitando así la verificación de firmas.

Bootkitty luego intercepta el proceso de descompresión del kernel de Linux y conecta la función “module_sig_check”. Esto lo obliga a devolver siempre un resultado exitoso durante las comprobaciones del módulo del kernel, lo que permite que el malware cargue módulos maliciosos.

Además, reemplaza la primera variable de entorno con “LD_PRELOAD=/opt/injector.so” para que la biblioteca maliciosa se inyecte en los procesos durante el inicio del sistema.

Parte del flujo de ejecución de Bootkitty
Parte del flujo de ejecución de Bootkitty
Fuente: ESET

Todo este proceso deja varios artefactos, algunos intencionales y otros no, explica ESET, lo que es otro indicio de la falta de refinamiento de Bootkitty.

Los investigadores también notaron que el mismo usuario que descargó Bootkitty en VT también descargó un módulo del kernel sin firmar llamado “BCDropper”, pero la evidencia disponible vincula débilmente a los dos.

BCdropper suelta un archivo ELF llamado “BCObserver”, un módulo del kernel con funcionalidad rootkit que oculta archivos, procesa y abre puertos en el sistema infectado.

El descubrimiento de este tipo de malware ilustra cómo los atacantes están expandiendo el malware de Linux previamente aislado a Windows a medida que las empresas adoptan cada vez más Linux.

En este sitio se han compartido indicadores de compromiso (IoC) asociados con Bootkitty. repositorio de GitHub.