Introducción
Investigadores de ciberseguridad han revelado un nuevo método de distribución de malware basado en Go, utilizando proveedores de Terraform y módulos de Go. Esta técnica representa la primera vez que se emplea el registro centralizado de HashiCorp para propagar cargas maliciosas.
Detalles del Malware
El malware se ha encontrado en los siguientes proveedores de Terraform: - gocommunity-io/dockerd (222 descargas) - kreuzwenker/docker (1,449 descargas)
Junto a ellos, también se han identificado módulos de Go como gocommunity.io/orderedbtree y gogets.dev/btreex. Esta actividad está relacionada con la campaña Graphalgo, atribuida a actores de amenaza de Corea del Norte (DPRK), documentada previamente por ReversingLabs.
Estrategias de Ataque
Los atacantes suelen contactar a desarrolladores potenciales a través de plataformas sociales como LinkedIn y Facebook, o mediante ofertas laborales en foros, haciéndose pasar por empresas ficticias de Web3. Se les solicita completar tareas de codificación que involucran repositorios de GitHub aparentemente benignos, que en realidad introducen comportamientos maliciosos a través de dependencias publicadas en npm o PyPI.
Recientemente, se han identificado nuevos paquetes npm maliciosos que entregan el mismo malware. Algunos de estos paquetes son: - indexed-btree - mathsbase - mathmain - math-universe - modern-events - quick-events - crypto-hasher - events-router - sort-btree - graphcore-js - graphlib-js
Mecanismo de Ejecución
El análisis de estos paquetes indica que la ejecución del malware se activa en ocasiones solo cuando se realiza una operación criptográfica específica, lo que sugiere un enfoque dirigido. El payload se descifra únicamente cuando la víctima resuelve un sistema lineal con una matriz concreta, siguiendo órdenes de un contrato inteligente en la testnet de Ethereum Sepolia. Además, se mantiene un canal de comunicación abierto a través de Slack.
Este enfoque permite que el malware ejecute funciones en un sistema comprometido, ocultándose detrás de recuentos de descargas manipulados. El malware se comunica con un canal de Slack, consultando el endpoint 'conversations.history' cada 10 segundos para determinar la siguiente acción a realizar.
Capacidad de Control y Exfiltración de Datos
El malware también está diseñado para recopilar información del sistema, como atributos de hardware, sistema operativo y nombre del host, transmitiendo estos datos al canal controlado por el atacante a través de la API de Slack. Tras esta conexión inicial, genera un par de claves pública-privada efímeras, combinándolas con claves públicas de los actores de la amenaza, permitiendo una comunicación segura sin exponer las comunicaciones de control y comando (C2).
El C2 basado en blockchain extrae datos de un contrato inteligente en la testnet Arbitrum Sepolia, utilizando una dirección de contrato codificada para consultar comandos cifrados cada tres segundos. Estos comandos pueden ejecutarse como código Go o JavaScript, lo que resalta la sofisticación del ataque.
Conclusión
La aparición de estos proveedores maliciosos de Terraform representa una táctica innovadora en el ámbito de la ciberseguridad, aunque no sorprendente, ya que facilita un acceso directo a entornos críticos. La investigación continúa para desentrañar la totalidad de las capacidades y objetivos de este malware, que evidencia la creciente complejidad de los ataques en la cadena de suministro.