Resumen
Lokibot es un banking trojan e infostealer conocido que ha atacado a personas usuarias de Android durante 2016 y 2017, así como a personas que utilizan Windows desde el 2018 hasta la actualidad. Este infostealer se enfoca principalmente en el robo de credenciales de usuario, datos de navegación e incluso datos de cryptowallets. También posee la capacidad de modificar el sistema de archivos, ejecutar y detener procesos, además de evadir antivirus y otros sistemas de seguridad.
En la actualidad, es uno de los malwares más presentes a nivel global. Dentro de América Latina, es uno de los principales peligros debido a la cantidad de campañas activas que hemos observado en el transcurso del año.
Recientemente, el equipo de Threat Intelligence de Metabase Q identificó una campaña de Lokibot enfocada principalmente a tarjetahabientes de México, en este momento ya nos es posible liberar detalles. Esta campaña, al igual que muchas otras, realiza su infección mediante el envío de correos maliciosos que contienen archivos adjuntos para distribuir el payload de Lokibot Las fechas en las que parece haber ocurrido dicha campaña comprenden desde el mes de abril al mes de mayo del año en curso.
A continuación, se mostrará el análisis de dicha campaña y una muestra encontrada que hace uso de la identidad de uno de los bancos más importantes de la región.
Detalle de la infección
El equipo de Threat Intelligence de Metabase Q detectó un correo malicioso haciendo uso de la identidad de un banco muy conocido en México, que fue enviado el 10 de mayo de 2022. Ampliando la búsqueda, se pudieron hallar varios correos maliciosos con algunas similitudes durante un rango de tiempo que comprende del 20 de abril al 25 de mayo de este año.
Para el análisis general dentro de este documento, vamos a enfocarnos únicamente en la muestra de correo que hace uso de la imagen del banco importante dentro de México, pero se mostrarán más muestras, de ser necesario.
En la Figura 1, se muestra el correo electrónico con ciertas características que indican el uso de la imagen del banco y ciertos indicadores de que se trata de un correo malicioso; como el uso incorrecto de mayúsculas dentro de las oraciones, otros errores gramaticales y de redacción, la falta de firma bancaria al final del mensaje y, sobre todo, la existencia de 2 archivos adjuntos sospechosos: una imagen (PNG) haciéndose pasar por un archivo PDF y otro archivo comprimido.
En este también se hace uso del logo del banco y el contenido se encuentra escrito en español, al igual que el resto de los correos de la campaña.
Como se puede observar en la Figura 2, la sección “From” muestra el nombre del banco y enseguida la dirección del correo electrónico completo del remitente, siendo este “notificaciones@notificaciones.[banco].com.mx” el cual es un subdominio oficial del banco. Además, aparece la terminación “.mx” que indica que es un dominio únicamente de México.
Sin embargo, en cuanto revisamos las cabeceras, nos damos cuenta que el remitente no es el que aparece a primera vista, sino que proviene del dominio universalnet.mx.
Este dominio aparece en el resto de los correos electrónicos de la misma campaña. De hecho, fue uno de los factores para poder catalogar a ese conjunto de correos como parte de la misma campaña.
Cabe remarcar que universalnet[.]mx, hasta el momento de la escritura de este blog, no ha encendido las alarmas de ningún sistema de verificación de sitios maliciosos, al punto de que dicho dominio sigue en funcionamiento. El servidor que lo almacena, cuya IP es 74[.]208[.]87[.]229, funciona como servidor de correos.
Revisando los registros del dominio, encontramos sospechosa la fecha en que fue actualizado (2 de abril de 2022) tan solo unos días antes de la fecha del primer correo de la campaña (20 de abril de 2022). No podemos obtener más datos de quién lo compró, sino únicamente el país; en este caso, Estados Unidos.
Investigando más a fondo, posiblemente pertenezca a la empresa UNET (Universal Net) la cual tiene un nuevo sitio oficial https[:]//www[.]universalnet[.]com[.]mx/. Este último, no se ha visto envuelto en ninguna actividad sospechosa.
Más allá de esto, podemos ver también que actualmente el sitio universalnet[.]mx está en construcción, lo cual puede no estar relacionado, pero valdría la pena continuar monitoreando la aparición de este dominio nuevamente en futuras campañas.
En este punto, se pudo concluir que fue un dominio usado únicamente para esta campaña y no parece ser un sitio tomado permanentemente.
Regresando al contenido del resto de los correos, es pertinente aclarar que esta campaña usaba otras empresas, aparte de dicho banco, pero el mensaje seguía estando escrito en español y con múltiples indicios de que la campaña estaba dirigida a la región de México. Por ejemplo, usar direcciones de correo suplantadas con la terminación “.mx”.
En otros casos, es el mismo contenido el que muestra que el origen es de México, tal como se muestra en la siguiente figura.
A partir del ejemplo de la Figura 7, pudimos notar que el contenido de lo que parece ser la firma del correo, es completamente inconsistente con el remitente del correo. En este último descubrimiento, a pesar de que no parece haber algún patrón entre el contenido de los correos, fue hecho intencionalmente para que parecieran de diferentes orígenes. Incluso, se copió información de correos lícitos, resultando en inconsistencia dentro de un mismo correo.
El momento de la infección inicia en la descarga y ejecución de los archivos adjuntos. Hay una diferencia tanto en nombre, como en formato entre un mensaje y otro. Por un lado, algunos simulan ser un archivo PDF y otros archivos Office, pero todos se encuentran en archivos comprimidos o dentro de imágenes de disco. El engaño principal consiste en el uso de un mensaje que provoque en el receptor la necesidad de abrir el mensaje. Por ejemplo, un pago no recibido o una transacción realizada con su cuenta.
Este tipo de mensajes preocupa a cualquier usuaria o usuario de dicho banco que no haya realizado transacciones recientes al momento de recibir el mensaje y, por supuesto, preocupa al receptor al punto de querer conocer los detalles de esta operación.
Otros mensajes encontrados en los correos de la campaña se relacionan a nuevos clientes, órdenes de compra, cotización de productos, comprobantes de pago y pagos atrasados urgentes de realizar, siempre pidiendo o señalando que abra los archivos adjuntos al correo.
Algunos archivos adjuntos encontrados se listan en la tabla a continuación:
Análisis del Malware
En mayo, el equipo de Threat Intelligence de Metabase Q encontró una muestra que contenía un archivo .eml con un archivo adjunto, potencialmente malicioso, que intentaba hacerse pasar por un banco muy conocido en México.
Entre las cosas que destacan, es que el remitente del correo está relacionado con los dominios del banco (notificaciones@notificaciones[.]<eliminado>[.]com.mx) y existen dos archivos adjuntos en el mismo correo. El primero se trata de una imagen que parece simular ser un archivo PDF, solo visualmente, llamada “8e551873.png”. El segundo es un archivo comprimido que simula ser también un PDF llamado “comprobante.PDF.rar”.
Descartando el archivo “8e551873.png”, mismo que es usado como anzuelo, nos centramos en el archivo .rar comprimido que viene con el nombre “comprobante.PDF.rar”. A su vez, contiene un archivo WSF con el mismo nombre que se muestra en la siguiente figura:
Durante su ejecución, este archivo inicia un comando en Powershell que descarga un archivo de la URL http://195[.]133[.]18[.]171/ddCrpted.jpg, y lo guarda como C:\Windows\Temp\Done.vbs para posteriormente ejecutarlo.
El archivo descargado se encuentra ofuscado como se muestra en la siguiente imagen.
Durante la ejecución, el código descarga un archivo de la URL http[:]//20[.]106[.]232[.]4/dll/nostartup.mp4. Esto consiste en un .Net Assembly codificado en base64, que ejecuta el metodo ddscfIvqgW.HoNYlDROLP.Run, con la cadena “txt.kjeggsd/171[.]81[.]331[.]591//:ptth” como parámetro. A continuación, se muestra una imagen del código de nostartup.mp4.
Este código contiene una cadena que es una URL invertida http://20[.]106[.]232[.]4/rumpe/rumpe.pdf de la cual se descarga el primer archivo. El segundo archivo es descargado de la URL que se le pasa como parámetro: http://195[.]133[.]18[.]171/dsggejk.txt.
Este archivo rumpe.pdf es un .Net Assembly, WAUgLeAhDG.oPLWzwWNWk.Nntp es el método inicialmente ejecutado via Reflection, recibiendo 2 parámetros: la cadena C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\RegAsm.exe y el archivo descargado dsggejk.txt.
Este archivo rumpe.pdf se encuentra ofuscado para hacer más complicado el análisis, esto se muestra en la Figura 14 que muestra el método WAUgLeAhDG.oPLWzwWNWk.Nntp:
Siguiendo la funcionalidad del archivo rumpe.pdf, este trata de ejecutar el método HandleRun más de 5 veces para tratar de obtener el valor adecuado, lo que significa que fue ejecutado correctamente.
El método HandleRun intenta ejecutar el binario legitimo de .NET: RegAsm.exe, para después infectarlo en memoria con el código del archivo dsggejk.txt, utilizando una técnica conocida como process hollowing.
Análisis del payload dsggejk.txt
Este archivo binario esta fuertemente ofuscado. Durante la ejecución de la funcionalidad principal de sus métodos, se puede ver que estos generalmente terminan con la ejecución del método de la dirección 0x4031e5, el cual recibe cuatro valores numéricos como parámetros. El ejemplo de esta llamada al método se muestra en la siguiente figura:
El malware usa el primer parámetro para escoger la biblioteca e intenta cargarla con una llamada recursiva, luego recupera la función Kernel32:loadLibrary que, eventualmente, continúa cargando los siguientes módulos:
Por otro lado, el segundo parámetro consiste en un valor en forma de hash del nombre de otros métodos, estos son calculados en la dirección 0x402c38 como se muestra en la siguiente imagen:
Este método pasa sobre los nombres de los métodos de la biblioteca hasta que encuentra el que coincide con el hash pasado y devuelve la dirección de este método.
Después de comprender la funcionalidad de este método proxy utilizado para recuperar los métodos, es posible comprender mejor la funcionalidad del resto del archivo. Se muestra la versión más clara del punto de entrada del binario en la siguiente figura:
Muestra que es capaz de recibir como argumento -u para hacerlo esperar antes de ejecutar la funcionalidad principal.
Se puede decir que este método, mainProcess por simplicidad, tiene una funcionalidad equivalente al código que se muestra en la siguiente figura.
El método getGUIDMD5 intenta obtener el valor de MachineGUID de la llave de registro SOFTWARE\\Microsoft\\Cryptography para después obtener el md5 de dicho valor y ponerlo en formato hexadecimal como se muestra en la Figura 21.
En caso de error, este creará una cadena de 10 caracteres pseudoaleatorios. La cadena obtenida al final será usada para la creación de un MUTEX para monitorear si el equipo ya ha sido previamente infectado.
El siguiente método a resaltar es UserDataSearch que contiene la mayoría de la funcionalidad de recolección de datos. Este contiene un arreglo con cien punteros a distintas funciones, cada uno especializado para obtener información de diferentes fuentes. En la siguiente figura se muestra una pequeña parte de este arreglo y su funcionamiento posterior.
Por ejemplo, la primera intenta obtener el valor CurrentVersion del registro de Mozilla Firefox.
Si este existe, tratará de obtener el path de la instalación para buscar la biblioteca nss3.dll en ese directorio:
De esta forma, será capaz de identificar el método de decodificación que usará más tarde.
Este mismo proceso se repetirá para sqlite3.dll o mozsqlite3.dll, en caso de no encontrar el primero.
Una vez que obtiene los métodos, el malware va a buscar el archivo Mozilla\\Firefox\\profiles.ini en el path %APPDATA% y adquirir los datos de cada usuario buscando en algunos archivos como logins.json, signons.sqlite, signons.txt, signons2.txt y signons3.txt.
Este proceso de búsqueda y adquisición de información sensible se realiza de formas distintas para cada uno de los métodos de búsqueda presentes en el binario. Todos comienzan buscando la existencia de un archivo, clave de registro o, en algunos casos, un archivo cuyo nombre coincide con algún patrón de búsqueda.
Después de la búsqueda de datos, el malware intenta obtener persistencia, primero tratando de crear un directorio en %APPDATA% con las cadenas obtenidas del método getGUIDMD5 como lo muestra el código en la siguiente figura:
Si la creación del path funciona, el método regkeyPersistence decodificará y cifrará el arreglo que obtiene la llave de registro Software\\Microsoft\\Windows\\CurrentVersion\\Run, la cual ejecutará el binario cada vez que un usuario inicie sesión como se muestra en el código a continuación:
Después de esto, el binario obtendrá parte de la información del sistema para exfiltrarla junto con los datos recopilados del dispositivo. Algunos de los datos a enviar se muestran en la siguiente figura:
Una vez que los datos son cargados en una variable global. Esta se le pasa al método 0x4141a7, que llamaremos Exfiltrate por simplicidad, y la respuesta obtenida de esta comunicación será procesada en un hilo como se muestra a continuación:
En este método Exfiltrate, hay cuatro URL’s cifradas que parecen ser parte de la comunicación con el C2. Estos se pudieron descifrar utilizando el mismo método que se usó para obtener la llave de registro para la persistencia, pero con diferente llave.
Al momento de este análisis, la única URL que continúa activa es alphastand[.]trade con la IP 194[.]195[.]211[.]98. como se muestra en la siguiente imagen:
Para esta IP descifrada, se probó más interacción en el C&C, pero no se recibieron respuestas.
Investigando más, estos sitios ya han sido reconocidos en otras campañas de Lokibot, particularmente en Latinoamérica en este mismo año, de acuerdo a múltiples fuentes que han sido notificadas como maliciosas. Pero si buscamos más profundamente, los tres primeros dominios no parecen mostrar ninguna información en sus registros de dominio más allá de que fueron creados hace años y apenas actualizados durante el mes de abril.
Únicamente alphastand[.]top muestra algo de información, la cual incluye lo que puede ser un nombre falso “Han Ya Xin” y el correo qiren88999@163[.]com.
El nombre no muestra más información. Sin embargo, en el correo, se pudo obtener la lista de otros dominios registrados con ese correo incluyendo algunos dominios en español. El único problema es que no aparece ninguno de los anteriores, pero sí son páginas que parecen tener esta inclinación a un uso ilícito.
De acuerdo a lo anterior, es posible que estos sitios sean activados y desactivados cada vez que son utilizados para alguna campaña de infección y deben ser monitoreados al igual que los dominios registrados por qiren88999@163[.]com.
El Equipo Ofensivo de Metabase Q lanzó una herramienta para descifrar automáticamente estas cadenas de variantes de Lokibot que está disponible para nuestra clientela.
Indicadores de compromiso
Hashes:
365adf790449e981a6356cd1b3ea23223bcb53e50507518b357b3260777e7353 74add990415fa6779653dd450fc795a8955830d9f589ec52fd6d21cb03059b78 91f79599310086768a01cae6ddc74c706c52dce989188979cd0a5f7c852fc265 c5a8e4fbd860d33cdb0898133576eb735e4b457c3d2033e37047cc21dcd7635c ffaa161d5fcdd37fd7a93b945d6e1ec63576761f009b62b311ae1da885665856 edc448fa057ca3b9e3ce07ed3ff8694d8d6827de6fa11d5e9779fb11b1d4f2e1
URLs:
195[.]133[.]18[.]171/ddCrpted.jpg
20[.]106[.]232[.]4/dll/nostartup.mp4
20[.]106[.]232[.]4/rumpe/rumpe.pdf
195[.]133[.]18[.]171/dsggejk.txt
kbfvzoboss[.]bid/alien/fre.php
alphastand[.]trade/alien/fre.php
alphastand[.]win/alien/fre.php
alphastand[.]top/alien/fre.php
Dominios:
universalnet[.]mx
kbfvzoboss[.]bid
alphastand[.]trade
alphastand[.]win
alphastand[.]top
Filenames:
comprobante.PDF.rar
comprobante.PDF.wsf
%Temp%\Done.vbs
Sender:
notificaciones@notificaciones.<removed>.com.mx
// Conclusión
Con nuestro servicio de Threat Intelligence, identificamos de forma proactiva amenazas que acechan a las empresas en la región de América Latina, permitiéndoles tomar acciones preventivas antes de ser expuestas por atacantes. Esto lo conseguimos al tener agentes encubiertos en foros privados de acceso restringido, lo que nos brinda visibilidad. Adicionalmente, como parte de nuestro servicio de Threat Intelligence monitoreamos las marcas, a personas de alto perfil o VIPs de las organizaciones, sitios apócrifos, campañas de malware, atribución para identificar a los actores detrás de las campañas. De esta manera, acabamos con el problema de raíz.
// ¿Cómo funciona Threat Intelligence?
OCE-TI-01: Phishing y sitios sospechosos
Corresponde al análisis en diversas fuentes en las que el equipo ofensivo de Metabase Q Threat Intelligence tiene visibilidad tratando de identificar sitios de phishing, campañas de spam, troyanos bancarios y/o ADs comprados por adversarios para colocar sitios apócrifos en los principales motores de búsquedas.
OCE-TI-02: Metadatos
Derivado de la identificación de documentos alojados en sitios de nuestros clientes, el equipo ofensivo de Metabase Q Threat Intelligence tiene la capacidad de identificar datos dentro de los mismo datos de los archivos, los cuales podrían revelar información importante que sería utilizada por adversarios durante su fase de reconocimiento.
OCE-TI-03: Monitoreo de marca
Corresponde a la identificación de perfiles, cuentas, nombres de usuario, páginas y blogs en fuentes abiertas y cerradas que utilicen el nombre y marca de algún cliente sin autorización y que promuevan algún producto y servicio para habilitar algún tipo de fraude o vector de ataque en el ciberespacio. Este servicio incluye el VIP Monitoring de altos puestos ejecutivos.
OCE-TI-04: Data Leaks
Corresponde al análisis de fuentes relacionadas recopilar fugas de información de terceros que publican cuentas de correo corporativas que fueron utilizadas para registrarse en sitios externos, los cuales se vieron afectados en algún momento y, por tal motivo, el nombre de usuario y contraseña se encuentran comprometidos.
También incluye la identificación de repositorios públicos que exponen información potencialmente sensible y confidencial. Finalmente, incluye la identificación de sitios alojados tipo Pastebins que revelan credenciales de usuarios de organizaciones extraídos de algún sistema mal configurado, exposición por error o inclusive alguna intrusión.
OCE-TI-05: Deep Web & Darknet
Corresponde al análisis de fuentes cerradas tales como; foros underground, foros de cibercrimen y mercados negros, en los que adversarios y personas usuarias dedicadas a actividades ilícitas publican y comercializan información de diversas organizaciones. El equipo ofensivo de Metabase Q Threat Intelligence tiene la capacidad de realizar tareas de infiltración en dichas fuentes e identificar de forma proactiva la publicación de datos relevantes.
OCE-TI-06: Malware
Análisis y seguimiento de campañas de malware que podrían estar relacionadas con infraestructura de alguno de nuestros clientes, así como, artefactos maliciosos que usen el nombre de algún cliente para entregar malware conocido o dirigido como parte de alguna campaña local, o incluso que infecte software legitimo de la compañía para fines económicos. Se entrega un writeup detallado del malware con sus respectivos indicadores de ataque (IOAs, por sus siglas en inglés) e indicadores de compromiso (IOCs, por sus siglas en inglés) que sirven a nuestros clientes para tomar medidas proactivas.
OCE-TI-07: Adversarios relevantes
Corresponde al seguimiento de adversarios de la región que son relevantes para los diferentes sectores en los que participan nuestros clientes. El equipo ofensivo de Metabase Q Threat Intelligence trabaja en el constante perfilamiento del posicionamiento de adversarios para proporcionar el detalle de sus TTPs (Técnicas, Tácticas y Procedimientos).
Cuando este servicio es ligado al servicio de APT Simulation, podemos replicar nuevas técnicas en la red de nuestros clientes a través de la creación de malware en nuestro laboratorio, para la medición y fortalecimiento inmediato de controles de seguridad en procesos, gente y tecnología.
¿Quieres evaluar como reaccionaria tu equipo de Blue Team ante un intento de infección de Redline en tu organización? ¡Contáctanos!
OCE-TI-08: VIP Monitoring
Corresponde al análisis en diversas fuentes en las que el equipo ofensivo de Metabase Q Threat Intelligence (OCE-TI) tiene visibilidad y busca identificar información personal, tanto información que no debería estar pública como aquella información generada por la actividad en línea de la entidad.
OCE-TI-09 Rastreo de BINs en el Ciberespacio
Objetivo
El objetivo del OCE-TI mencionado es proporcionar una visibilidad de los BIN (Número de Identificación Bancario) de los productos (Tarjetas) de distintas entidades financieras, filtrados en distintos sitios de la web superficial, profunda e incluso en la Darknet.
Antecedentes
Debido a que en la jerga del cibercrimen dedicado al Carding (generación, obtención, administración, comercialización y uso de información y números de tarjetas bancarias de manera ilegal) cambia constantemente para evitar que los servicios de Threat Intelligence los perfilen, las búsquedas por sintaxis tienen que estar siendo rediseñadas constantemente. Sin embargo, los BINs se mantienen como un método de investigación en el cual se puede identificar la entidad financiera detrás de un producto. Es por ello que este OCE-TI se añade como servicio al catálogo teniendo sus métodos, técnicas y subtécnicas de investigación.
OCE-TI-10: On-demand interaction
Con nuestros agentes encubiertos, interactuamos directamente con actores a solicitud de nuestros clientes para extraer información de primera mano que les permita tomar decisiones de forma proactiva.