Los investigadores de ESET analizan una puerta trasera desplegada en ataques contra múltiples agencias gubernamentales y organizaciones importantes que operan en dos sectores críticos de infraestructura en Asia
En este blog conjunto con colegas investigadores de Avast, proporcionamos un análisis técnico de una RAT constantemente desarrollada que se ha utilizado en varias campañas dirigidas contra sujetos públicos y privados desde finales de 2017. Observamos múltiples instancias de ataques que involucran esta RAT, y todas ellas ocurrieron en Asia Central. Entre los temas seleccionados se encontraban varias compañías importantes en las industrias de telecomunicaciones y gas, y entidades gubernamentales.
Además, conectamos los puntos entre la última campaña y tres informes publicados anteriormente: Kaspersky’s Microcina contra personal militar ruso, BYEBY de Palo Alto Networks contra el gobierno bielorruso y el punto de control Panda vicioso contra el sector público mongol. Además, analizamos otro malware que normalmente formaba parte del conjunto de herramientas del atacante junto con la RAT. Elegimos el nombre Mikroceen para cubrir todas las instancias de la RAT, en reconocimiento del informe inicial de Kaspersky sobre la familia. La falta de ortografía es intencional, para evitar lo establecido noción microbiológica, pero también para tener al menos un acuerdo fonémico.
Agrupamiento
Primero, analicemos la agrupación de Mikroceen, que es una RAT simple, y muestremos nuestras razones para pensar que los informes de Kaspersky, Palo Alto Networks y Checkpoint escriben sobre la misma familia específica de malware (entre otras herramientas maliciosas mencionadas). La Figura 1 proporciona una comparación del bucle de descifrado que se utiliza para los datos de configuración que consisten en el dominio C&C, un nombre y una contraseña asociados con cada muestra de la RAT. El bucle es prácticamente el mismo y se implementa en tres copias seguidas. Checkpoint también discutió las similitudes de los encabezados HTTP en las secciones de datos entre BYEBY y Vicious Panda, y un mensaje de registro compartido V09SS0lO que base64 decodifica a TRABAJAR EN. La cadena codificada también está presente en Microcin.

Figura 1. Parte del código utilizado para descifrar datos internos; el nombre de la DLL exportada se encuentra en la parte inferior
En la sección Arsenal de los atacantes a continuación también comparamos las gramáticas de comandos de las características de RAT y los mensajes de error típicos que se registran durante la ejecución con sus instancias anteriores. Para respaldar la evidencia, el proveedor preferido de la infraestructura de los atacantes y el malware más típico encontrado simultáneamente en las redes comprometidas. Todas estas pistas deberían evocar una fuerte confianza de que es la misma familia de malware.
Cronología y victimología
La Figura 2 esboza la evolución de cómo se rastreó la amenaza a tiempo. Como mencionamos anteriormente, la región de Asia Central se unió a Rusia, Bielorrusia y Mongolia como áreas con víctimas de intrusiones de Mikroceen. Estas víctimas no eran usuarios de escritorio, sino puntos finales en redes corporativas donde se espera un mayor nivel de seguridad.
Arsenal de los atacantes
Describamos las herramientas que usaron los atacantes en su campaña en Asia Central. Desafortunadamente, no pudimos descubrir cómo entraron en las redes comprometidas.
RAT (puerta trasera del lado del cliente)
Una vez que los intrusos establecen un punto de apoyo en una máquina víctima, el código de la Figura 4 sirve para instalar la RAT en el sistema. Tenga en cuenta el parámetro inicio = auto, que establece la persistencia del malware después de un reinicio.
@echo off
sc detener PCAudit
sc eliminar PCAudit
sc create PCAudit binpath = "C: WINDOWS syswow64 svchost.exe -k netsvcs" type = share start = auto displayname = "Windows Upload Manager"
sc descripción PCAudit "El Servicio de Ayuda de Windows es un componente de Microsoft Windows para el Sistema (Importante). Si este servicio se detiene, los usuarios no podrán obtener información útil"
sc error PCAudit reset = 0 acciones = reiniciar / 0
reg agregar HKLM SYSTEM CurrentControlSet Services PCAudit Parameters / v ServiceDll / t REG_EXPAND_SZ / d% SystemRoot% Syswow64 pcaudit.dll
reg agregar HKLM SYSTEM CurrentControlSet Services PCAudit Parameters / v ServiceMain / t REG_SZ / d NtHelpServiceMain
reg agregar HKLM SYSTEM CurrentControlSet Services PCAudit Parameters / v ServiceDllUnloadOnStop / t REG_DWORD / d 1
sc inicia PCAudit
del% 0
@ @eco apagado Carolina del Sur detener PCAudit Carolina del Sur Eliminar PCAudit Carolina del Sur crear PCAudit binpath= "C: WINDOWS syswow64 svchost.exe -k netsvcs" tipo= compartir comienzo= auto nombre para mostrar= "Administrador de carga de Windows" Carolina del Sur descripción PCAudit "El Servicio de Ayuda de Windows es un componente de Microsoft Windows para el Sistema (Importante). Si este servicio se detiene, los usuarios no podrán obtener información útil" Carolina del Sur fracaso PCAudit Reiniciar= 0 0 comportamiento= reiniciar/ /0 0 reg añadir HKLMSISTEMACurrentControlSetServiciosPCAuditParámetros / /v ServiceDll / /t REG_EXPAND_SZ / /re %SystemRoot%Syswow64pcaudit.dll reg añadir HKLMSISTEMACurrentControlSetServiciosPCAuditParámetros / /v ServiceMain / /t REG_SZ / /re NtHelpServiceMain reg añadir HKLMSISTEMACurrentControlSetServiciosPCAuditParámetros / /v ServiceDllUnloadOnStop / /t REG_DWORD / /re 1 Carolina del Sur comienzo PCAudit del %0 0 |
Figura 4. Código de lote de instalación
Como mencionamos anteriormente, cada bot viene con datos de configuración: C&C, nombre del cliente y contraseña del cliente. El nombre del bot aparece en la interfaz del lado del servidor. Lo que es bastante inusual es que un operador necesita autenticarse ingresando la contraseña del cliente para controlarlo. Solo podemos especular sobre el propósito, pero podría servir como protección contra la toma de control de botnets, en caso de que un actor en competencia o la policía confisque su infraestructura. Entonces, vemos que se puso cierto esfuerzo en la seguridad de la conexión cliente-servidor. Además, el cliente puede conectarse directamente al servidor de C&C o enrutar el tráfico a través de un proxy, lo que podría ser útil, especialmente en redes corporativas. La conexión está asegurada por un certificado y esta es una característica que distingue a Mikroceen de la legión de puertas traseras que hemos visto anteriormente.
Mikroceen utiliza las mismas características básicas que ya describió Palo Alto Networks sobre BYEBY. La gramática de los comandos es bastante específica, porque cada comando se trunca a 6 letras y luego se codifica en base64. Eso da como resultado una palabra incomprensible de 8 letras en el código. Mientras que en casos anteriores la codificación era sencilla, en la campaña en Asia Central se agregó una capa de encriptación desconocida adicional. La conexión de las palabras de 8 letras con los comandos en ese caso se realizó por acuerdo en el nivel de código.
Mando | Microcina, BYEBY, Vicious Panda | Mikroceen |
---|---|---|
¡Hola! | aGVsbG8h | AmbZDkEx |
BUENO POR | R09PREJZ | eYTS5IwW |
ADIOS | QllFIEJZ | bo7aO8Nb |
DISCON | RElTQ09O | 6GEI6owo |
LISTA D | TElTVCBE | Ki0Swb7I |
STARTC | U1RBUlRD | h71RBG8X |
COMAN | Q09NTUFO | 5fdi2TfG |
TRANSF + (CARGAR, DESCARGAR) | VFJBTlNG + (VVBMT0FE, RE9XTkxP) | J8AoctiB + (QHbU0hQo, hwuvE43y) |
EJECUTAR | RVhFQ1VU | gRQ7mIYr |
Tabla 1. Gramática de comandos de varias instancias de la RAT
Durante la ejecución, el cliente registra los mensajes de depuración en un archivo temporal. Esto varía entre varias instancias de Mikroceen. La Tabla 2 proporciona una comparación de estos mensajes de un caso a otro y proporciona evidencia adicional que vincula las instancias de Mikroceen.
Microcina | ADIOS | Panda vicioso | Mikroceen | ||
---|---|---|---|---|---|
32 bits | 64 bits | ||||
Carpeta | % CSIDL_COMMON_DOCUMENTS% | %TEMPERATURA% | % CSIDL_COMMON_DOCUMENTS% | %TEMPERATURA% | %TEMPERATURA% |
Nombre del archivo | 7B296FB0.CAB | vmunisvc.cab | 5E8C6FF0.CAB | 7B296FB0.CAB | W52G86ST.TMP |
Palabras clave en main | V09SS0lO U3RhcnQ = |
V09SS0lO U3RhcnQ = |
V09SS0lO U3RhcnQ = |
V09SS0lO | GvFa8Sei |
Palabra clave en conectar | ZGlyZWN0 | ZGlyZWN0 | ZGlyZWN0 | wfZ155bJ | wfZ155bJ |
Tabla 2. Mensajes de registro en un archivo temporal
Malware que se produce simultáneamente
Los informes anteriores siempre mencionan un amplio arsenal de herramientas que se utilizan en los ataques. En nuestro caso, fue lo mismo, no solo Mikroceen, sino también otro malware. Estas son las tres herramientas más importantes que observamos en las redes comprometidas.
Movimiento lateral a través de Mimikatz
Los atacantes utilizaron su implementación de Mimikatz, entregada a través de un mecanismo de dos etapas: la primera etapa era un cuentagotas que generalmente se llamaba installer.exe o Yokel64.exe, que dejó caer la carga principal con un nombre indicativo externo de DLL mktz64.dll En la segunda etapa. Si bien Mikroceen nunca ha venido con información de depuración, aquí podemos ver la cadena E: 2018_ MimHash mimikatz Bin mktzx64.pdb
Mimikatz es un proyecto de código abierto del investigador de seguridad francés Benjamin Delpy, desarrollado desde 2007. Es una herramienta robusta que, entre otras cosas, puede omitir varios esquemas de autenticación de Windows, básicamente mediante el volcado de datos de credenciales de la base de datos de la cuenta de seguridad local de Windows. Es utilizado principalmente por los equipos rojos en seguridad de TI, pero también se usa de manera indebida en todo el espectro de actores de APT, p. Grupo Lázaro, Telebots, Okrum etc. Después de ejecutarlo en un entorno virtual de prueba, su salida es (los espacios incorrectos antes de las comas están en el original):
# 1 dominio = MSEDGEWIN10, usuario = Administrador, nthash = FC525C9683E8FE067095BA2DDC971889.
# 2 dominio = MSEDGEWIN10, usuario = IEUser, nthash = FC525C9683E8FE067095BA2DDC971889.
# 1 dominio = MSEDGEWIN10, usuario = Administrador, nthash = FC525C9683E8FE067095BA2DDC971889. # 2 dominio = MSEDGEWIN10, usuario = IEUser, nthash = FC525C9683E8FE067095BA2DDC971889. |
Movimiento lateral a través de WMI
Los atacantes usan una herramienta adicional para propagarse en la red de alojamiento. Esta vez aprovechan el Instrumental de administración de Windows (WMI). Todos los datos relevantes son necesarios como el nombre del archivo, ya que durante la ejecución espera @@
Gh0st RAT
Esta infame, vieja rata fue creado alrededor de 2008. En este caso, se encontró como rastls.dll en los sistemas comprometidos, mientras que el nombre de la DLL exportada suele ser svchost.dll. Intenta conectarse con https: //yuemt.zzux (.) com: 443, que se resuelve en una dirección IP en China. Esta es una excepción sin explicación, porque el servidor no pertenece a ninguno de los proveedores de C&C utilizados por Mikroceen. Desde nuestro punto de vista, parece redundante usar esta puerta trasera adicional, cuya capacidad es totalmente proporcionada por Mikroceen.
Para reconocer esta puerta trasera, uno observa la cuerda Gh0st dentro del binario La cadena de caracteres uwqixgze} se utiliza como marcador de posición para el dominio de C&C.
Panel C&C (interfaz del lado del servidor)
Los informes anteriores ya mencionan la pobre seguridad operativa de los atacantes (Kaspersky y Checkpoint observaron sus directorios abiertos), y los actores detrás continúan filtrando herramientas que no necesariamente se aprovechan del lado de las víctimas. Pudimos obtener una versión anterior del panel de control de RAT. En la parte inferior de la Figura 7 hay una interfaz gráfica a través de la cual se ordenan todos los bots. Es muy minimalista, lo que puede deberse a una versión anterior de 2017, pero aún así, simplemente compárelo con el panel de más de 10 años de Gh0st RAT. No ha mejorado mucho desde entonces, visual o funcionalmente, por lo que la introducción de conexiones SSL parece ser el cambio principal entre los proyectos (el cuadro de texto para "Nombre CN" en la figura). Parece que los operadores de la botnet son clientes contentos de los servicios de Vultr, una empresa secundaria de Choopa LLC, ya que su infraestructura operativa está alojada principalmente allí, y esto también fue observado en la campaña de Vicious Panda por Checkpoint. Este es un proveedor a prueba de balas, documentado por investigadores de Cisco ya en 2015.

Conclusión
Hemos presentado el análisis de una implementación personalizada de un modelo cliente-servidor desarrollado con fines de espionaje. Los desarrolladores de malware pusieron un gran esfuerzo en la seguridad y la solidez de la conexión con sus víctimas y los operadores lograron penetrar redes corporativas de alto perfil. Además, tienen un conjunto de herramientas más grande de herramientas de ataque a su disposición y sus proyectos están en constante desarrollo, principalmente visibles como variaciones en la ofuscación.
Indicadores de compromiso (IoC)
Aquí están los hash de las muestras descritas en el artículo. Se pueden encontrar IoC adicionales recopilados de los ataques en GitHub de ESET o GitHub de Avast.
SHA | Marca de tiempo | Descripción | Nombre de detección de ESET |
---|---|---|---|
d215bb8af5581b31f194248fc3bd13d999a5991c | 2016-06-29 00:34:42 | Microcina (Kaspersky) 7771e1738fc2e4de210ac06a5e62c534 |
Win32 / Mikroceen.A |
7a63fc9db2bc1e9b1ef793723d5877e6b4c566b8 | 2017-07-06 08:15:31 | BYEBY (PANW) 383a2d8f421ad2f243cbc142e9715c78f867a114b037626c2097cb3e070f67d6 | Win32 / Mikroceen.B |
2f80f51188dc9aea697868864d88925d64c26abc | 2017-01-28 11:33:43 | Panda vicioso (punto de control) | Win32 / Mikroceen.C |
302cf1a90507efbded6b8f53e380591a3eaf6dcb | 2019-04-25 01:15:40 | Mikroceen de 32 bits | Win32 / Mikroceen.H |
21ffd24b8074d7cffdf4cc339d1fa8fe892eba27 | 2018-12-10 07:46:25 | Mikroceen de 64 bits | Win64 / Mikroceen.C |
5192023133dce042da8b6220e4e7e2e0dcb000b3 | 2019-03-11 12:14:09 | Mimikatz | Win64 / Riskware.Mimikatz.AQ |
c18602552352fee592972603262fe15c2cdb215a | 2015-03-16 03:29:39 | Movimiento lateral a través de WMI | Win32 / HackTool.Agent.NEZ |
4de4b662055d3083a1bccf2bc49976cdd819bc01 | 2015-12-31 03:10:15 | Gh0st RAT | Win32 / Farfli.CSY |
Referencias
- Vasily Berdnikov, Dmitry Karasovsky, Alexey Shulmin: "Microcin malware", Kaspersky Labs 2017-9-25
- Josh Grunzweig, Robert Falcone: "Los actores de la amenaza se dirigen al gobierno de Bielorrusia utilizando el troyano CMSTAR”, Septiembre de 2017
- Investigación del punto de control: "Panda vicioso: la campaña COVID”, 2020-03-12
- SecDev Group y Citizenlab, "Rastreando GhostNet: Investigando una Red de Ciberespionaje", Marzo de 2009,
- Dhia Mahjoub, Jeremiah O'Connor, Thibault Reuille, Thomas Mathew: "Phishing, espionaje y mal alojamiento", Cisco Umbrella Blog, 14/09/2015
- "Mimikatz: una pequeña herramienta para jugar con la seguridad de Windows"
- Peter Kálnai, Anton Cherepanov. "Lazarus KillDisks casino centroamericano", WeLiveSecurity.com, abril de 2018
- Anton Cherepanov, Robert Lipovský: "Nueva puerta trasera de TeleBots: primera evidencia que vincula a Industroyer con NotPetya", WeLiveSecurity.com, octubre de 2018
- Zuzana Hromcová: "Okrum: el grupo Ke3chang apunta a misiones diplomáticas", WeLiveSecurity.com, julio de 2019
- Avast Threat Intelligence, Repositorio de GitHub
- Inteligencia de amenazas de ESET, Repositorio de GitHub
Técnicas MITRE ATT y CK
Táctica | CARNÉ DE IDENTIDAD | Nombre | Descripción |
---|---|---|---|
Ejecución | T1035 | Ejecución de servicio | La RAT está configurada para ejecutarse como un servicio al inicio a través de sc.exe. |
T1059 | Interfaz de línea de comandos | La RAT puede ejecutar una línea de comando. | |
T1064 | Scripting | Los atacantes utilizaron scripts por lotes para la instalación y ejecución de malware. | |
T1105 | Copia remota de archivos | La RAT puede descargar archivos a la máquina de la víctima. | |
T1106 | Ejecución a través de API | La RAT lanza la consola de Windows a través de Proceso de creación. | |
Persistencia | T1050 | Nuevo servicio | La RAT se ejecuta automáticamente. |
Evasión de defensa | T1136 | Disfraces | La RAT se disfraza de varios tipos de servicios legítimos. |
T1140 | Desobuscar / decodificar archivos o información | Los comandos de la RAT y algunos de sus componentes están codificados / encriptados. | |
Descubrimiento | T1082 | Descubrimiento de información del sistema | La RAT envía información, como la versión del sistema operativo que se mostrará, en el panel del operador. |
T1016 | Descubrimiento de configuración de red del sistema | La RAT recopila información de red, incluida la dirección IP del host y la información de proxy. | |
T1033 | Propietario del sistema / descubrimiento de usuarios | La RAT envía información, como el nombre de usuario que se mostrará, en el panel del operador. | |
Acceso de credenciales | T1103 | Descarga de credenciales | Mimikatz se usa en el ataque. |
Comando y control | T1032 | Protocolo criptográfico estándar | La RAT usa SSL para encriptar las comunicaciones C2. |
T1043 | Puerto de uso común | La RAT usa el puerto 443. | |
T1071 | Protocolo de capa de aplicación estándar | La RAT utiliza la implementación Schannel de SSL. | |
T1001 | Ofuscación de datos | La interfaz de RAT controla al cliente con comandos ofuscados. | |
T1030 | Conexión Proxy | La RAT tiene una opción de proxy que enmascara el tráfico entre el malware y los operadores remotos. | |
Exfiltración | T1041 | Exfiltración sobre el canal de comando y control | El operador de la RAT puede descargar cualquier archivo deseado de una víctima. |
Colección | T1113 | La captura de pantalla | La RAT puede capturar la pantalla de la víctima. |