Una mirada cercana a las técnicas avanzadas empleadas en una campaña de APT centrada en Malasia

Nuestro equipo de investigación de Elastic Security se centró en las técnicas avanzadas empleadas en una campaña de APT centrada en Malasia. Aprenda quién está detrás, cómo funciona el ataque, las técnicas de ataque® de MITRE observadas y los indicadores de compromiso.

9 min de lecturaCampañas
Una mirada cercana a las técnicas avanzadas empleadas en una campaña de APT centrada en Malasia

El equipo de Elastic Security Intelligence & Analytics investiga innovaciones de adversarios de muchos tipos, y recientemente se centró en un grupo de actividad que aprovechó las plantillas remotas, la evasión de código VBA y las técnicas de carga lateral de DLL. Sobre la base de la similitud del código y las tácticas, técnicas y procedimientos compartidos (TTP), el equipo evaluó que esta actividad podría estar vinculada a un grupo con sede en China conocido como APT40 o Leviatán. La campaña del grupo parece dirigir a los funcionarios del gobierno malasio con un señuelo relacionado con la crisis política 2020 malasio.

Anatomía del ataque

Para iniciar su campaña de amenazas persistentes avanzadas (APT), es probable que el grupo entregara un documento de Microsoft Word como archivo adjunto de señuelo de phishing. La imagen empleada en el señuelo (Figura 2) parece estar elaborada a partir de un anuncio de transmisión compartido por un bloguero malasio (Figura 1). La imagen del señuelo incluye la misma hora de transmisión, pero se eliminan la fecha y el tema del discurso. Una vez que se abre este archivo adjunto, se presenta un documento señuelo mientras se está detrás de escena, realizando las siguientes acciones:

  • El documento de señuelo descarga la plantilla remota RemoteLoad.dotm
  • La plantilla remota ejecuta el código de macro de VBA
  • El código de macro de VBA desempaqueta y ejecuta dos archivos DLL incrustados codificados en base64 (sl1.tmp y sl2.tmp) en c:\users\public\

Esta técnica se conoce como inyección de plantillas, que puede que recuerdes de nuestra entrada del blog Jugando a la defensa contra Gamaredon Group. Este es un enfoque efectivo empleado por los adversarios para eludir los controles perimetrales, como las pasarelas de email.

Los dos archivos DLL incrustados (sl1.tmp y sl2.tmp) son similares y exportan los mismos nombres de función: RCT y RCP. El primer archivo DLL (sl1.tmp) se usa para descargar un ejecutable benigno llamado LogiMailApp.exe y una biblioteca asociada LogiMail.dll, y la segunda DLL (sl2.tmp) se emplea para ejecutar LogiMailApp.exe, que intenta ejecutar automáticamente LogiMail.dll debido a una vulnerabilidad inherente del orden de búsqueda de DLL que cubriremos en breve.

Nombre de archivoTipo de archivoTamaño (bytes)MD5Tiempo de compilación
LogiMailApp.exeWin32 EXE311656850a163ce1f9cff0367854038d8cfa7e2012-09-26 22:13:13+00:00
LogiMail.dllWin32 DLL105984b5a5dc78fb392fae927e9461888f354d2020-06-03 04:08:29+00:00
sl1.tmpWin32 DLL3072ccbdda7217ba439dfb6bbc6c3bd594f82019-11-29 17:15:29+00:00
sl2.tmpWin32 DLL3072dbfa006d64f39cde78b0efda1373309c2019-11-29 21:23:44+00:00

Tabla 1: Metadatos de archivos eliminados

Esta implementación llamó la atención de nuestros investigadores debido a una idiosincrasia conductual:

  • La aplicación de Microsoft Office winword.exe carga sl1.tmp y sl2.tmp DLL usa el método LoadLibraryA, que es moderadamente raro
  • Estos archivos DLL ejecutan comandos explícitos o instalan una carga desde una dirección URL mediante el método CallWindowProcA, lo que parece ser excepcionalmente raro
  • Ambos archivos DLL se eliminan luego de la ejecución

DLL incrustadas

Los archivos DLL incrustados, sl1.tmp y sl2.tmp, tienen una funcionalidad muy limitada: exportar las funciones RCP y RCT. La función RCP implementa el método WinExec para ejecutar comandos en los que la función RCT emplea el método URLDownloadToFileA para descargar un archivo de una dirección URL especificada.

Instalación de prueba de DLL en una puerta trasera

LogiMailApp.exe, que es descargada por sl1.tmp y ejecutada por sl2.tmp, es vulnerable a una forma de secuestro de orden de búsqueda de DLL llamado carga lateral, que busca y ejecuta automáticamente LogiMail.dll si se encuentra en el mismo directorio. Las formas de secuestro de orden de búsqueda de DLL se pueden usar con muchas aplicaciones de software de terceros. En este caso, el secuestro de órdenes de búsqueda se empleó para cargar una puerta trasera que exporta las siguientes funciones notables:

El LogiMail.dll binario creado por el adversario exporta la función DllGetClassObject que contiene lógica crítica para el flujo de ejecución de este ejemplo:

  1. Descargue un objeto de segunda etapa cifrado con AES en%TEMP%~liseces1.pcs
  2. Derivar una clave AES de 128 bits y un vector de inicialización de SHA256 de una cadena codificada de forma rígida
  3. Lea y descifre%TEMP%~liseces1.pcs en memoria empleando las funciones ReadFile y CryptDecrypt
  4. Eliminar%TEMP%~liseces1.pcs del disco

Puerta trasera de la segunda etapa

La puerta trasera de la segunda etapa descifrada se asigna a la memoria y, a continuación, se llama a su punto de entrada original (OEP), evitando así las detecciones exitosas basadas en el análisis del sistema de archivos.

Tanto el servidor de ensayo de carga útil como la infraestructura de la segunda etapa emplean DNS dinámico:

Esta carga útil admite las siguientes capacidades:

  • Comprobaciones básicas contra la depuración
  • Detección de sistemas y usuarios
  • Ejecución a través de la línea de comandos
  • Detección, carga y descarga de archivos
  • Persistencia a través del registro de ejecución
  • Cifre el tráfico C2 con la misma clave AES

Posible conexión APT40/Leviatán

A principios de año, el Equipo de Respuesta a Emergencias Informáticas de Malasia (MyCERT) emitió un aviso relacionado con la actividad de espionaje dirigida a su país. El reporte enumeró diferentes TTP e incluyó múltiples muestras y otros indicadores técnicos que se alinean con un grupo de amenazas conocido como APT40/Leviathan.

A grandes rasgos, esta muestra sigue la tendencia continua de dirigir a las víctimas malasias mediante TTP específicos, como plantillas remotas, el empleo de macros, el uso de técnicas de carga lateral de DLL y el aprovechamiento de un implante en memoria con DNS dinámico para el comando y el control. Más específicamente, el implante de la segunda etapa de este señuelo comparte cadenas únicas y referencias URL y contiene una funcionalidad similar que se correlaciona con los reportes anteriores para APT40 / Leviathan. Con estas similitudes, nuestro equipo de Inteligencia y Análisis evalúa con un nivel de confianza moderado que esta actividad está vinculada a APT40/Leviathan.

Similitudes de la cadena de implantes con la muestra MyCERT:

  • /list_direction
  • /post_document
  • /post_login
  • Abrir archivo remoto%s Failed para:%s
  • Error de canalización abierta%s
  • Descargar Ruta de lectura fallida%s
  • %02X-%02X-%02X-%02X-%02X-%02X
  • Software\Microsoft\Windows\CurrentVersion\Run
  • ntkd

Conclusión

En esta publicación, destacamos una muestra reciente que muy probablemente representa el trabajo de un adversario altamente organizado. Los grupos de actividad como este son importantes para que todos tomen nota, aunque solo sea porque representan un nivel de madurez más alto de la innovación posterior a la explotación. Sus TTP de última generación hoy terminan siendo el común y corriente de todos mañana; Es importante aprender de estos eventos.

Esperamos que, al compartir algunas de estas ideas, podamos ayudar a crear conciencia y seguir centrándonos en proteger los datos del mundo de los ataques. Para capacitar aún más a las organizaciones, agregamos todas las técnicas de MITRE ATT&CK® e indicadores de compromiso (IoC) observados a continuación.

Técnicas MITRE ATT&CK®

Indicadores de compromiso (IOC)

Nombres de archivo y rutas de acceso

Bubar Parlimen.zip
Bubar Parlimen.docx
RemoteLoad.dotm
C:\Users\Public\sl1.tmp
C:\Users\Public\sl2.tmp
C:\Users\*\AppData\Local\Temp\~liseces1.pcs
C:\Users\*\AppData\Local\Microsoft\Office\LogiMailApp.exe
C:\Users\*\AppData\Local\Microsoft\Office\LogiMail.dll

Claves del Registro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ntkd

Direcciones URL

hxxps[:]//armybar[.]hopto[.]org/LogiMail.dll
hxxps[:]//armybar[.]hopto[.]org/LogiMailApp[.]exe
hxxps[:]//armybar[.]hopto[.]org/Encrypted
hxxp[:]//tomema.myddns[.]me/postlogin
hxxp[:]//tomema[.]myddns[.]me/list_direction
hxxp[:]//tomema[.]myddns[.]me/post_document

Ips

104[.]248[.]148[.]156
139[.]59[.]31[.]188

Certificado HTTPS

74b5e317527c93539dbaaf84d6a61da92a56012a

Hashes

523cbdaf31ddc920e5b6c873f3ab42fb791fb4c9d1f4d9e6a7f174105d4f72a1
ab541df861c6045a17006969dac074a7d300c0a8edd0a5815c8b871b62ecdda7
145daf50aefb7beec32556fd011e10c9eaa71e356649edfce4404409c1e8fa30
93810c5fd9a287d85c182d2ad13e7d30f99df76e55bb40e5bc7a486d259810c8
925f404b0207055f2a524d9825c48aa511199da95120ed7aafa52d3f7594b0c9
feca9ad5058bc8571d89c9d5a1eebce09e709cc82954f8dce1564e8cc6750a77
06a4246be400ad0347e71b3c4ecd607edda59fbf873791d3772ce001f580c1d3
77ef350639b767ce0a748f94f723a6a88609c67be485b9d8ff8401729b8003d2

YARA

rule APT_APT40_Implant_June2020 {
   meta:
       version = "1.0"
       author =  "Elastic Security"
       date_added = "2020-06-19"
       description = "APT40 second stage implant"
    strings:
        $a = "/list_direction" fullword wide
        $b = "/post_document" fullword wide
        $c = "/postlogin" fullword wide
        $d = "Download Read Path Failed %s" fullword ascii
        $e = "Open Pipe Failed %s" fullword ascii
        $f = "Open Remote File %s Failed For: %s" fullword ascii
        $g = "Download Read Path Failed %s" fullword ascii
        $h = "\\cmd.exe" fullword wide
    condition:
        all of them
}

Referencias