En julio de 2025, IBM® X-Force descubrió nuevo malware atribuido al actor de amenazas Hive0154 vinculado a China. Esto incluye una variante actualizada de Toneshell que evade las detecciones y admite varias características nuevas, así como un nuevo gusano USB llamado SnakeDisk descubierto a mediados de agosto. El gusano solo se ejecuta en dispositivos con direcciones IP basadas en Tailandia y suelta la puerta trasera Yokai, descubierta por Netskope en diciembre de 2024.
Hive0154 es un actor de amenazas bien establecido alineado con China con un gran arsenal de malware, técnicas consistentes y actividad bien documentada en los últimos años. El grupo consta de múltiples subclústeres y participa en ciberataques dirigidos a organizaciones públicas y privadas, incluidos Think, grupos de políticas, gobierno e individuos. La observación de X-Force sobre el uso por parte del grupo de múltiples cargadores de malware personalizados, puertas traseras y familias de gusanos USB demuestra sus capacidades. La actividad de Hive0154 se superpone con actores de amenazas informados públicamente como Mustang Panda, Stately Taurus, Camaro Dragon, Twill Typhoon, Polaris y Earth Preta.
A mediados de 2025, X-Force observó varios archivos armados cargados en VirusTotal desde Singapur y Tailandia:
Nombre de archivo | DLL maliciosa | Servidor C2 | Fecha |
Información de solicitud de lugar de reunión.zip | Loader inyecta Pubload shellcode | 188.208.141[.] | 21 de mayo |
Solicitud de reserva de hotel.7z | Toneshell8 | 146.70.29[.] | 03 de julio |
Cyber_Safety_ | Toneshell8 | 146.70.29[.] | 30 de julio |
TNLA နှင့် အခြားတော်လှန်ရေးအင်အားစုများ.rar (traducido en Myanmar: "TNLA y otras fuerzas revolucionarias") | Toneshell8 | 146.70.29[.] | 30 de julio |
Scan(08-02-205).zip | Toneshell8 | 146.70.29[.] | 05 de agosto |
Notes.rar | Loader inyecta Pubload shellcode | 188.208.141[.] | 21 de agosto |
CallNotes.zip | Cargador inyectando Toneshell7 shellcode | 146.70.29[.] | 04 de septiembre |
Se observó que Hive0154 usaba un nuevo cargador para inyectar reflexivamente Pubload o Toneshell7, así como desplegar directamente la variante Toneshell8, más ofuscada. La variante más reciente de Pubload ha sufrido cambios menores y ahora admite servidores señuelo C2 y descarga de cargas útiles de shellcode a través de HTTP POST, además de TCP sin procesar que imita el tráfico TLS.
El archivo "CallNotes.zip" descubierto en septiembre se descargó de Almacenamiento en la Nube a través de un enlace en un señuelo PDF que suplantaba al Ministerio de Relaciones Exteriores de Myanmar:
A mediados de agosto, X-Force también descubrió SnakeDisk, una nueva superposición de uso compartido de gusanos USB con variantes anteriores de Tonedisk. El gusano solo se ejecuta en dispositivos ubicados en Tailandia según lo determinado por su dirección IP pública. SnakeDisk distribuye la puerta trasera Yokai, que Netskope vinculó públicamente a varias otras campañas dirigidas a Tailandia en diciembre de 2024.
Dada la historia previa del uso de la puerta trasera Yokai contra Tailandia, el descubrimiento del último gusano USB pareció coincidir con los recientes acontecimientos geopolíticos que rodearon a Tailandia:
Tradicionalmente, la República Popular China (RPC) ha sido un benefactor de Camboya, suministrando armas e invirtiendo miles de millones en proyectos de infraestructura. Los recientes acontecimientos geopolíticos pueden haber dado ímpetu a Hive0154 para iniciar operaciones contra Tailandia. El despliegue del gusano USB SnakeDisk configurado para ejecutarse solo en máquinas con sede en Tailandia, parece sugerir que Hive0154 puede estar tratando de penetrar sistemas de air-gap, a menudo empleados en redes del gobierno.
X-Force observó por primera vez la versión 8 de Toneshell en marzo de 2025. Es muy similar en comportamiento a la versión anterior 7, pero contiene actualizaciones menores para evadir la detección estática y dificultar el análisis. El cambio más visible es la inclusión de código basura dentro de las funciones del malware. Estas secciones de código basura implementan el siguiente comportamiento:
Estos tres ejemplos de código se pueden encontrar, por ejemplo, en la función que resuelve todas las API:
Los desarrolladores de Toneshell8 también optaron por reemplazar el generador de números pseudoaleatorios (PRNG) con una implementación personalizada del generador lineal congruente (LCG) utilizando diferentes constantes, por ejemplo:
Los PRNG se utilizan en Toneshell para generar un ID de víctima, claves de Verify de tráfico C2 y Verify la autenticidad de la baliza C2. Las implementaciones en las muestras de Toneshell8 varían mucho en calidad. El generador anterior, por ejemplo, es utilizado por las 4 muestras enumeradas anteriormente y solo produce 11 estados diferentes para la mayoría de las semillas.
Por último, los códigos de respuesta codificados que se envían al servidor C2, que notifican a los operadores el estado de ciertos comandos, ahora se ofuscan calculándolos a partir de diferentes enteros codificados en la muestra.
En julio, X-Force descubrió una nueva variante de Toneshell, a la que nos referiremos como Toneshell9. Contiene actualizaciones significativas y no tiene detecciones en VirusTotal en el momento de escribir este artículo (318a1ebc0692d1d012d20d306d6634b196cc387b1f4bc38f97dd437f117c7e20).
La nueva variante de Toneshell se observó por primera vez en archivos RAR troyanos que contenían el software "USB Safely Remove". La estructura del código parece haberse basado en una variante bifurcada de diciembre de 2024, que contiene la configuración C2 idéntica.
Al igual que en las variantes anteriores, Toneshell9 se ejecuta como una DLL de carga local. El archivo RAR armado contiene un archivo BAT, que inicia un ejecutable legítimo "USBSRService.exe" con un argumento de línea de comandos " -Embedding ". Una vez que la DLL de Toneshell "EasyFuncs.dll" se carga en la memoria y se ejecuta la exportación FS_RegActiveX, comienza resolviendo un primer conjunto de API necesarias para la inicialización. Después de analizar el argumento de la línea de comandos "-Incorporación", Toneshell lanza su ejecutable principal en un nuevo proceso con el argumento "EvtSys". Este último argumento desencadena el comportamiento principal de la DLL maliciosa.
Toneshell comienza inicializando un nuevo objeto de cliente que contiene los siguientes valores:
Luego pasa a resolver el resto de sus API necesarias a través de una función hash personalizada y almacena los punteros de función en una estructura separada. A continuación, crea un nuevo evento "Módulo externo de Windows" que actúa como mutex para evitar que se ejecuten varias instancias en la misma máquina.
Toneshell9 está plagado de varias secciones de código basura, que recupera el número actual de ciclos de CPU, almacena el resultado como una cadena y lo desasigna nuevamente.
Para gestionar y almacenar la comunicación C2, los servidores proxy, las balizas y las cargas útiles en la memoria, Toneshell crea una instancia de un objeto grande de 129 KB:
A diferencia de las variantes anteriores, Toneshell9 enumera las secciones de registro HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER y HKEY_USERS\\.DEFAULT para buscar servidores proxy configurados localmente.
Si se encuentra un servidor, tanto el protocolo de la URL (http, https, ftp o socks) como la URL completa se almacenan como cadenas en una lista de objetos.
A continuación, Toneshell almacena su dominio de servidor C2 y su dirección IP en un vector de cadenas. La misma IP y puerto codificados se almacenan directamente en una matriz de estructuras SOCKADDR_IN. Luego, el malware recorre las cadenas del servidor C2, resolviendo la dirección IP de cada una de ellas y agregándola a la misma matriz de estructuras SOCKADDR_IN.
Como se observó en variantes anteriores, Toneshell procede a soltar un archivo que contiene un GUID de víctima aleatorio de 16 bytes generado a través de la función Windows _ rand() :
El GUID también se almacena en una estructura junto con la ruta del archivo y el nombre NetBIOS de la víctima.
Los datos anteriores se utilizan para construir un objeto beacon en la memoria. En particular, Toneshell9 realiza cálculos sobre la diferencia en el recuento de ticks de la CPU antes y después del comportamiento de inicialización principal detallado anteriormente. Este valor está normalizado y probablemente se utilice para detectar anomalías en el tiempo de ejecución que podrían indicar un retraso en la ejecución o depuración del sandbox.
La clave XOR de 0x300 bytes se genera a través de _rand() y se utiliza para cifrar los 101 bytes de datos, comenzando en el desplazamiento 0x300. Los datos anteriores se empaquetan en un paquete de datos de aplicación TLS 1.2 falso del siguiente formato:
Durante el bucle principal, Toneshell9 ejecuta una función para establecer una conexión de socket a su servidor C2. Comienza intentando conectarse a través de la primera estructura SOCKADDR_IN. Si eso falla, el malware intenta configurar una conexión de socket a través de cualquiera de los servidores proxy recopilados del registro. Esto se intenta para cada una de las cadenas de direcciones C2, es decir, la dirección IP y el dominio de la muestra analizada anteriormente.
Después de resolver la dirección IP del servidor proxy y conectarse a través de un socket TCP, primero establece los tiempos de espera de envío y recepción en 1 minuto. A continuación, envía la siguiente solicitud de conexión:
Si el servidor proxy devuelve un código de estado 2xx, la conexión se ha establecido correctamente y está lista para el túnel TCP sin procesar. Para verificar la conexión con su servidor C2, Toneshell9 utiliza un protocolo de protocolo de enlace corto, que también transmite la IP y el puerto del servidor en el proceso. Si el protocolo de enlace es exitoso, el identificador del socket se almacena en la estructura C2_CONNECTION y los tiempos de espera del socket se establecen en 2 minutos. Luego, Toneshell envía la primera baliza publicitaria a través del socket.
Espera una respuesta similar de su servidor, que, aparte de los primeros 5 bytes, se cifra a través de la clave XOR transmitida anteriormente:
Al utilizar un proxy ya configurado en un dispositivo infectado, Toneshell puede mezclarse eficazmente con otro tráfico de red. Los entornos empresariales más grandes a menudo imponen el filtrado de salida, lo que solo permite el tráfico a través de puertas de enlace confiables, lo que bloquearía la comunicación directa de C2. La capacidad adicional de Toneshell de eludir este filtrado le permite operar dentro de entornos de red bien seguros.
Al recibir la primera respuesta C2, Toneshell inicia un nuevo hilo que envía balizas de respuesta similares a latidos cada 30 segundos, con el código de respuesta 0x1 y un valor aleatorio de shell_id. Las balizas de respuesta tienen un formato muy similar:
Toneshell9 admite los siguientes códigos de comando:
Código | Descripción |
2 | Omita esta baliza y espere a que se maneje la siguiente. |
3 | Crea una nueva shell inversa y la asigna al shell_id. |
4 | Escriba una cadena de comando en el shell inverso identificado por shell_id |
5 | Cierre el shell inverso identificado por shell_id |
Al igual que en variantes anteriores, se configura un shell inverso utilizando tuberías anónimas conectadas a los manejadores stdin y stdout de un nuevo proceso cmd.exe . Toneshell9 admite dos shells inversos activos en paralelo y utiliza la siguiente estructura para gestionar una conexión de shell:
Para cada shell inverso, se crea un nuevo subproceso para comprobar periódicamente si hay nuevos datos de la canalización de salida estándar y enviarlos de vuelta al servidor C2 en una baliza con el código de respuesta 0x4. Los operadores de Toneshell pueden escribir datos de cadena en la tubería utilizando el shell_id correcto y ejecutar comandos arbitrarios en la máquina. Al cerrar un shell inverso, el proceso conhost.exe identificado por parent_pid también finaliza en la máquina.
En agosto de 2025, X-Force descubrió un gusano USB previamente desconocido que se atribuyó a Hive0154. La DLL de 32 bits se cargó en VirusTotal como "01.dat" de Tailandia y presenta características similares a las de Toneshell9. Ambos se ejecutan a través de la carga lateral de DLL, y todas las exportaciones, excepto DllEntryPoint y el punto de entrada del malware, apuntan a la misma función, que regresa inmediatamente. Ambos también cuentan con mecanismos de resolución de API casi idénticos, lo que es coherente con casi todo el malware relacionado con Toneshell. Al igual que en la muestra de Toneshell9, SnakeDisk también lee un argumento de línea de comandos para seleccionar una de las dos rutas de ejecución posibles:
Para ejecutar la funcionalidad de infección USB, SnakeDisk requiere un archivo de configuración, que busca en el directorio actual del ejecutable principal. Cualquier archivo que se encuentre en ese directorio, a menos que se denomine "Información de volumen del sistema", se agregará a una lista de posibles archivos de configuración. Tonedisk abre y lee cada archivo, probando las siguientes condiciones para Verify el archivo antes de proceder con el descifrado.
SnakeDisk procede descifrando los datos mediante un algoritmo XOR de dos fases probablemente personalizado y una clave de 320 bytes almacenada en un encabezado de 330 bytes.
Finalmente, el malware analiza 18 valores de cadena que definen la configuración del malware. X-Force no pudo recuperar un archivo de configuración; sin embargo, el análisis de SnakeDisk reveló los siguientes propósitos probables de los valores.
Campo de configuración | Propósito |
Versión | Versión de malware utilizada para determinar si un cliente ya infectado debe volver a infectarse con una variante actualizada. |
mutx | Cadena mutex. |
psd | No utilizado en la muestra analizada. Posiblemente equivalente local a "usd": todos los valores "u*" son nombres de archivos/directorios en el USB después de la activación. |
urd | Posiblemente "directorio raíz USB". Nombre del directorio creado en el USB que contiene subdirectorios. |
uud | Posiblemente "directorio de usuarios USB". Nombre del directorio bajo <urd> que contiene los archivos originales de los usuarios del USB. |
USD | Posiblemente "directorio de pruebas USB". Nombre del directorio bajo <urd> que almacena varios componentes maliciosos de SnakeDisk. |
pnex | Posiblemente "ejecutable de nombre principal". Nombre de archivo de un archivo existente en el directorio actual de SnakeDisk durante la ejecución. |
pndl | Posiblemente "nombre principal DLL". Nombre de archivo de un archivo existente en el directorio actual de SnakeDisk durante la ejecución. |
pnen | Posiblemente "nombre principal cifrado". Nombre de archivo de un archivo existente en el directorio actual de SnakeDisk durante la ejecución. |
pnendl | Posiblemente "nombre principal DLL cifrado". Nombre de archivo de un archivo existente en el directorio actual de SnakeDisk durante la ejecución. |
unex | Posiblemente "ejecutable de nombre USB". Nombre de archivo de un archivo copiado de <pnex> a la USB. |
undl | Posiblemente "DLL de nombre USB". Nombre de archivo de un archivo copiado de <pndl> a la USB. |
unen | Posiblemente "nombre USB cifrado". Nombre de archivo de un archivo copiado de <pnen> a la USB. |
unendl | Posiblemente "DLL cifrada con nombre USB". Nombre de archivo de un archivo copiado de <pnendl> a la USB. |
unendl_org | Nombre de archivo de un archivo (probablemente DLL) copiado de <pnendl> al directorio raíz del USB y oculto mediante atributos de archivo. |
unconf | Nombre de archivo de la configuración de SnakeDisk soltada en el USB. |
regkey | Potencialmente se relaciona con un mecanismo de persistencia del registro. No utilizado en la muestra analizada. |
schkey | Potencialmente se relaciona con un mecanismo de persistencia de tareas programadas. No utilizado en la muestra analizada. |
Después de leer correctamente su archivo de configuración, SnakeDisk intentará confirmar que se está ejecutando actualmente en una máquina ubicada en Tailandia. Envía una solicitud HTTP GET a http://ipinfo[.]io/json y comprueba si el campo "país" coincide con "THA" o "TH". Si eso es cierto, la ejecución continúa.
En particular, la ejecución también continuará si se produce un error al resolver las API o durante la comunicación de red.
Luego, SnakeDisk se asegura de que solo se ejecute en una única instancia al intentar abrir un mutex "Global\\<mutx config value>". Si el mutex ya existe, el malware sale; de lo contrario, crea la exclusión mutua a través de CreateMutexW.
Para infectar cualquier unidad USB ya conectada, SnakeDisk comienza a recorrer todas las letras de unidad posibles de AZ. Abre una manilla al volumen físico, como "\\.\A:" y envía el código de control de E/S IOCTL_STORAGE_GET_HOTPLUG_INFO (0x2D0C14) al dispositivo. Si el dispositivo es un dispositivo hotplug de acuerdo con la estructura STORAGE_HOTPLUG_INFO devuelta, inicia un nuevo subproceso para infectar esa unidad.
Después de pasar por todas las letras de unidad, SnakeDisk duerme durante 5 segundos y luego registra una nueva clase de ventana "TestClassName" y crea una ventana correspondiente "TestWindowName". Para recuperar mensajes del sistema operativo, la función crea un bucle de mensajes de Windows utilizando GetMessageW y envía los mensajes al procedimiento de ventana del malware a través de TranslateMessage y DispatchMessageW. Solo sale del bucle cuando recibe un mensaje WM_CAP_PAL_OPEN (0x450). La clase de ventana maliciosa hace referencia a un procedimiento personalizado que escucha el mensaje WM_DEVICECHANGE (0x219), y específicamente los eventos DBT_DEVICEARRIVAL (0x8000) y DBT_DEVICEREMOVECOMPLETE (0x8004).
Si se recibe un mensaje de este tipo, por ejemplo, cuando se conecta un dispositivo USB a la máquina infectada, la función utiliza el campo "dbcv_unitmask" de la estructura DEV_BROADCAST_VOLUME para determinar la letra de unidad del dispositivo correspondiente. Para los dispositivos recién conectados, se inicia un nuevo hilo para infectar la unidad. Si SnakeDisk detecta la eliminación de un dispositivo, inicia un hilo para soltar y ejecutar su carga útil incrustada, lo que inicia la misma ruta de ejecución que habría causado la ejecución de la DLL de SnakeDisk con el argumento de línea de comando "-hope".
El hilo para infectar un dispositivo USB detectado comienza buscando en la unidad un archivo de configuración existente para determinar si ya estaba infectado. Intenta descifrar y analizar una configuración de cualquier archivo con a.dat o .cd extensión. Si se analiza una configuración, el malware compara el número de versión de la unidad ya infectada con la versión de su propia configuración y solo reinfectará las unidades con versiones anteriores de SnakeDisk.
Luego, SnakeDisk lanza otro hilo para mover los archivos existentes en el USB a un nuevo subdirectorio. Básicamente, al ocultar los archivos que un usuario espera en su USB, el malware aumenta la posibilidad de que una víctima crea que el USB aún no se ha abierto y haga clic accidentalmente en el ejecutable armado en una nueva máquina que lleva el mismo nombre que el dispositivo. Después de ejecutarse, el lanzador malicioso copiaba de nuevo los archivos de los usuarios para evitar cualquier sospecha. La ruta que contiene los datos del usuario en un dispositivo infectado se crea a partir de los valores de configuración de la siguiente manera:
El malware puede utilizar dos mecanismos diferentes para la operación; cada uno lanzado en su propio hilo respectivo. El primero utiliza SHFIleOperationW para mover cada archivo y, durante cada operación, también lee 32 bytes de un archivo "C:\\Windows\\Tmp\\msd.log", que se escriben en un archivo "C:\\ProgramData\\app.log" antes de eliminar lo segundo. El propósito de este comportamiento no está claro.
Mientras el hilo se ejecuta, el malware comprueba de manera regular si se completó correctamente durante 30 segundos antes de iniciar un segundo hilo. El segundo hilo utiliza robocopy para mover los archivos y ejecuta el siguiente comando en un nuevo proceso:
Ambos movimientos de archivos excluyen los archivos armados de SnakeDisk y el archivo "Información de volumen del sistema", que debe permanecer en el directorio raíz del disco USB. Después de ejecutar el comando anterior, el mismo comando se inicia nuevamente con dos indicadores adicionales "/IS" y "/XO", para incluir los mismos archivos y excluir los archivos del directorio de origen más antiguos que el destino.
Después de mover los archivos ya existentes en el USB, SnakeDisk copia sus propias cargas útiles desde su directorio actual a la unidad USB. Los siguientes archivos, como se especifica en la configuración, se copian a través de CopyFileW, cada uno en un nuevo hilo:
El nombre del archivo EXE en la raíz de la unidad USB se establece en el nombre del volumen del dispositivo USB, o simplemente "USB.exe" si está vacío. SnakeDisk también establece los atributos SYSTEM y HIDDEN en el archivo copiado en "<drive_letter>:\<unendl_org>". Todos los directorios en el USB también llevan esos atributos, ocultando efectivamente todo excepto el ejecutable. Aunque X-Force no recuperó ninguno de los otros archivos, los gusanos USB anteriores utilizaban la misma técnica para atraer a las víctimas para que hicieran clic en el ejecutable, lo que cargaba una DLL para iniciar la infección. Es probable que el nombre de archivo de esa DLL maliciosa esté almacenado en el valor de configuración "unendl_org". Por último, SnakeDisk escribe su configuración en un nuevo archivo en el USB con el nombre del valor "unconf".
El subproceso de SnakeDisk responsable de soltar y ejecutar su carga útil incrustada se inicia cuando se detecta la eliminación de un dispositivo USB, o al comienzo de la ejecución de SnakeDisk a través del argumento de línea de comando "-hope".
Primero, el hilo lee un archivo de marcador "vm.ini" en su directorio y compara el contenido con su propia ruta actual. Este archivo también se escribe después de la eliminación y ejecución exitosas de cargas útiles e indica si una víctima ya ha sido infectada con la carga útil incrustada de SnakeDisk. Si las rutas coinciden, no se descartarán cargas útiles y el hilo terminará.
Después de la primera verificación, SnakeDisk comienza a soltar una serie de cargas útiles en el directorio "C:\Users\Public\". Cada archivo se construye en la memoria a partir de valores inmediatos en funciones grandes entre 0.6 y 3.3 MB.
Luego, las cargas útiles se descifran mediante una simple operación XOR antes de soltarlas como archivos para:
Estos archivos se concatenan en grupos de tres para producir las dos cargas útiles finales a través de los siguientes comandos:
El nombre de archivo del EXE se crea a partir de 10 letras mayúsculas y números aleatorios. Después de la concatenación, los archivos se eliminan.
Finalmente, el ejecutable se inicia en un nuevo proceso con un argumento de línea de comandos codificado:
Como era de esperarse, el EXE (bb5bb82e5caf7d4dbbe878b75b23f793a5f3c5ca6dba70d8be447e8c004d26ce) es un ejecutable legítimo y firmado (acwebbrowser.exe) que carga de forma paralela el archivo malicioso libcef.dll durante su ejecución.
La carga útil del archivo DLL se identificó como la puerta trasera Yokai, sobre la que informó Netskope en diciembre de 2024. Tras la ejecución, el malware primero busca el argumento "-project-mod" y luego establece la persistencia a través de una tarea programada si el usuario no es miembro del grupo del administrador:
Continúa creando un nuevo mutex " k1tpddvivh74fo1et725okr1c1 " e inicializa una estructura de configuración interna. La variante lanzada por SnakeDisk contiene la cadena de versión " 1.0.0 " y se conecta a un servidor C2 codificado a través de solicitudes HTTP POST:
Como se describe en el análisis de Netskope, Yokai se utiliza para crear un shell inverso a través de canalizaciones anónimas, lo que permite a los operadores ejecutar comandos arbitrarios en la máquina infectada.
Curiosamente, Yokai muestra superposiciones con otras familias de puertas traseras atribuidas a Hive0154, como Pubload/Pubshell y Toneshell. Aunque esas familias son piezas de malware claramente separadas, siguen aproximadamente la misma estructura y utilizan técnicas similares para establecer un shell inverso con su servidor C2.
El análisis de X-Force también reveló fuertes superposiciones entre SnakeDisk y Tonedisk. A lo largo de los años, ha habido varias familias de gusanos USB asociadas con Hive0154. Las variantes estrechamente relacionadas con la familia Toneshell en sus implementaciones son rastreadas por X-Force como Tonedisk. Hasta ahora, se han identificado 3 versiones principales de Tonedisk (A, B y C). Cada una de las versiones de Tonedisk es una suite de diferentes componentes maliciosos que conforman la funcionalidad completa del gusano USB. Estos componentes incluyen lanzadores, cargadores, esparcidores, archivos cifrados, instaladores y puertas traseras.
SnakeDisk se superpone específicamente con la variante ToneDisk A, de la que Checkpoint también informó a mediados de 2023 como WispRider. Los mecanismos de propagación USB del malware, el hash de API y los archivos de configuración muestran varias similitudes, que se alinean con la tendencia conocida de los subclústeres Hive0154 de compartir y reutilizar el malware entre ellos.
X-Force rastrea la actividad en este informe bajo el clúster general Hive0154, que se superpone parcialmente con la actividad publicada como Mustang Panda, Stately Taurus, Camaro Dragon, Twill Typhoon, Polaris, TEMP.Hex y Earth Preta. Este grupo parece mantener un ecosistema de malware considerablemente grande con superposiciones frecuentes tanto en el código malicioso, las técnicas utilizadas durante los ataques como en la orientación. Dentro del clúster paraguas más grande, X-Force separa al menos tres subclústeres de actividad con baja confianza, con cada clúster asociado con una de las cepas centrales de malware PlugX, Toneshell y Pubload. En particular, cada cepa de malware se combina con una infraestructura de gusano USB diferente y una o más variantes de malware de cargador relacionadas, que cambian con mayor frecuencia. Se puede usar el mismo cargador para diferentes cargas útiles, como Toneshell o Pubload, dentro del mismo período de tiempo. Sin embargo, es importante tener en cuenta que el clúster de actividades no indica automáticamente que estén operando como subgrupos separados.
La actividad asociada con el uso de SnakeDisk y la puerta trasera Yokai posiblemente indica otro subclúster de Hive0154. Actualmente parece estar dirigido principalmente a Tailandia, como se desprende de las verificaciones de geolocalización de IP en los informes de SnakeDisk y Netskope.
Hive0154 sigue siendo un actor de amenazas altamente capaz con múltiples subclústeres activos y ciclos de desarrollo frecuentes. X-Force evalúa con gran confianza que los grupos alineados con China, como Hive0154, continuarán perfeccionando su gran arsenal de malware y se dirigirán a organizaciones públicas y privadas de todo el mundo. Es probable que el malware analizado en el informe anterior aún se encuentre en las primeras etapas de desarrollo, lo que permite a los defensores adoptar mecanismos de detección antes de su uso generalizado. Las entidades en riesgo de espionaje Hive0154 deben permanecer en un estado elevado de seguridad defensiva y permanecer alerta con respecto a las técnicas mencionadas en este informe y examinar las siguientes recomendaciones:
Indicador | Tipo de indicador | Contexto |
F8B28CAE687BD55A148D363D58F1 | SHA256 | Archivo armado que entrega Toneshell8 |
8132beeb25ce7baed0b561922d26 | SHA256 | Archivo armado que entrega Toneshell8 |
d1466dca25e28f0b7fae71d5c2abc0 | SHA256 | Archivo armado que entrega Toneshell8 |
1272a0853651069ed4dc505007e85 | SHA256 | Archivo armado que entrega Toneshell8 |
b8c31b8d8af9e6eae15f30019e39c | SHA256 | Archivo armado que entrega Toneshell7 |
7087e84f69c47910fd39c3869a70 | SHA256 | Archivo armado que entrega Pubload |
38fcd10100f1bfd75f8dc0883b0c | SHA256 | Archivo armado que entrega Pubload |
69cb87b2d8ee50f46dae791b5a0 | SHA256 | PDF que contiene la URL de descarga para el archivo armaponizado |
564a03763879aaed4da8a8c1d60 | SHA256 | Loader inyectando Toneshell7 |
e4bb60d899699fd84126f9fa0df | SHA256 | Cargador inyectando Pubload |
c2d1ff85e9bb8feb14fd015dcee1 | SHA256 | Cargador inyectando Pubload |
188.208.141[.]196 | ipv4 | Servidor C2 de Pubload |
bdbc936ddc9234385317c4ee83 | SHA256 | Puerta trasera Toneshell8 |
f0fec3b271b83e23ed7965198f3b | SHA256 | Puerta trasera Toneshell8 |
e7b29611c789a6225aebbc9fee37 | SHA256 | Puerta trasera Toneshell8 |
9ca5b2cbc3677a5967c448d9d21 | SHA256 | Puerta trasera Toneshell8 |
146.70.29[.]229 | ipv4 | Servidor Toneshell7/Toneshell8 C2 |
318a1ebc0692d1d012d20d306 | SHA256 | Puerta trasera Toneshell9 |
0d632a8f6dd69566ad98db56 | SHA256 | Archivo armado que entrega Toneshell9 |
39e7bbcceddd16f6c4f2fc2335a | SHA256 | Archivo armado que entrega Toneshell9 |
05eb6a06b404b6340960d7a6 | SHA256 | Loader que contiene la bifurcación Toneshell que sirvió como base para Toneshell9 |
123.253.34[.]44 | ipv4 | Servidor Toneshell9 C2 |
www.slickvpn[.]com | Dominio | Servidor Toneshell9 C2 |
dd694aaf44731da313e4594d | SHA256 | Gusano USB SnakeDisk |
bb5bb82e5caf7d4dbbe878b7 | SHA256 | Carga útil EXE benigna de SnakeDisk utilizada para la carga local de DLL Yokai |
35bec1d8699d29c27b66e564 | SHA256 | DLL de puerta trasera de Yokai |
http://118.174.183[.]89/kptinfo | URL | Servidor Yokai C2 |
IBM® X-Force Premier Threat Intelligence ahora está integrado con OpenCTI by Filigran, brindando inteligencia de amenazas aplicable en la práctica sobre esta actividad de amenazas y más. Acceda a insights sobre actores de amenazas, malware y riesgos de la industria. Instale X-Force OpenCTI Connector para mejorar la detección y la respuesta, fortaleciendo su ciberseguridad con la experiencia de IBM X-Force. ¡Obtenga una prueba de 30 días de X-Force Premier Threat Intelligence hoy mismo!