En julio de 2025, IBM X-Force descubrió nuevo malware atribuido al actor de amenazas Hive0154. 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 abre 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 está formado por múltiples subgrupos y participa en ciberataques dirigidos a organizaciones públicas y privadas, incluidos think tanks, grupos políticos, agencias gubernamentales y particulares. La observación de X-Force del uso por parte del grupo de múltiples cargadores de malware personalizados, backdoors y familias de gusanos USB muestra sus capacidades. La actividad de Hive0154 se solapa con la de los actores maliciosos conocidos 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 subidos a VirusTotal desde Singapur y Tailandia:
Nombre de archivo | DLL malicioso | Servidor C2 | Fecha |
Meeting Venue Request Information.zip | Cargador que inyecta código shell Pubload | 188.208.141[.] | 21 de mayo |
Hotel Booking Request.7z | Toneshell8 | 146.70.29[.] | 3 de julio |
Cyber_Safety_ | Toneshell8 | 146.70.29[.] | 30 de julio |
TNLA နှင့် အခြားတော်လှန်ရေးအင်အားစုများ.rar (traducido del birmanés: "TNLA y otras fuerzas revolucionarias") | Toneshell8 | 146.70.29[.] | 30 de julio |
Scan(08-02-205).zip | Toneshell8 | 146.70.29[.] | 5 de agosto |
Notes.rar | Cargador que inyecta código shell Pubload | 188.208.141[.] | 21 de agosto |
CallNotes.zip | Cargador inyectando código shell de Toneshell7 | 146.70.29[.] | 4 de septiembre |
Se observó que Hive0154 utilizaba un nuevo cargador para inyectar de forma reflexiva Pubload o Toneshell7, así como implementar directamente la variante Toneshell8, más ofuscada. La variante más reciente de Pubload ha sufrido cambios menores y ahora admite servidores C2 señuelo 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 la nube de Box a través de un enlace en un señuelo PDF que suplantaba al Ministerio de Asuntos 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 otras campañas dirigidas a Tailandia en diciembre de 2024.
Dada la historia anterior del uso de la puerta trasera Yokai contra Tailandia, el descubrimiento del último gusano USB parecía coincidir con los recientes acontecimientos geopolíticos que rodean a Tailandia:
Tradicionalmente, la República Popular China (RPC) ha sido una benefactora de Camboya, ya que ha suministrado armas e invertido miles de millones en proyectos de infraestructura. Los recientes acontecimientos geopolíticos podrían haber impulsado a Hive0154 a iniciar operaciones contra Tailandia. La implementación 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 brecha de aire, a menudo empleados en redes del gobierno.
X-Force observó por primera vez la versión 8 de Toneshell en marzo de 2025. Su comportamiento es muy similar al de la versión 7 anterior, pero contiene actualizaciones menores para eludir 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) por una implementación personalizada del generador lineal congruencial (LCG) utilizando diferentes constantes, por ejemplo:
Los PRNG se utilizan en Toneshell para generar un ID de víctima, claves de cifrado de tráfico C2 y verificar 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 mencionadas y solo produce 11 estados diferentes para la mayoría de las semillas.
Por último, los códigos de respuesta codificados enviados 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 importantes y no tiene ninguna detección 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 lateral. El archivo RAR armado contiene un archivo BAT, que inicia un ejecutable legítimo "USBSRService.exe" con un argumento de línea de comando "-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 "-Embedding", 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 tics de CPU, almacena el resultado como una cadena y lo desasigna de nuevo.
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 el mismo puerto codificados se almacenan directamente en una serie de estructuras SOCKADDR_IN. A continuación, el malware recorre las cadenas del servidor C2, resolviendo la dirección IP de cada una de ellas y añadiéndola a la misma matriz de estructuras SOCKADDR_IN.
Como se ha observado 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 de baliza en la memoria. En particular, Toneshell9 realiza cálculos sobre la diferencia en el recuento de tics de la CPU antes y después del comportamiento de inicialización principal detallado anteriormente. Este valor está normalizado y es probable que se utilice para detectar anomalías en el tiempo de ejecución que podrían indicar un retraso en la ejecución en un entorno aislado o en la depuración.
La clave XOR de 0x300 bytes se genera mediante _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 establecer 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.
Tras resolver la dirección IP del servidor proxy y conectarse mediante un socket TCP, primero establece los tiempos de espera de envío y recepción a 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 con éxito y está lista para el túnel TCP en bruto. Para verificar la conexión con su servidor C2, Toneshell9 utiliza un protocolo de enlace corto, transmitiendo también la IP y el puerto del servidor en el proceso. Si el handshake tiene éxito, el handle del socket se almacena en la struct C2_CONNECTION y los tiempos de espera del socket se fijan en 2 minutos. A continuación, 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 suelen aplicar el filtrado de salida, lo que solo permite el tráfico a través de puertas de enlace de confianza, lo que bloquearía la comunicación C2 directa. La capacidad añadida de Toneshell de eludir este filtrado le permite operar en entornos de red bien protegidos.
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 shell_id aleatorio. Las balizas de respuesta tienen un formato muy similar:
Toneshell9 admite los siguientes códigos de comando:
Codifique | Descripción |
2 | Omite esta baliza y espera a que se maneje la siguiente. |
3 | Crea una nueva shell inversa y la asigna al shell_id. |
4 | Escribe una cadena de comandos en la shell inversa identificada por el shell_id |
5 | Cierra el shell inverso identificado por el shell_id |
De forma similar a las 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 canalización 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 mediante carga lateral de DLL, y todas las exportaciones, excepto DllEntryPoint y el punto de entrada del malware, apuntan a la misma función, que inmediatamente vuelve. Además, ambos presentan mecanismos de resolución de API casi idénticos, lo que coincide con casi todo el malware relacionado con Toneshell. Al igual que en el ejemplo 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 y prueba las siguientes condiciones para verificar el archivo antes de continuar con el descifrado.
SnakeDisk procede a descifrar los datos utilizando un algoritmo XOR de 2 fases probablemente personalizado y una clave de 320 bytes almacenada en una cabecera de 330 bytes.
Por último, 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 | Objetivo |
Versión | Versión de malware utilizada para determinar si un cliente ya infectado debe reinfectarse con una variante actualizada. |
mutx | Cadena de mutex. |
psd | No se utiliza 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 militarización. |
urd | Posiblemente "directorio raíz USB". Nombre de directorio creado en el USB que contiene subdirectorios. |
uud | Posiblemente "directorio de usuarios USB". Nombre del directorio en <urd> que contiene los archivos originales de los usuarios del USB. |
usd | Posiblemente "directorio de staging USB". Nombre del directorio bajo <urd> que almacena varios componentes maliciosos de SnakeDisk. |
pnex | Posiblemente "nombre principal ejecutable". 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 "nombre USB ejecutable". Nombre de archivo de un archivo copiado de <pnex> al USB. |
undl | Posiblemente "DLL de nombre USB". Nombre de archivo de un archivo copiado de <pndl> al USB. |
unen | Posiblemente "nombre USB cifrado". Nombre de archivo de un archivo copiado de <pnen> al USB. |
unendl | Posiblemente "DLL cifrado con nombre USB". Nombre de archivo de un archivo copiado de <pnendl> al 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 soltado en el USB. |
regkey | Se relaciona potencialmente con un mecanismo de persistencia del registro. No se utiliza en la muestra analizada. |
schkey | Potencialmente se relaciona con un mecanismo de persistencia de tareas programadas. No se utiliza en la muestra analizada. |
Tras leer correctamente su archivo de configuración, SnakeDisk intentará confirmar que se está ejecutando actualmente en un equipo con sede 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.
A continuación, SnakeDisk se asegura de que solo se ejecute en una única instancia intentando 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 que ya esté conectada, SnakeDisk empieza a recorrer todas las letras de unidad posibles de la A a la Z. Abre un identificador del 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 según 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 los mensajes del sistema operativo, la función crea un bucle de mensajes de Windows mediante GetMessageW y envía los mensajes al procedimiento de ventana del malware mediante TranslateMessage y DispatchMessageW. Solo sale del bucle cuando recibe un mensaje WM_CAP_PAL_OPEN (0x450). La clase 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 una extensión a.dat o .cd . 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.
A continuación, SnakeDisk lanza otro hilo para mover los archivos existentes en el USB a un nuevo subdirectorio. Al ocultar esencialmente los archivos que el usuario espera en su USB, el malware aumenta la probabilidad de que la 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 con el mismo nombre que el dispositivo. Tras la ejecución, el lanzador malicioso volvía a copiar los archivos de los usuarios para evitar cualquier sospecha. La ruta que contiene los datos del usuario en un dispositivo infectado se construye a partir de los valores de configuración como:
El malware puede usar dos mecanismos diferentes para la operación; cada uno se lanzaba en su propio hilo. 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\\aplicación.log" antes de eliminar lo segundo. El propósito de este comportamiento no está claro.
Mientras el hilo se ejecuta, el malware comprueba regularmente si se ha completado 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 de nuevo 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 pasa a copiar sus propias cargas útiles desde su directorio actual a la unidad USB. Los siguientes archivos, tal 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 del 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 usaban la misma técnica para atraer a las víctimas a hacer clic en el ejecutable, que cargaba manualmente 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 hilo de SnakeDisk responsable de soltar y ejecutar su carga útil incrustada se lanza cuando se detecta la eliminación de un dispositivo USB, o al inicio de la ejecución de SnakeDisk mediante el argumento de línea de comandos "-hope".
En primer lugar, 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 colocar y ejecutar correctamente las cargas útiles e indica si la víctima ya se ha infectado con la carga útil integrada de SnakeDisk. Si las rutas coinciden, no se descartará ninguna carga útil y el hilo terminará.
Tras la primera comprobación, SnakeDisk comienza a lanzar una serie de cargas útiles al 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.
A continuación, las cargas útiles se descifran a través de 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 mediante 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.
Por último, el ejecutable se lanza en un nuevo proceso con un argumento de línea de comandos codificado:
No es de extrañar que el EXE (bb5bb82e5caf7d4dbbe878b75b23f793a5f3c5ca6dba70d8be447e8c004d26ce) sea un ejecutable legítimo y firmado (acwebbrowser.exe) que carga lateralmente el libcef.dll malicioso durante la ejecución.
La carga útil de la DLL se identificó como la puerta trasera de Yokai, según 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:
A continuación, crea un nuevo mutex "k1tpddvivh74fo1et725okr1c1" e inicializa una estructura de configuración interna. La variante que elimina SnakeDisk contiene la cadena de versión "1.0.0" y llega a un servidor C2 codificado directamente mediante 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 solapamientos con otras familias de backdoor 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 a Hive0154. X-Force rastrea las variantes fuertemente relacionadas con la familia Toneshell en sus implementaciones como Tonedisk. Hasta ahora, se han identificado 3 versiones principales de Tonedisk (A, B y C). Cada una de las versiones de Tonedisk es un conjunto de diferentes componentes maliciosos que conforman la funcionalidad completa del gusano USB. Estos componentes incluyen lanzadores, cargadores, separadores, 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. Tanto los mecanismos de propagación USB del malware como el hash de API y los archivos de configuración muestran varias similitudes, que se alinean con la conocida tendencia de los subclústeres Hive0154 a compartir y reutilizar el malware entre ellos.
X-Force rastrea la actividad en este informe bajo el clúster paraguas 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 bastante amplio, con frecuentes solapamientos tanto en código malicioso, técnicas utilizadas durante ataques como en la segmentació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 a una de las cepas centrales de malware PlugX, Toneshell y Pubload. En particular, cada cepa de malware se combina con un marco de gusano USB diferente y una o más variantes de malware de cargador relacionadas, que cambian con más frecuencia. Se puede utilizar 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 indique otro subclúster de Hive0154. Actualmente parece estar dirigido principalmente a Tailandia, como se desprende de las comprobaciones 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 apuntando a organizaciones públicas y privadas de todo el mundo. Es probable que el malware analizado en el informe anterior se encuentre aún en una fase temprana de desarrollo, lo que permitirá 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 revisar las siguientes recomendaciones:
Indicador | Tipo de indicador | Contexto |
F8B28CAE687BD55A148D363D58F1 | SHA256 | Archivo armado que entrega Toneshell 8 |
8132beeb25ce7baed0b561922d26 | SHA256 | Archivo armado que entrega Toneshell 8 |
d1466dca25e28f0b7fae71d5c2abc0 | SHA256 | Archivo armado que entrega Toneshell 8 |
1272a0853651069ed4dc505007e85 | SHA256 | Archivo armado que entrega Toneshell 8 |
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 del archivo armado |
564a03763879aaed4da8a8c1d60 | SHA256 | Loader inyectando Toneshell7 |
e4bb60d899699fd84126f9fa0df | SHA256 | Loader inyectando Pubload |
c2d1ff85e9bb8feb14fd015dcee1 | SHA256 | Loader 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 C2 Toneshell7/Toneshell8 |
318a1ebc0692d1d012d20d306 | SHA256 | Puerta trasera Toneshell9 |
0d632a8f6dd69566ad98db56 | SHA256 | Archivo armado que entrega Toneshell9 |
39e7bbcceddd16f6c4f2fc2335a | SHA256 | Archivo armado que entrega Toneshell9 |
05eb6a06b404b6340960d7a6 | SHA256 | Cargador que contiene la bifurcación Toneshell que sirvió de base para Toneshell9 |
123.253.34[.]44 | IPv4 | Servidor C2 de Toneshell9 |
www.slickvpn[.]com | Dominio | Servidor C2 de Toneshell9 |
dd694aaf44731da313e4594d | SHA256 | Gusano USB de SnakeDisk |
bb5bb82e5caf7d4dbbe878b7 | SHA256 | La carga útil EXE benigna de SnakeDisk se usa para la instalación de DLL en 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, proporcionando inteligencia de amenazas procesable sobre esta actividad de amenazas y más. Acceda a conocimientos sobre los actores de amenazas, el malware y los riesgos del sector. Instale X-Force OpenCTI Connector para mejorar la detección y la respuesta, reforzando su ciberseguridad con la experiencia de IBM X-Force. ¡Obtenga una prueba de 30 días de X-Force Premier Threat Intelligence hoy mismo!