Operación Absoluta: ESET descubre una campaña de ciber espionaje enfocada a Colombia

El equipo de investigación de ESET analizó una campaña de espionaje que utiliza el malware AsyncRAT que apunta a organismos gubernamentales y empresas de diversas industrias de Colombia.

El equipo del Laboratorio de Investigación de ESET Latinoamérica analizó una campaña de espionaje que se registró en diciembre de 2022 apuntando a blancos de alto perfil de Colombia. Los actores maliciosos detrás de esta campaña, a la cual hemos denominado Operación Absoluta, lanzaron sus ataques a entidades gubernamentales y compañías privadas de industrias como la construcción, entre muchas otras.

El objetivo era descargar en los sistemas de las víctimas AsyncRAT, un Troyano de Acceso Remoto (RAT, por sus siglas en inglés) que tal como lo indica su nombre permite a los atacantes realizar remotamente diversas acciones maliciosas en el equipo comprometido. Por ejemplo, acceder a archivos y carpetas, realizar capturas de pantalla, registrar pulsaciones de teclado para robar credenciales o incluso descargar en el equipo malware adicional.

El proceso de infección comenzaba con un correo electrónico que incluía un documento de Microsoft Office. El mismo contiene un enlace que libera un código malicioso que finalmente descarga AsyncRAT en el equipo de la víctima. Estos correos utilizan como señuelo para engañar a las víctimas temas como demandas o procesos judiciales. Además, como parte de la ingeniería social, hemos visto casos en los que utilizan datos personales de personas reales para hacer más creíble el correo.

Esta campaña está compuesta por tres etapas con diferentes características cada una y se descubrió por un correo de phishing que distribuía una amenaza que afecta a sistemas operativos de Windows. La misma es detectada por las soluciones de seguridad de ESET como BAT/Agent.PRS y su actividad llamó nuestra atención.

Una cualidad que caracteriza a Operación Absoluta y por la cual hemos decidido llamar así a esta campaña es la técnica de ofuscamiento que emplea, ya que utiliza diversas operaciones matemáticas, como el cálculo de valor absoluto. Es posible que esta característica haya sido utilizada para evadir alguna solución de seguridad o hacer más difícil la tarea de análisis.

En el siguiente diagrama se puede ver cómo es el proceso de infección de esta campaña, partiendo desde la recepción de un correo electrónico que contiene adjunto un documento Word, el cual contiene un enlace que descarga un archivo desde Google Drive, hasta llegar a los últimos códigos maliciosos encargados de infectar y ejecutar en la máquina de la víctima el payload final: AsyncRAT.

Imagen 1 – Diagrama de infección

Vale la pena mencionar que Operación Absoluta es un nuevo ejemplo de cómo los cibercriminales están llevando adelante campañas de espionaje apuntando a blancos de alto perfil en América Latina utilizando malware disponible para su compra o descarga gratuita en repositorios públicos, foros y grupos de cibercrimen.

En 2021 analizamos una campaña denominada Bandidos en la cual los actores maliciosos utilizaron el RAT Bandook, disponible en mercados de la dark web, para llevar adelante ataques apuntando a redes corporativas de empresas de distintas industrias en Venezuela. Ese mismo año publicamos detalles sobre Operación Spalax, una campaña dirigida a instituciones gubernamentales y compañías de Colombia, principalmente de industrias como la energética y la metalúrgica, utilizando los troyanos de acceso remoto Remcos, njRAT y AsyncRAT. En 2022 analizamos otras dos campañas de espionaje en las que se utilizaron códigos maliciosos conocidos y disponibles públicamente. Una de ellas fue Operación Discordia, la cual apunto a empresas de distintas industrias, organizaciones sin fines de lucro y organismos gubernamentales de Colombia utilizando njRAT, y otra fue Operación Pulpo Rojo, una campaña que se concentró en Ecuador y apunto a empresas y organismos gubernamentales utilizando el popular malware Remcos.

Si bien Operación Absoluta presenta similitudes con todas estas campañas en cuanto a la modalidad general de envío de malspam y el uso de commodity malware, como es AsyncRAT, no podemos atribuir este ataque al mismo grupo de amenazas que desplegó alguna de las anteriores campañas.

Como podemos ver, más allá de la sofisticación que puedan tener algunas campañas que llevan adelante grupos de APT a nivel global, la creciente cantidad de campañas con fines de espionaje dirigidas a blancos específicos en América Latina muestra que este modus operandi parece resultar efectivo a los grupos que las operan y que las empresas y organismos de gobierno de la región deben estar atentas.

Actividades Maliciosas 

Esta campaña posee diferentes etapas que incluyen correos de spearphishing, el uso de droppers y de un troyano. Por un lado, su primer objetivo es engañar a las víctimas para que hagan clic en un enlace que está dentro de un documento de Microsoft Word incluido como adjunto en los correos electrónicos enviados. A través de ese enlace, las víctimas descargan y ejecutan un archivo Batch malicioso encargado de ejecutar una serie de comandos en la consola del sistema (cmd). Estos comandos descifran otros módulos que realizan distintas actividades maliciosas con el objetivo final de infectar a la víctima con un troyano que posee diferentes capacidades para robar información sensible. Estas capacidades incluyen el registro de las pulsaciones de teclado, realizar capturas de pantalla, entre muchas otras que más adelante en esta misma publicación detallaremos. Luego, esa información es recolectada y enviada hacia un servidor controlado por los atacantes.

Etapa 1: Acceso inicial

Esta etapa tiene la finalidad de descargar y ejecutar un archivo Batch. Esto lo hace a través de un enlace incluido en los documentos enviados como adjunto en los correos. Este enlace conduce a la descarga de un archivo comprimido alojado en Google Drive que está protegido con contraseña. La misma es 1234 y está información está incluida en el mismo correo.

Si bien a partir de algunos correos analizados identificamos el servicio de Google Drive para alojar el primer componente malicioso, por las características de este tipo de campaña y dado que se identificaron diferentes nombres de archivos, es factible que se hayan utilizado otros servicios de alojamientos de archivos en la nube.

En las siguientes imágenes se pueden ver ejemplos de los correos electrónicos enviados que obtuvimos durante el análisis de esta campaña:

Imagen 2 – Ejemplo de phishing utilizado en la campaña.

 

Imagen 3 – Ejemplo de un archivo de Microsoft Office utilizado en esta campaña en la que se utiliza información legítima de una firma de abogados en Colombia.

Como se observa en la Imagen 2 y 3, los cibercriminales utilizan como excusa correos relacionados con demandas o procesos judiciales para provocar preocupación y que las potenciales víctimas los abran. La información en el correo utiliza datos de profesionales reales a los que se suplanta su identidad. De hecho, algunas firmas de abogados en Colombia han alertado sobre estos correos.

En la Imagen 3 podemos observar que el asunto del correo era “Departamento-Asuntos-Jurídicos Envío Notificación por Demanda”.

Además, podemos apreciar la URL para descargar un supuesto documento alojado en Google Drive que en realidad conducen a la descarga de un archivo comprimido con la extensión .rar. Al buscar en la telemetría de ESET obtuvimos distintos nombres para estos archivos comprimidos, los cuales están protegidos con contraseña. La misma es un valor numérico de cuatro dígitos (1234). Esto nos indica que los cibercriminales podrían estar utilizando otros servicios de alojamiento de archivos.

A continuación se listan ejemplos de los nombres que poseen los códigos maliciosos que se encuentran dentro de los archivos comprimidos:

  • CamScanner-165962620.rar
  • TRANSACTION_A_CUENTA_BANCARIA.rar

Como se puede apreciar en la Imagen 4, es evidente que hay algo sospechoso, ya que el archivo comprimido contiene un archivo con la extensión .bat. Esto significa que el archivo no es un documento de texto, sino que es un archivo de procesamiento por lotes (Batch), el cual es utilizado para la ejecución de instrucciones MS-DOS. A continuación podemos observar el código que contiene el archivo .bat.

Imagen 5 – Ejemplo del código malicioso ofuscado dentro de un archivo .bat.

Al desofuscar el código se puede visualizar la verdadera funcionalidad del mismo, en la siguiente captura de pantalla se puede ver el código malicioso des ofuscado dentro del archivo .bat:

Imagen 6 – Ejemplo de un código malicioso en Visual Basic desofuscado que contiene el archivo batch.

 

Una vez que la víctima ejecuta el componente malicioso se invoca al intérprete de PowerShell para ejecutar un código malicioso que está cifrado con el algoritmo criptográfico AES-256, el cual utilizará los siguientes datos para descifrarlo:

  • Key:8CC76B80164589497DF038B47A72848E6A50D11B11F038C4DCFB9988CDD5DBD6
  • IV:E71E24FA7578D7F796434250BAF15FB1

Una vez que se descifran los códigos maliciosos, los mismos van a ser ejecutados en memoria.

A continuación detallamos el comportamiento de estos códigos maliciosos.

Etapa 2: Ejecución en memoria

En esta etapa se procede a ejecutar dos ejecutables maliciosos desarrollados en .NET. Cada uno tiene un objetivo distinto. Uno de ellos (RTDONT) es utilizado para evadir mecanismos de seguridad, mientras que el otro (JLAIVE) es utilizado para ejecutar el payload final en memoria y generar persistencia.

RTDONT

Este ejecutable desarrollado con el framework Microsoft .NET. tiene como finalidad, evadir las medidas de seguridad del sistema operativo. En principio, se encuentra totalmente ofuscado, particularmente en la secciones en donde se invocan a las diversas API de Windows. A continuación se visualiza la función principal utilizada para desofuscar las llamadas a las API de Windows:

Imagen 7 – Método para desofuscar las llamadas de las API de Windows empleado por RTDONT

Una vez que cada una de estas llamadas es desofuscada se puede visualizar la verdadera funcionalidad de este componente. Cabe destacar que para poder evadir estas medidas de seguridad utilizará tres técnicas conocidas dentro del ámbito de la Seguridad Ofensiva, como son:

  • Process Unhooking: consiste en cargar una copia de la biblioteca dinámica de dll para luego poder modificar su contenido y así evadir las medidas de seguridad empleadas por el sistema operativo.

NOTA: Para tener una información más detallada sobre este proceso recomendamos leer la sección Técnica de Process Unhooking

  • Modificación de AmsiScanBuffer: A través del método AmsiScanBuffer que se encuentra en la DLL amsi.dll, el atacante modifica el resultado de Antimalware Scan Interface (AMSI) para que siempre devuelva el valor AMSI_RESULT_CLEAN.

Ilustración 8 – Técnica de evasión AmsiScanBuffer empleado por RTDONT.dll

  • Modificación de EtwEventWrite: A través del método EtwEventWrite (ETW – Event Tracing for Windows) que se encuentra en la DLL ntdll.dll se suspende para que no realice ninguna acción de rastreo o registro de eventos de aplicaciones.

Ilustración 9 – Técnica de evasión empleada por EtwEventWrite en RTDONT.dll

De esta forma, los cibercriminales logran evadir las medidas de seguridad de Microsoft Windows para evitar la ejecución de código malicioso desarrollado en PowerShell. Incluso podrían llegar a evadir alguna solución de seguridad EDR que utilice los eventos que son escritos por medio de la función EtwEventWrite.

JLAIVE

Este ejecutable desarrollado con el framework Microsoft .NET actua comodropper, pero no solo va a permitir ejecutar el payload final, sino que tambien añade funcionalidad de persistencia para asegurarse la ejecución del mismo.

Al igual que RTDONT, el código se encuentra totalmente ofuscado con operaciones matemáticas de la biblioteca de Math de C# como Abs, MinValue y MaxValue.

Imagen 10 – Método de ofuscación empleado por JLAIVE.exe

En su mayoría, las diversas API de Windows que son invocadas por JLAIVE se encuentran ofuscadas por el método anteriormente descripto.

AL desofuscar el código malicioso pudimos observar la siguiente lógica:

  • En principio se verifica si el código malicioso está siendo ejecutado. En tal caso se invocará el método Mutex();. Este tipo de objeto se utiliza para controlar el acceso a un recurso compartido y en este caso se asegura que el malware corra una sola vez en la maquina infectada. En caso de que esto no sea así, finaliza el proceso.
  • Al ingresar a la carpeta recursos podemos observar que dentro del ejecutable se encuentra un nuevo archivo denominado “JLAIVE_P”. Esto nos indica que se podría tratar del payload final.

Ilustración 11 – Recurso de JLAIVE_P dentro de JLAIVE.EXE

  • Al ejecutarse por primera vez se invocará al método smethod_1. El objetivo es crear persistencia dentro de la máquina de la víctima generando un archivo desarrollado en Visual Basic.

Imagen 12 – Persistencia a través de HlarxQbqxv.bat

  • Para poder generar persistencia llamará al método smethod_6. El objetivo en este caso será evaluar a través del valor de (SID) qué tipo de usuario es la víctima.

Imagen 13 – Evaluación de JLAIVE del tipo de usuario en el sistema operativo para generar persistencia.

  • En caso de que el método se encuentre con el valor de 544, que corresponde al perfil de  “Administrador”, la pieza de código malicioso generará persistencia a través de una instancia del intérprete de comandos cmd.
  • Caso contrario se creará un registro de Windows (HKCU) en  “SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN“, con el nombre de RuntimeBroker_HlarxQbqxv con los comandos generados en el archivo anterior:

Ilustración 14 – Clave de registro HKCU para generar persistencia

  • Luego de generar persistencia el código malicioso original se eliminará y se copiará bajo el nombre de HlarxQbqxv.bat en modo oculto dentro de la carpeta de C:\Users\[USER]\AppData\Roaming. Tal como se observa en la siguiente imagen:

Imagen 15 – JLAIVE copia el archivo HlarxQbqxv.bat en C:\Users\[USER]\AppData\Roaming para generar persistencia.

  • Luego de asegurarse la persistencia, el siguiente paso es la ejecución del payload final en memoria a través de diversos métodos. Para ello primero se obtendrá el recurso “JLAIVE_P” y se realizará una operación de XOR con el string “JLAIVE_PXEBpSxpMzZOqKtVUHdhAJevJVpJbtUU”. Luego con el resultado se descomprimirá el payload y se copiará en memoria.

Imagen 16 – Ejecución de JLAIVE.dll en memoria.

A continuación compartimos una descripción del payload final: AsyncRAT.

Etapa 3: AsyncRAT

AsyncRAT es una herramienta de acceso remoto (RAT, por sus siglas en inglés) desarrollada con el framework Microsoft .NET. Si bien es una herramienta de código abierto y legítima disponible en Git-Hub, lamentablemente como sucede con muchas otras herramientas, es aprovechada para fines delictivos, como tener acceso y control total de los equipos de las víctimas.

Cuando AsyncRAT es utilizado con fines maliciosos suele distribuirse a través de malspam. Una vez instalado en el sistema, AsyncRAT se ejecuta en segundo plano y se conecta a un servidor remoto para recibir instrucciones y permitir el acceso remoto a la máquina infectada.

Algunas de las características y capacidades de AsyncRAT incluyen:

  • Control remoto completo del sistema infectado.
  • Capacidad para ejecutar comandos y acceder a archivos y carpetas en el sistema.
  • Capacidad para capturar y transmitir imágenes de la pantalla.
  • Capacidad para registrar las pulsaciones del teclado.
  • Capacidad para descargar y ejecutar archivos adicionales.

Por otro lado, la muestra de AsyncRAT detectada en esta campaña, guarda su configuración en una sección de sus recursos, llamada “SETTINGS”, que está cifrada con el algoritmo de cifrado AES-256 y utiliza la siguiente clave “craNOQFKkuDJdqNUaezYtAIn1MfHb9Mo”.

Imagen 17 – Configuración de AsyncRAT cifrada en AES-256

Nota: Los atacantes con la primera dll (JLAIVE.dll) buscan generar persistencia e inyectar en memoria el payload final.

Al comparar una versión de AsyncRAT disponibles para su descarga gratuita con la versión utilizada en esta campaña podemos apreciar la similitud de ambos códigos, lo que nos permite afirmar que los atacantes utilizaron este mismo código para desplegar la amenaza, tal como se observa en la imagen siguiente:

Imagen 18 – A la izquierda el código malicioso utilizado en la campaña. A la derecha el código encontrado en un repositorio de códigos en internet.

Conclusión

Operación Absoluta es una nueva campaña de espionaje apuntando al sector privado y organismos gubernamentales de Colombia que busca desplegar el troyano AsyncRAT para robar información de las víctimas. Esta malware puede ser peligroso, ya que permite a los atacantes tomar control de un sistema infectado y utilizarlo para exfiltrar información o incluso instalar en los equipos comprometidos algún otro tipo de código malicioso. Desde el Laboratorio de Investigación de ESET Latinoamérica hemos reportado varias campañas en los dos últimos años que utilizan este tipo de commodity malware para realizar operaciones de espionaje, como fueron las campañas Bandidos y Operación Spalax en 2021 apuntando a blancos de alto perfil de Venezuela y Colombia respectivamente, y luego en 2022 Operación Discordia y Operación Pulpo Rojo, la primera contra empresas y organismos gubernamentales de Colombia y la segunda contra el sector privado y organismos públicos de Ecuador.

Mas allá de que Operación Absoluta es una campaña de espionaje orientada a Colombia, son cada vez los grupos cibercriminales que utilizan este tipo de modus operandi para infectar a los usuarios. El hecho de que se utilice código malicioso de código abierto para infectar a los usuarios no hace menos relevante a esta campaña, sino todo lo contrario, ya que esto nos asegura que cada vez son más las probabilidades de que las empresas tanto públicas como privadas dentro de América Latina sean afectadas y vulneradas.

Indicadores de compromiso

Registros

A continuación, se listan posibles registros que pueden ser manipulados por los códigos maliciosos utilizados en esta campaña:

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run
    • Value Name: RuntimeBroker_HlarxQbqxv
    • Value Data: wscript.exe “C:\Users\[USER]\AppData\Roaming\HlarxQbqxv.vbs”

Persistencia                                                                                             

A continuación, se listan las rutas donde pueden persistir algunos archivos utilizados en esta campaña:

  • C:\Users\[USER]\AppData\Roaming\HlarxQbqxv.bat
  • C:\Users\[USER]\AppData\Roaming\HlarxQbqxv.vbs

Hashes, sitios web y C&C

Hashes de muestras analizadas:

  • CamScanner-165962620.rar: 1AC5F6001107C90610171E66894BB93EE575656D
  • Transaccion bancaria.bat: 64EFA2CE952F1616F185DAA26FF84C6D99CF50C1 — BAT/Agent.PRS
  • Jlaive.exe: 3069F1D30DFE6A3F5EB06CBEE8FB7CD14CC32504 — MSIL/Kryptik.AHCQ
  • RTDONT.exe: CD65222614DCBC8D22072C5B68C4E6B1939DF8E2 — MSIL/Kryptik.AHCR
  • Cliente1.exe: 1E6B3B48D7FC0594CE163254C0DE4C0F8449BB4A — MSIL/Agent.CFQ

URLs obtenidas en las muestras analizadas:

  • https[:]//docs[.]google[.]com/uc?export=download&id=1eFOJXaElHnr4F1620Mbihj9u-RrJ43JV

Dominios e IP detectados en las muestras analizadas:

  • bmxfghsh[.]duckdns[.]org:8026
  • 177[.]255[.]91[.]167

Técnica de Process Unhooking

Tal como se desarrolló al inicio, el cibercriminal desarrollo una librería en .NET con el objetivo de evadir la seguridad del sistema operativo; una de las técnicas empleadas se denomina Process Unhooking (del inglés desconexión de procesos), para ello se realizaron las siguientes acciones maliciosas:

  1. Mediante el uso de la funciones de las API de Windows GetModuleInformation y GetCurrentProcess obtiene informacion del módulo de  ntdll.dll.
  2. Luego lee el contenido de la librería de ntdll.dll por medio de las APIs de Windows  CreateFileA, CreateFileMapping, y MapViewOfFil.
  3. A través de la utilización de VirtualProtect se cambian los permisos de memoria, de modo que pueda modificar el contenido de la misma.
  4. Con la utilización de la función memcpy copia el contenido de la librería descripta en el paso 2 sobre la librería cargada en el paso 1.
  5. Finalmente, con VirtualProtect vuelve a cambiar los permisos de memoria de la sección de código a su valor original.

A continuación, se puede visualizar cada una de las llamadas dentro del código malicioso desarrollado por el cibercriminal:

Ilustración 19 – Process Unhooking empleado por RTDONT.dll

Técnicas MITRE ATT&CK

A continuación, se listan las técnicas utilizadas en esta campaña utilizando el framework MITTRE ATT&CK:

Táctica Técnica (ID) Nombre
Resource Development T1586.002 Compromise Accounts: Email Accounts
Initial Access T1566.002 Phishing: Spearphishing Link
Execution T1059.001 Command and Scripting Interpreter: PowerShell
  T1106 Native API
  T1059.001 Command and Scripting Interpreter: PowerShell
  T1059.003 Command and Scripting Interpreter: Windows Command Shell
Defense Evasion T1055.001 Process Injection: Dynamic-link Library Injection
  T1027 Obfuscated Files or Information
  T1562.001 Impair Defenses: Disable or Modify Tools
Discovery T1083 File and Directory Discovery
Collection T1056.001 Input Capture: Keylogging
  T1123 Audio Capture
  T1125 Video Capture
  T1113 Screen Capture
  T1115 Clipboard Data
Command and Control T1132.001 Data Encoding: Standard Encoding

Fuente: www.welivesecurity.com