El malware Gootloader original fue utilizado por numerosos grupos de amenazas, incluidos afiliados de ransomware y en cargas útiles adicionales como SystemBC e IcedID.

IBM X-Force ha identificado una nueva versión de Gootloader llamada “GootBot”, diseñada para facilitar la propagación silenciosa y complicar la detección y prevención de campañas de Gootloader en entornos corporativos. Estas campañas han sido observadas aprovechando el envenenamiento de resultados de búsqueda en SEO, apuntando a usuarios desprevenidos en sus búsquedas.

El grupo Gootloader ha introducido su propio bot personalizado, el “GootBot”, en las etapas finales de sus ataques, con el propósito de eludir detecciones al utilizar herramientas comunes de comunicación y control (C2), como CobaltStrike o RDP. Esta variante recién descubierta es un malware liviano pero altamente efectivo, permitiendo a los atacantes moverse rápidamente a través de las redes y desplegar una carga maliciosa adicional.

El malware Gootloader se utilizó inicialmente sólo como herramienta de acceso inicial y evolucionó considerablemente con el tiempo hasta incluir GootBot, un script PS ligero y ofuscado. Se descarga después de la infección de Gootloader y recibe comandos a través de C2 a través de scripts cifrados de PowerShell.

El grupo conocido como Gootloader (también identificado como UNC2565 o Hive0127) surgió inicialmente en 2014, focalizándose en estrategias de envenenamiento de SEO y en la explotación de sitios web comprometidos, principalmente aquellos basados en WordPress, para difundir el malware Gootloader, derivado de Gootkit. Melissa Bischoping, Directora de Investigación de Seguridad de Terminales en Tanium, ha ofrecido explicaciones detalladas sobre el funcionamiento del envenenamiento de SEO y su relación con las actividades de este grupo.

Análisis

Diagrama de infección

El esquema a continuación ejemplifica la forma en que Gootloader utiliza GootBot para expandirse dentro de una red. Las secciones de análisis que siguen ofrecen un desglose detallado de las diversas fases de la infección:

Acceso inicial a través de Gootloader

Las infecciones de Gootloader comienzan cuando un usuario descarga un archivo infectado que contiene un archivo JavaScript significativamente ofuscado, que es la primera etapa de Gootloader. Tras la ejecución, coloca otro archivo JavaScript en una subcarpeta seleccionada bajo la carpeta %APPDATA% con un nombre de archivo discreto en inglés. Gootloader no crea una nueva carpeta en %APPDATA% sino que selecciona una que ya existe. Esta selección no es aleatoria sino que se calcula en función del número de subcarpetas que se encuentran en la carpeta %APPDATA%.

 Se calcula de la siguiente manera:

722 – (Round down(722 / number_of_subfolders) * number_of_subfolders)

En lugar de ejecutar la segunda etapa directamente, Gootloader activa una tarea programada para ejecutar JavaScript y hacerlo persistente.

La tarea programada tiene los siguientes parámetros:

Name:  <Random English words>

Action:  wscript <short file name of 2nd stage ending with “~1.JS”>

Folder:  [Subfolder in %APPDATA%]

Trigger:  LogonTriggerID [At the next log on of the current user]

Una vez que se ejecuta JavaScript de la segunda etapa, ejecuta un script de PowerShell y la tercera etapa, que recopila información del sistema y la carga en cualquiera de sus 10 servidores C2 codificados. Gootloader utiliza sitios de WordPress pirateados para ejecutar sus servidores C2, lo que lleva a rutas URL de C2 que terminan en “/xmlrpc.php”.

A continuación se muestra un ejemplo de una solicitud HTTP del malware.

El User-Agent es consistente, así como el presunto ID de malware, 3B47772CE3.

El malware espera que el C2 responda con datos que contienen un script de PowerShell que ejecuta Gootloader.

El script de PowerShell de la tercera etapa se ejecuta en un bucle sin fin, lo que le brinda al actor la capacidad de hacer que el C2 responda con diferentes cargas útiles de PowerShell.

GootBot

Una de las cargas útiles que observó X-Force es GootBot, una nueva variante de Gootloader. Presenta capacidades muy similares pero viene en forma de un script de PowerShell liviano. A diferencia del script de PowerShell de la etapa 3, GootBot solo contiene una única dirección de servidor C2.

Las cadenas de GootBot están ligeramente ofuscadas mediante una clave de reemplazo, como se ve en la siguiente captura de pantalla:

Al igual que Gootloader, el bot comienza enviando una solicitud GET a su servidor C2, solicitando tareas de PowerShell. La primera baliza tiene los siguientes encabezados HTTP agregados por el malware:

OBTENER /xmlrpc.php HTTP/ 1.1

Agente de usuario: Mozilla/ 5.0 (Windows NT 10.0 ; Win64; x64) AppleWebKit/ 537.36 (KHTML, como Gecko) Chrome/ 107.0 . 0,0 Safari/ 537,36

Cookie: <BOT_ID>=<Si el usuario es administrador : 0/1 >

Pragma: sin caché

Control de caché: sin caché, sin almacenamiento

Caduca: 0

Como respuesta, GootBot espera una cadena que consta de una carga útil codificada en Base64 y los últimos 8 caracteres son el nombre de la tarea. Luego decodifica la carga útil y la inyecta en un bloque de script simple antes de ejecutarlo en un nuevo trabajo en segundo plano utilizando el cmdlet “Start-Job”. Esto permite que la carga útil de PowerShell se ejecute de forma asincrónica y sin crear un proceso secundario, lo que podría generar menos detecciones de EDR.

La siguiente captura de pantalla muestra el código desofuscado que ejecuta la tarea C2.

Reconocimiento

GootBot también ejecuta un script de reconocimiento como una de sus primeras tareas. Contiene la ID única de GootBot para el host.
La siguiente información se reúne y se devuelve al controlador del trabajo:

  • Nombre de dominio \ usuario
  • SO (de la clave de registro)
  • Si es arquitectura de 64 bits (verificando el directorio x86 y también el tamaño de int ptr)
  • Controladores de dominio:
  • Del registro
  • De la var ENV
  • Usando [System.DirectoryServices.ActiveDirectory.DomainController]::FindAll
  • Procesos corriendo
  • sid
  • Dirección IP local
  • Nombre de host

Los datos están formateados con el ID especificado. Vea los datos de ejemplo a continuación con ID “FDA8970BA3”:

Acciones contra objetivos

Una infección por Gootloader puede rápidamente conducir a la implementación de herramientas adicionales como Cobalt Strike, SystemBC y scripts de compromiso de dominio, incluyendo ataques de Kerberoasting. Se ha observado otro comportamiento que implica la exfiltración de datos confidenciales, tales como:

  • Volcado del proceso LSASS, descargado mediante Procdump o la funcionalidad Minidump de “comsvcs.dll”.
  • Colmenas de registro SAM, SISTEMA, SEGURIDAD.

Además, las infecciones por Gootloader a menudo desencadenan ataques de ransomware.

Conclusión

El descubrimiento de la variante Gootbot resalta la determinación de los atacantes para evadir la detección y operar de manera encubierta. Este malware altamente efectivo permite a los atacantes desplazarse lateralmente dentro del entorno con facilidad y rapidez, ampliando así sus ataques. El uso extensivo por parte de Hive 0127 de grandes grupos de dominios de WordPress comprometidos hace que sea cada vez más desafiante para los defensores bloquear el tráfico malicioso. Dado que Gootloader a menudo sirve como punto de entrada inicial, comprender estas tácticas, técnicas y procedimientos (TTP) en evolución es crucial para mitigar el riesgo de actividad dañina posterior a la explotación.

Recomendaciones

  • Mantener actualizados los programas antivirus y los archivos asociados.
  • Habilitar y monitorear el registro de bloqueo de secuencias de comandos en la empresa, así como los registros de eventos de Windows relevantes para detectar signos de compromiso.
  • Supervisar la ejecución de archivos JavaScript dentro de archivos ZIP descargados.
  • Estar atento a las tareas programadas que utilizan wscript.exe para ejecutar archivos JavaScript con nombres cortos (*~1.JS).
  • Monitorear el tráfico de red en busca de solicitudes HTTP sospechosas a URL que terminen en “xmlrpc.php”.
  • Monitorear el movimiento lateral a través de WinRM, WMI o SCM.
  • Deshabilitar o monitorear el cmdlet “Iniciar trabajo” dentro del entorno.

fuente: securityintelligence