Gelsemium: cuando los actores de amenazas van a la jardinería


Investigadores de ESET arrojan luz sobre las nuevas campañas del grupo silencioso Gelsemium

A mediados de 2020, los investigadores de ESET comenzaron a analizar múltiples campañas, luego atribuidas al grupo Gelsemium, y rastrearon la primera versión del malware que se remonta a 2014. Las víctimas de estas campañas se encuentran en el este de Asia, así como en el Medio Oriente y incluyen gobiernos, organizaciones religiosas, fabricantes de productos electrónicos y universidades.

Puntos clave de este informe:

  • Los investigadores de ESET creen que Gelsemium está detrás del ataque a la cadena de suministro contra BigNox que se informó anteriormente como Operación NightScout
  • Los investigadores de ESET encontraron una nueva versión de Gelsemium, un malware complejo y modular, más tarde denominado Gelsemine, Gelsenicine y Gelsevirine.
  • Se descubrieron nuevos objetivos que incluyen gobiernos, universidades, fabricantes de productos electrónicos y organizaciones religiosas en Asia Oriental y Medio Oriente.
  • Gelsemium es un grupo de ciberespionaje activo desde 2014

La distribución geográfica de los objetivos de Gelsemium se puede ver en la Figura 1.

Figura 1. Ubicaciones de los objetivos

Componentes de gelsemio

La cadena completa de Gelsemium puede parecer very simple a primera vista, pero las configuraciones exhaustivas, implantadas en cada etapa, modifican la configuración sobre la marcha para la carga útil final, lo que hace que sea más difícil de entender. Los comportamientos analizados a continuación están vinculados a la configuración como resultado, los nombres de archivo y las rutas pueden ser diferentes en otras muestras. La mayoría de las campañas que observamos siguen lo que describimos aquí.

Figura 2. Descripción general del flujo de trabajo de los tres componentes

Gelsemine: el gotero

La primera etapa de Gelsemium es un cuentagotas grande escrito en C ++ utilizando la biblioteca Microsoft Foundation Course (MFC). Esta etapa contiene varios archivos binarios de etapas adicionales. Los tamaños de cuentagotas oscilan entre 400 kB y 700 kB, lo cual es inusual y sería aún mayor si los ocho ejecutables incrustados no estuvieran comprimidos. Los desarrolladores utilizan el zlib biblioteca, estáticamente vinculada, para reducir en gran medida el tamaño total. Detrás de este ejecutable de gran tamaño se esconde un mecanismo complejo pero versatile que es capaz de eliminar diferentes etapas según las características de la computadora víctima, como bitness (32 bits frente a 64 bits) o privilegios (usuario estándar frente a administrador). Casi todas las etapas están comprimidas, ubicadas en la sección de recursos del PE y mapeadas en el espacio de direcciones de memoria del mismo componente. La Figura 3 ilustra todas las etapas del componente Gelsemine.

Figura 3. Descripción common del espacio de direcciones de Gelsemine

Gelsenicina: el cargador

Gelsenicine es un cargador que recupera Gelsevirine y lo ejecuta. Hay dos versiones diferentes del cargador: ambas son DLL sin embargo, difieren en el contexto en el que se ejecuta Gelsemine.

Para las víctimas con privilegios de administrador, Gelsemine coloca Gelsenicine en C: Windows Procedure32 spool prtprocs x64 winprint.dll (DLL de modo de usuario para procesador de impresión) que luego se carga automáticamente por el spoolsv Servicio de Home windows. Para escribir un archivo bajo el % WINDIR% / process32 directorio, los privilegios de administrador son obligatorios de ahí el requisito mencionado anteriormente.

Los usuarios con privilegios estándar comprometidos por Gelsemine colocan Gelsenicine en un directorio diferente que no requiere privilegios de administrador. La DLL chrome_elf.dll se cae debajo CommonAppData / Google / Chrome / Software / Library /.

Gelsevirine: el complemento principal

Gelsevirine es la última etapa de la cadena y sus desarrolladores la llaman MainPlugin, de acuerdo con el nombre de la DLL y también la ruta de PDB que se encuentra en muestras antiguas (Z: z_code Q1 Shopper Get32 Release MainPlugin.pdb). También vale la pena mencionar que si los defensores logran obtener esta última etapa por sí solos, no funcionará sin problemas, ya que requiere que sus argumentos hayan sido establecidos por Gelsenicine.

La configuración utilizada por Gelsenicine contiene un campo llamado controller_version creemos que es el regulate de versiones utilizado por los operadores para este complemento principal. La Figura 4 proporciona una línea de tiempo de las diferentes versiones que hemos observado en la naturaleza las fechas son aproximadas.

Figura 4. Cronología de la versión de gelsevirina

Enlaces / herramientas adicionales

Durante nuestra investigación, encontramos algunos programas maliciosos interesantes que se describen en las siguientes secciones.

  • Operación NightScout (BigNox): En enero de 2021, otro investigador de ESET analizó y escribió un artículo sobre Operación NightScout un ataque a la cadena de suministro que compromete el mecanismo de actualización de NoxPlayer, un emulador de Android para Computer y Mac, y parte de BigNox&#39s gama de productos con más de 150 millones de usuarios en todo el mundo. La investigación descubrió cierta superposición entre este ataque a la cadena de suministro y el grupo Gelsemium. Las víctimas originalmente comprometidas por ese ataque a la cadena de suministro luego fueron comprometidas por Gelsemine. Entre las diferentes variantes examinadas, la «variante 2» del artículo muestra similitudes con el malware Gelsemium.
  • OwlProxy: Este módulo también viene en dos variantes, versiones de 32 y 64 bits, y como resultado, contiene una función para probar la versión de Home windows al igual que en los componentes de Gelsemium.
  • Chrommme: Chrommme es una puerta trasera que encontramos durante nuestras aventuras en el ecosistema Gelsemium. Las similitudes de código con los componentes de Gelsemium son casi inexistentes, pero se encontraron pequeños indicadores durante el análisis que nos llevan a creer que de alguna manera está relacionado con el grupo. Se encontró el mismo servidor C&C tanto en Gelsevirine como en Chrommme, ambos utilizan dos servidores C&C. Se encontró Chrommme en la máquina de una organización también comprometida por el grupo Gelsemium.

Conclusión

El bioma Gelsemium es muy interesante: muestra pocas víctimas (según nuestra telemetría) con una gran cantidad de componentes adaptables. El sistema de complementos muestra que sus desarrolladores tienen un conocimiento profundo de C ++. Pequeñas similitudes con herramientas de malware conocidas arrojan luz sobre posibles superposiciones interesantes con otros grupos y actividades pasadas. Esperamos que esta investigación impulse a otros investigadores a publicar sobre el grupo y revelar más raíces relacionadas con esta biosfera de malware.

Se puede encontrar una lista completa y completa de indicadores de compromiso (IoC) y ejemplos en el papel blanco y en nuestro repositorio de GitHub.

Para cualquier consulta, o para hacer presentaciones de muestra relacionadas con el tema, contáctenos en amenazaintel@eset.com.

Para obtener más información sobre cómo los servicios de inteligencia de amenazas pueden mejorar la postura de ciberseguridad de su organización, visite el Página de ESET Risk Intelligence.



Enlace a la noticia unique