LoJax: primer rootkit de UEFI en uso que se descubre, cortesía del grupo Sednit

Los investigadores de ESET descubrieron el primer rootkit UEFI activo. Denominado LoJax, el equipo de investigadores demostró que los operadores de Sednit utilizaron diferentes componentes del malware LoJax para llegar a ciertas organizaciones gubernamentales en los Balcanes, así como en Europa Central y Oriental.

Los rootkits UEFI son vistos como herramientas extremadamente peligrosas para la implementación de ciberataques, debido a que son difíciles de detectar y tienen la capacidad de sobrevivir a medidas de seguridad como la reinstalación del sistema operativo o incluso la sustitución de un disco duro. . Algunos rootkits UEFI se han presentado como pruebas de concepto; mientras que se sabe que otros están disponibles en (al menos algunos) organismos gubernamentales. Sin embargo, nunca se detectó ningún rootkit UEFI en uso hasta este momento, cuando descubrimos una campaña del grupo Sednit que implementó con éxito un módulo UEFI malicioso en el sistema de una víctima.

El descubrimiento del primer rootkit UEFI en uso es muy importante por dos razones.

La primera, es porque muestra que los El rootkit UEFI es una amenaza real y no solo forman parte de los temas atractivos que se utilizan a la hora de una conferencia.

Y la segunda razón, porque sirve como aviso, especialmente para aquellos que puedan estar en la mira de Sednit. Este grupo, también conocido como APT28, STRONTIUM, Sofacy y Fancy Bear, puede ser incluso más peligroso de lo que se creía hasta ahora.

Nuestro análisis de la campaña de Sednit que utiliza el rootkit UEFI se presentó el 27 de septiembre en la edición de 2018 de la conferencia Microsoft BlueHat y se describe en detalle en nuestro documento técnico, en inglés, titulado “LoJax: First UEFI rootkit found in the wild, cortesía del grupo Sednit”. En este artículo, resumiremos nuestros principales hallazgos.

El grupo Sednit opera al menos desde 2004 y ha sido responsable de una gran cantidad de titulares en los medios de comunicación en los últimos años: se cree que es el actor responsable de los ataques más importantes contra objetivos de alto perfil. Por ejemplo, el Departamento de Justicia de Estados Unidos acusó al grupo de ser el responsable del ataque al Comité Nacional Demócrata (DNC, por sus siglas en inglés) ocurrido antes de las elecciones de 2016 en Estados Unidos. También se supone que el grupo detrás del ataque a la cadena de televisión mundial TV5Monde; la filtración de correos de la Agencia Mundial Antidopaje (WADA, por sus siglas en inglés), y muchas otras más. Cabe recordar que este grupo cuenta con una gran diversidad de herramientas maliciosas en su arsenal. Y varias de ellas las hemos documentado anteriormente en nuestro whitepaper sobre Sednit que publicamos en 2016.

Nuestra investigación determinó que este actor malicioso logró, al menos una vez, escribir un módulo UEFI malicioso dentro del sistema de memoria flash SPI. Este módulo es capaz de colocar y ejecutar malware en el disco durante el proceso de arranque. Este método de persistencia es particularmente invasivo dado que no solo sobrevive a la reinstalación del sistema operativo, sino que también reemplaza al disco duro. Además, limpiar el firmware del sistema UEFI implica reinstalar el firmware, operación que no es sencilla de realizar y mucho menos para un usuario común y corriente.

Nuestra investigación mostró que los operadores de Sednit utilizaron diferentes componentes del malware LoJax para llegar a una cierta cantidad de organizaciones gubernamentales en los Balcanes, así como en Europa Central y Oriental.

LoJack se transforma en LoJax

En mayo de 2018, una publicación de blog de Arbor Networks describió varias muestras troyanizadas del instalador Absolute LoJack rpcnetp.exe. Estas muestras maliciosas se comunican con un servidor C&C malicioso en el lugar del servidor legítimo del programa Absolute, debo a que sus parámetros de configuración codificados fueron alterados. Algunos de los dominios descubiertos en las muestras de LoJax se han visto anteriormente: se usaron en 2017 como dominios de C&C para la infame puerta trasera de la primera fase de Sednit, SedUploader. Debido al uso malicioso del instalador de LoJack en esta campaña fue que denominamos al malware LoJax.

LoJack es un programa antirrobo. Las primeras versiones de este programa se conocían como Computrace. Como lo indica su número primo, una vez que se activó el servicio, la computadora llamará a su servidor C&C y su propietario será notificado sobre su ubicación en caso de pérdida o robo. Computrace atrajo la atención de la comunidad de seguridad, sobre todo por su inusual método de persistencia. Desde el momento en que la intención del programa es proteger un sistema de robos, es importante que resista la reinstalación del sistema operativo o el reemplazo del disco duro. Y esto se consigue precisamente al implementarse como un módulo UEFI/BIOS, capaz de sobrevivir a este tipo de eventos. Esta solución viene preinstalada en el firmware de una gran cantidad de fabricantes de portátiles, a la espera de que sus propietarios la activen.

Mientras investigábamos LoJax, descubrimos varios artefactos interesantes que nos llevaron a creer que los actores maliciosos intentaron imitar el método de persistencia de Computrace.

Parcheando la memoria flash SPI con malware

En los sistemas que fueron el objetivo de la campaña LoJax, descubrimos varias herramientas que son capaces de acceder y parchear la configuración UEFI/BIOS. Todas utilizaron un kernel de controlador RwDrv.sys para acceder a la configuración de UEFI/BIOS. Este controlador de kernel se incluye con RWEverything, una utilidad gratuita disponible en la web que se puede usar para leer información en casi todas las computadoras de gama baja, incluidas PCI Express, memoria, etc. Como este kernel de controlador pertenece a un programa legítimo, está firmado con un certificado de firma de código válido.

Tres diferentes tipos de herramientas fueron encontradas a lo largo de los instaladores LoJax. La primera es una herramienta que devuelve información sobre la configuración del sistema de bajo nivel a un archivo de texto. Desde el momento en que la posibilidad de evadir la protección contra actualizaciones ilegales de firmware depende del tipo de plataforma, la recopilación de información sobre el sistema de una plataforma es crucial. El propósito de la segunda herramienta era guardar una imagen del firmware del sistema en un archivo después de leer el contenido de la memoria flash SPI donde se encuentra el UEFI/BIOS. El propósito de la tercera herramienta es agregar un módulo UEFI malicioso a la imagen del firmware y escribirlo en la memoria flash SPI, instalando efectivamente el rootkit UEFI en el sistema. Esta herramienta de parcheado utiliza diferentes técnicas, ya sea para aprovechar plataformas mal configuradas o para evadir la protección contra escritura de la plataforma en la memoria flash SPI. Como se muestra en la siguiente imagen, si la plataforma permite operaciones de escritura a la memoria flash SPI directamente lo há. Si no, en realidad lo que hace es implementar un exploit contra una vulnerabilidad conocida.

El rootkit UEFI agregado a la imagen del firmware tiene una función única: colocar el malware de usuario en la partición del sistema operativo Windows y asegurarse de que se ejecute al iniciar la computadora.

¿Cómo estar protegido??

El rootkit Sednit UEFI no está debidamente firmado, por lo que el primer mecanismo de seguridad que podría bloquear un ataque de este tipo es el arranque seguro. Cuando el Arranque seguro está habilitado, cada componente del firmware que carga el firmware debe firmarse correctamente para garantizar la integridad del firmware. Por lo tanto, recomendamos porque se habilite. Esta es la defensa básica contra los ataques dirigidos al firmware UEFI y se puede desactivar en el momento del arranque a través de las opciones de configuración de su sistema UEFI.

Actualizar firmware de sistemas no debe ser algo trivial de alcanzar para un actor malicioso. Hay diferentes protecciones que ofrece la plataforma para prevenir escrituras no autorizadas en la memoria flash SPI del sistema. La herramienta descrita anteriormente es capaz de actualizar el firmware del sistema solo si las protecciones de la memoria flash SPI son vulnerables o están mal configuradas. Por lo tanto, debe asegurarse de estar utilizando el último UEFI/BIOS disponible para su placa base. Además, como la vulnerabilidad explotada afecta solo a los chipsets antiguos, asegúrese de que los sistemas críticos tengan chipsets modernos con Platform Controller Hub (introducida con la Serie 5 de chipsets de Intel en 2008).

Desafortunadamente, actualizar el firmware de un sistema no es una tarea sencilla. En este sentido, la seguridad del firmware está mayormente en las manos de los proveedores de UEFI/BIOS. Los mecanismos de seguridad que se ofrecen a través de las plataformas necesitan ser configurados adecuadamente por el firmware del sistema para protegerlo. El firmware debe ser construido desde un principio teniendo en cuenta los aspectos de seguridad. Afortunadamente, cada vez más investigadores de seguridad están analizando la seguridad del firmware, lo que contribuye a las mejoras en este campo y aumenta la preocupación por parte de los fabricantes de UEFI/BIOS.

La recuperación de un firmware UEFI comprometido es un problema difícil de resolver. No hay formas sencillas para remover automáticamente como amenaza de un sistema. En el caso que describimos anteriormente, para eliminar el rootkit, la memoria flash SPI debe reinstalarse con una imagen de firmware limpia y específica para la placa base. Esta es una operación delicada que debe realizarse manualmente. Definitivamente no se trata de un procedimiento con el que muchos propietarios de una computadora estén familiarizados. La única alternativa para reinstalar UEFI/BIOS es reemplazar la placa base de la computadora por completo.

La relación con el grupo Sednit

Como se mencionó anteriormente, algunos de los instaladores del servidor C&C LoJax fueron utilizados en el pasado por SedUploader, una rutina de puerta trasera de primera fase utilizada por los operadores de Sednit. También, en el caso del compromiso de LoJax, rastros de otras herramientas de Sednit nunca estuvien lejos. De hecho, los sistemas alcanzados por LoJax solían mostrar signos de estos tres ejemplos del malware Sednit:

  • SedUploader, backdoor de primera fase
  • XAgent, el backdoor insignia de Sednit
  • Xtunnel, una herramienta de proxy de red que puede transmitir cualquier tipo de tráfico de red entre un servidor de C&C en Internet y una computadora terminal dentro de la red local.

Estos hechos no permiten con seguridad atribuir LoJax al grupo Sednit.

Conclusión

En los años que hemos estado rastreando al grupo Sednit, hemos lanzado varios informes sobre sus actividades, desde el aprovechiamiento de vulnerabilidades zero-day, un malware personalizado que han desarrollado, tales como Zebrocy. Sin embargo, el componente del rootkit UEFI descrito anteriormente está en una liga separada.

La campaña de LoJax muestra que blancos de ataque de gran valor son los principales candidatos para su uso. En este sentido, los cuentos blancos deben estar siempre atentos a posibles signos de compromiso. También, una cosa que esta investigación nos enseñó es que siempre es importante escarbar lo más profundo que se pueda.

Puede encontrar una lista completa de indicadores de compromiso (IOC) y muestras en GitHub.

Para un análisis detallado del backdoor, revise nuestro whitepaper (en español) LoJax: primer rootkit UEFI encontrado en la naturaleza, cortesía del grupo Sednit.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
error: Content is protected !!