Bootkits: evolución y métodos de detección
HogarHogar > Blog > Bootkits: evolución y métodos de detección

Bootkits: evolución y métodos de detección

Jun 17, 2023

Los ciberdelincuentes buscan constantemente nuevas formas de afianzarse a largo plazo en el sistema objetivo con los máximos privilegios y evitando al mismo tiempo ser detectados, por ejemplo, por herramientas antivirus. La mayoría de las herramientas de protección se inician junto con el sistema operativo, por lo que si el malware se carga antes que el sistema operativo, la probabilidad de detección disminuye. Otro objetivo de los desarrolladores de malware es conservar el control y los privilegios después de la reinstalación del sistema operativo. Esto requiere que el malware se cargue en un software de bajo nivel: el firmware del dispositivo o los primeros sectores del disco duro. Así aparecieron los bootkits.

Un bootkit es un código malicioso que se ejecuta antes de que arranque el sistema operativo. El objetivo principal de un bootkit es afianzarse en el sistema y proteger otro malware de la detección por parte de las herramientas de seguridad.

¿Real o conceptual?

Anteriormente se pensaba que los bootkits existían principalmente en pruebas de concepto. Una prueba de concepto (PoC) es una demostración de la explotabilidad de una vulnerabilidad. forma, y ​​no se utiliza en ataques reales. Sin embargo, sólo dos años separaron la aparición del primer PoC y el primer ataque de bootkit.

Los Bootkit PoC son de particular interés para analistas e investigadores porque brindan una idea de qué métodos y técnicas es probable que utilicen los atacantes y qué buscar para brindar protección preventiva.

Los desarrolladores de malware ahora están agregando funcionalidad de kit de arranque a sus creaciones, incluidos Satana, Petya y varias redes de bots, como TrickBot. Los grupos APT también son usuarios activos de bootkits, por ejemplo, Careto, Winnti (APT41), FIN1 y APT28.

Al preparar este informe, analizamos 39 familias de bootkits, tanto en formato PoC como aquellos encontrados en ataques reales entre 2005 y 2021.

Los ciberdelincuentes generalmente utilizan phishing dirigido por correo electrónico para inyectar malware en la infraestructura; así es como se distribuyen, por ejemplo, los bootkits Mebromi y Mosaic Regressor. Otra ruta de entrega es a través de sitios web, incluida la técnica de compromiso drive-by, que se utilizó para infectar objetivos con el malware Pitou y Mebroot; Los ciberdelincuentes que distribuían este último piratearon más de 1.500 recursos web y colocaron allí el malware. El kit de arranque FispBoot ingresó a los dispositivos que primero fueron infectados con el troyano Trojan-Downloader.NSIS.Agent.jd, que las víctimas descargaban bajo la apariencia de un videoclip.

La diferencia entre un bootkit y un rootkit

Los bootkits se confunden a menudo con los rootkits. Un rootkit es un programa (conjunto de programas) que oculta la presencia de malware en el sistema. . La principal diferencia es que los bootkits comienzan a funcionar incluso antes de que se inicie el sistema operativo. Tienen el mismo nivel de control que los cargadores legítimos (Master Boot Record (MBR), Volume Boot Record (VBR) o UEFI) e interfieren con el proceso de arranque del sistema operativo, lo que les permite monitorear y alterar el proceso de arranque, así como introducir , por ejemplo, código malicioso, eludiendo los mecanismos de seguridad. Los bootkits a menudo crean el entorno para la introducción sigilosa de rootkits a nivel de kernel.

El Master Boot Record (MBR) contiene información y código necesarios para iniciar correctamente el dispositivo. Se almacena en los primeros sectores del disco duro. El registro de inicio de volumen (VBR) o el cargador de programa inicial (IPL) carga los datos necesarios para iniciar el sistema operativo. Se almacena en el primer sector de una partición del disco duro.

Funciones del kit de arranque

Muy a menudo, los bootkits tienen las siguientes características:

Algunos bootkits permiten a los atacantes eludir la autenticación; los PoC de los bootkits Vbootkit x64 y DreamBoot, por ejemplo, tienen esta capacidad.

Bootkits como herramientas para ataques altamente dirigidos

Desarrollar su propio bootkit no es una tarea trivial para un atacante, pero en la vida real los bootkits son bastante comunes. Por ejemplo, los atacantes que espiaban a diplomáticos y miembros de organizaciones no gubernamentales de África, Asia y Europa utilizaron el kit de arranque Mosaic Regressor para afianzarse en los sistemas objetivo. Después de analizar un ataque utilizando otro kit de arranque de última generación, MoonBounce, los investigadores quedaron sorprendidos por el profundo conocimiento de los atacantes sobre la infraestructura de TI de la víctima. Vieron que los atacantes habían estudiado minuciosamente el firmware del dispositivo, lo que sugiere que se trataba de un ataque muy dirigido.

Sin embargo, los ciberdelincuentes utilizan bootkits no sólo en ataques dirigidos, sino también en ataques masivos. Por ejemplo, el bootkit de Rovnix se distribuyó como parte de una campaña de phishing utilizando información sobre una nueva iniciativa sobre el coronavirus del Banco Mundial como cebo. El objetivo de la campaña parece haber sido el ciberespionaje, ya que posteriormente se instalaban malware de control remoto y spyware en los dispositivos de las víctimas. El bootkit Adushka es conocido por estar dirigido a usuarios habituales y utilizarse para espionaje, incluido el robo de datos de cuentas de juegos en línea.

Otro bootkit implementado en ataques masivos es Oldboot. Su enfoque eran los dispositivos Android. Los atacantes infectaron más de 350.000 dispositivos móviles. El código malicioso agregado a la partición de inicio del sistema de archivos se inició cuando el dispositivo se encendió por primera vez. El bootkit creó el entorno para la introducción de un cargador y software espía que recopilaba y eliminaba mensajes de texto. Para evitar infecciones, los investigadores desaconsejan comprar dispositivos en tiendas que no sean de confianza ni descargar firmware de fuentes dudosas.

Se utilizan 27 familias de bootkits en ataques reales

14 de ellos son utilizados por grupos APT.

Ahora los bootkits son cada vez más comunes entre las herramientas de los atacantes. Y el descubrimiento regular de vulnerabilidades en el firmware contribuye a esta tendencia. Para UEFI, por ejemplo, solo en 2021 aparecieron 14 entradas en la Base de Datos Nacional de Vulnerabilidad (NVD). La vitalidad de los bootkits también se ve subrayada por la aparición de nuevas funciones para el malware comercial: en 2021, los desarrolladores del software espía FinSpy actualizaron su creación con funciones de bootkit.

Detección y eliminación de bootkits

La detección de bootkit es factible si se realiza antes de que se incruste en el firmware o en las primeras particiones del disco duro. Determinar si un sistema está infectado con un bootkit no es fácil; Incluso si es posible, la víctima enfrentará dificultades aún mayores para eliminarlo. Si el bootkit se introdujo en las primeras particiones del disco duro (MBR, VBR o, en el caso de un dispositivo basado en UEFI, EFI System Partition), una reinstalación completa del sistema operativo eliminará el código malicioso del disco. Sin embargo, cualquier reinstalación del sistema operativo no afectará la memoria del chip donde reside el firmware BIOS o UEFI, por lo que si se cambia el firmware, es posible que el nuevo sistema operativo aún esté infectado.

También puede determinar qué kit de arranque en particular infectó el sistema y buscar utilidades de los proveedores de antivirus para limpiar el sistema de códigos maliciosos.

A principios de la década de 1980, aparecieron los primeros precursores de los bootkits en forma de virus que infectaban el sector de arranque del disco duro, conocidos como infectores del sector de arranque. Después de establecerse en el sistema, estos programas maliciosos intentaron propagarse a otros dispositivos, infectando todos los medios extraíbles conectados. Los ejemplos más famosos de este tipo de malware son Elk Cloner, uno de los primeros virus que atacó los ordenadores Apple, y Brain, que provocó la primera epidemia informática y llevó a los desarrolladores de software a crear el primer antivirus. Otro infector del sector de arranque de alto perfil fue el virus Stoned, que apareció en 1987. Su código fuente ha formado la base de muchos programas maliciosos que infectan el sector de arranque, como Michelangelo, AntiExe y Angelina. Este último fue descubierto en 2007 en portátiles Medion vendidos en Alemania y Dinamarca. El antivirus Bullguard preinstalado sólo pudo detectar la infección, pero no limpiar el sistema.

Los bootkits completos aparecieron a principios de la década de 2000 y estaban orientados al BIOS. Uno de los primeros PoC de bootkit fue eEye BootRoot.

Como parte de nuestro estudio, consideramos tanto los kits de arranque PoC como los kits de arranque del mundo real que se encuentran en la naturaleza. Los bootkits PoC representaron el 31% de nuestra muestra y los bootkits disponibles el 69%.

El malware Bootkit para ataques a dispositivos basados ​​en BIOS se puede inyectar directamente en MBR, VBR o IPL. También se puede integrar un kit de arranque en el propio firmware, pero en la práctica esto es difícil de hacer.

Entre los bootkits que analizamos, el 76% fueron diseñados para BIOS. La proporción de estos que afectaron sólo a la RBM fue del 80%. Otro 10% se inyecta en VBR o IPL, y el 10% restante admite todos los métodos de infiltración anteriores.

Los kits de arranque para ataques al BIOS pueden comprometer cualquier componente del sistema, incluido el cargador del sistema operativo, el hipervisor y las herramientas de seguridad. Intel retiró el soporte para BIOS en 2020, pero algunas empresas no pueden actualizar rápidamente su infraestructura de TI, por lo que los kits de arranque de infección de BIOS todavía están activos.

¿Por qué no todos abandonaron el BIOS? Algunas organizaciones tienen dificultades para actualizar su infraestructura de TI. En Rusia, según nuestra evaluación, la mayoría de las veces son las instituciones gubernamentales y las empresas industriales las que enfrentan este problema. El problema no es menos grave en el caso de la infraestructura virtual, ya que incluso los proveedores de hipervisores recomiendan utilizar BIOS como firmware predeterminado. En nuestra opinión, esto se debe a que las máquinas virtuales basadas en BIOS son más fáciles de mantener y mantener.

En 2009 apareció una nueva versión del virus Stoned, que constituía un PoC de bootkit completo. Una característica de esta versión era que el virus infectaba el sistema incluso si el disco duro o una partición estaban cifrados con TrueCrypt. Esto disipó el mito de que el cifrado de unidades protege contra infecciones de malware. Stoned demostró lo contrario. El malware entró en el MBR, que incluso en caso de cifrado de la unidad permanece siempre sin cifrar. Luego, cuando el usuario ingresó su contraseña para usar el dispositivo, el bootkit la interceptó, obteniendo así acceso a toda la información cifrada. Este fue el primer caso claro de elusión del cifrado de unidades. Un año después, sobre la base de Stoned, se desarrolló el bootkit Whistler y se vio en ataques reales. Por cierto, en 2011 también se desarrolló el primer PoC de bootkit basado en Stoned, centrado en ataques al firmware UEFI.

El proyecto de investigación Stoned fue tan popular que las empresas antivirus solicitaron no publicar el código fuente de sus nuevas versiones.

Después de estudiar todas las deficiencias del BIOS, los fabricantes de dispositivos cambiaron a UEFI, que es más seguro. En comparación con BIOS, UEFI presenta una serie de mejoras importantes, pero lo que más nos interesa es el protocolo Secure Boot, que verifica las firmas de los controladores UEFI, las aplicaciones UEFI y el propio sistema operativo. Si estas firmas coinciden con los datos en el repositorio de firmas de aplicaciones confiables y sumas hash, las aplicaciones UEFI se cargan y el firmware UEFI entrega el control al sistema operativo. El depósito de estas firmas y sumas hash está ubicado en la memoria no volátil y lo completa el fabricante del dispositivo. Para obtener más detalles sobre el protocolo de arranque seguro, consulte el sitio web de Microsoft.

El arranque seguro sólo se activa si el intruso no tiene acceso físico al dispositivo; de lo contrario, pueden agregar o sustituir firmas por sus propios controladores maliciosos.

Debido al Secure Boot, el cambio a UEFI debería haber hecho imposible la introducción de bootkits, pero las cosas resultaron diferentes. Se pueden utilizar varias formas para infectar el firmware UEFI:

En general, al infectar dispositivos basados ​​en UEFI, los atacantes pueden infiltrarse en el firmware almacenado en la memoria flash SPI, realizar cambios en un módulo existente o crear uno nuevo en la partición del sistema EFI.

La partición del sistema EFI (ESP) es una partición oculta especial en el disco duro de los dispositivos basados ​​en UEFI. Esta partición almacena el administrador de arranque. Al iniciar el dispositivo, UEFI carga archivos (módulos) desde el ESP para iniciar el sistema operativo y las utilidades instaladas.

Después del lanzamiento del primer bootkit PoC para la infección UEFI, pasaron seis años antes de que el primer bootkit apareciera en la naturaleza: LoJax en 2017. Para sobrescribir el firmware en SPI flash, los desarrolladores de este bootkit utilizaron vulnerabilidades de firmware y brechas en Secure. Configuración de arranque. TrickBoot, parte del malware TrickBot que apareció en los titulares en 2020 y 2021, también está orientado a UEFI.

Desde 2020, todos los bootkits encontrados en la naturaleza se han dirigido a UEFI, en particular, Mosaic Regressor, TrickBoot, FinSpy, ESPecter y MoonBounce.

Algunos bootkits combinan varias técnicas para apuntar a un tipo de firmware, por ejemplo, incrustándose tanto en el MBR como en el VBR. Uno de esos kits de arranque es Gapz. También existen kits de arranque versátiles para ataques a dispositivos basados ​​en BIOS y UEFI, como FinSpy y Trickboot.

Descargar línea de tiempo

Los ciberdelincuentes buscan activamente vulnerabilidades de BIOS y UEFI que permitan la inyección de bootkit. Los analistas de Binarly han identificado 23 vulnerabilidades críticas relacionadas con la gestión de memoria SMM en el firmware UEFI de InsydeH2O utilizado por los principales proveedores de hardware, como Bull (Atos), Dell, Fujitsu, HP, Intel, Lenovo, Microsoft y Siemens. Al explotar estas vulnerabilidades, los atacantes pudieron desactivar las funciones de seguridad del hardware e introducir un kit de arranque y malware para control remoto. Los analistas estiman que las fallas podrían haber afectado a millones de dispositivos, desde computadoras portátiles hasta servidores, equipos de red y sistemas de control industrial (ICS).

En la conferencia Black Hat Asia 2017, los expertos de Cylance demostraron cómo dos vulnerabilidades (CVE-2017-3197 y CVE-2017-3198) en el firmware UEFI de Gigabyte se pueden utilizar para inyectar malware. Ambas vulnerabilidades son fallas de diseño de componentes. El primero está relacionado con la implementación incorrecta de la protección contra escritura, el segundo con la falta de verificación de la firma del componente.

El firmware del BIOS también tiene vulnerabilidades. A finales de marzo de 2022, por ejemplo, Dell recomendó a los clientes que actualizaran el BIOS en las computadoras de las series Alienware, Inspiron, Vostro y Edge Gateway 3000 sin demora. Estos modelos estuvieron expuestos a vulnerabilidades que permitían a un atacante remoto eludir la autenticación y utilizar una interrupción de administración del sistema (SMI) para ejecutar código arbitrario al procesar funciones del sistema (CVE-2022-24415, CVE-2022-24416, CVE-2022-24419, CVE -2022-24420 y CVE-2022-24421).

Ya hemos mencionado lo difícil que resulta para los ciberdelincuentes desarrollar un rootkit. Los bootkits son aún más complejos. Los fallos de diseño pueden, por ejemplo, impedir que el dispositivo se inicie, lo que dará lugar a una investigación y posible detección del malware y de los ciberdelincuentes. Lo que complica las cosas es el hecho de que no hay mucha información sobre este tipo de malware en línea. Los atacantes utilizan todos los medios disponibles:

Analizamos 58 canales de Telegram y diez de los foros de la web oscura en ruso e inglés más activos con anuncios que ofrecen kits de arranque a la venta y trabajos para desarrolladores de malware.

El precio promedio de un bootkit en alquiler es de US$4.900. A modo de comparación, se puede alquilar un rootkit por entre 100 y 200 dólares.

Con 10.000 dólares se puede comprar el código fuente del kit de arranque y con 2.000 dólares una imagen ejecutable. Los ciberdelincuentes están dispuestos a pagar entre 3.000 y 5.000 dólares estadounidenses para desarrollar un kit de arranque para la infección MBR. El precio máximo que están dispuestos a pagar por un kit de arranque para firmware UEFI es de 2 millones de dólares.

Encontramos mensajes en los canales de Telegram con archivos adjuntos que contienen el código fuente de los PoC de los kits de arranque y los kits de arranque disponibles, lo que permite a los atacantes crear un kit de arranque ya preparado o utilizar fragmentos de código ya preparado para desarrollar su propio malware.

En nuestra opinión, la investigación del firmware dará como resultado el descubrimiento de nuevas vulnerabilidades y los propios kits de arranque serán cada vez más comunes. Como siempre, más vale prevenir que curar. Teniendo esto en cuenta, te recomendamos:

Recuerde también la importancia de detectar y contrarrestar los descargadores e instaladores de malware en una etapa temprana, y utilice las últimas herramientas antivirus y sandboxes para analizar el comportamiento potencial de un archivo en el sistema antes de que se ejecute directamente.

Para detectar una infección, se debe monitorear la integridad de los registros de arranque y del firmware.