Cómo funciona Lokibot, el malware que utiliza Machete para robar información y credenciales de acceso

Aarón Jornet    29 junio, 2022
Foto: Ed Hardie / Unsplash

LokiBot es un malware utilizado de distintas maneras: como Backdoor, robo de credenciales o de criptoactivos. Dependiendo de las versión y de quién lo esté utilizando también sirve de puente para ejecución de otros ficheros maliciosos. Se ha visto también el uso de esta herramienta por otros grupos, como Gorgon group.

Dicho malware suele ser introducido mediante correos con documentos adjuntos y, dependiendo de la versión, se han visto distintas ejecuciones; desde explotaciones de vulnerabilidades, hasta distintos scripts que se entrelazan entre sí.

El objetivo final suele ser instaurarse en algún proceso, legítimo o lanzado por el mismo para servir de puerta trasera, obtener el máximo de información posible de la máquina y el usuario y mantener una comunicación con servidores de Command and Control (C&C). Según la víctima, se utilizará dicha herramienta para obtener todos los datos posibles o sustraer activos exfiltrando dicha información.

Machete es un grupo dedicado al robo de información y el espionaje que utiliza distintas herramientas, entre las que se encuentra LokiBot.

Machete actualmente no tiene país asociado, pero que se cree que su procedencia o parte de ella está en países hispanohablantes. Este grupo comenzó a actuar en 2010 y este año ha tenido un gran impacto en muchos países atacando a un gran número de ellos, haciendo hincapié en Latinoamérica, España y Rusia.

Cuáles son objetivos principales de Machete y qué herramientas utiliza

Sus objetivos principales son departamentos de defensa, entidades gubernamentales y empresas dedicadas a la energía y las telecomunicaciones.

La principal motivación de este grupo es el robo de información y el espionaje, en el cual destacan herramientas para sustraer todo tipo de información sensible que se usará para obtener ventajas estratégicas.

Las herramientas principales que han usado en su recorrido son en gran parte software desarrollado en Python. Los malwares usados por Machete para realizar Backdoors, robos de información y exfiltrar información en sus ataques son los siguientes:

  • LokiBot | Loki.RAT | Loki (Backdoor, Keylogger, Stealer): Malware dedicado a lanzar o ser lanzado por otros con el fin de obtener información relevante como datos de buscadores, credenciales de FTP y SSH, así como datos de correos para mandar todo lo recopilado a un C&C.
  • Machete (Backdoor, Stealer): Malware propio normalmente utilizado a través de SFX o RAR, el cual contendrá distintas herramientas, normalmente escritas en Python, para generar persistencia en el equipo, obtener información de la red y geolocalizar para posteriormente mandar la información a un C&C.
  • Pyark (Backdoor, Stealer, Exfiltration): Malware escrito en python normalmente utilizado para crear una backdoor generando persistencia en tareas y consiguiendo acceso a cámaras, micrófonos, FTP, buscadores, portapapeles, etc. para después exfiltrar la información.

Durante este año hemos visto distintas variantes de uso de Lokibot utilizadas por distintos grupos. Se han destacado siempre dos o tres versiones. Para tratar de agrupar la mayoría de estas se ha realizado el estudio sobre las versiones que más se han distribuido.

Vectores de entrada de LokiBot

LokiBot es una herramienta que este año se ha visto en gran medida distribuida por documentos adjuntos, utilizando la técnica de Spear-Phishing Attachment.

La manera de llegar hasta los objetivos era enviar correos fraudulentos para conseguir que la víctima descargue dicho adjunto y después ejecutar el siguiente paso.

En las múltiples versiones que se han encontrado prevale la de adjuntar un documento RTF (Rich Text Format) o DOC/XLS.

Encontramos distintas versiones de documentos como el caso anterior: un fichero .xlsx cuya función sería explotar la vulnerabilidad CVE-2017-11882 en la que aprovechándose de un mal uso de la memoria lanzaría código malicioso utilizando Microsoft Office Equation Editor conocido como EQNEDT32.

Observaríamos un lanzamiento de dicho binario que ejecutaría el Malware embebido.

En las versiones de RTF, encontraríamos un documento cuyo contenido a simple vista no nos daría gran información.

No obstante, dependiendo de versiones de este tipo de ficheros, encontraríamos en su interior el uso del mismo exploit EQNEDT32.exe

Variantes del malware LokiBot

Las oleadas de LokiBot en campañas y el uso de esta herramienta también en grupos deja tras de sí un gran número de versiones del mismo malware, que tienen un funcionamiento similar entre sí. Agrupando todas las versiones obtenemos dos que representarían la mayoría de las vistas este año 2022.

El resumen de ambas variantes sería el siguiente:

LokiBot variante 1

  • Tras la descarga y ejecución del documento se realizará una descarga o ejecución de scripts maliciosos
  • Posteriormente, si fuera una variante en la que se descarga el siguiente paso, realizaría esta utilizando un wget tras un powershell o cmd volcándolo a un script, habitualmente usando el nombre Done.vbs, aunque se han visto otras variantes. Si no, ejecutaría directamente un Wscript o Cscript.
  • Mas tarde veríamos la ejecución de un nuevo explorer.exe lanzando el script, en el caso de una descarga. Si no, la ejecución de Wscript o Cscript de un script.
  • Después realizaría de nuevo una ejecución con powershell para lanzar otro script ofuscado que finalizaría en la inyección de código a un software legítimo (Usando AppLaunch o InstallUtil entre otras).
  • Tras este paso, tendríamos a Lokibot dentro de un proceso legítimo donde empezaría las tareas de este Malware.

LokiBot variante 2

  • Tras la descarga y ejecución del documento se realizará una explotación de EQNEDT32.
  • Posteriormente se crearán ficheros en carpetas temporales (Temp | Public | ProgramData) habitualmente usando el nombre vbc.exe, aunque se han visto otros nombres.
  • Este creará otros ficheros en carpetas temporales en los que se apoyará posteriormente y le servirán de ficheros auxiliares
  • De los ficheros creados se realizará una inyección en uno de ellos tras una ejecución en estado suspendido, en la que obtendrá código de los ficheros auxiliares y la introducirá en la memoria de dicho proceso.
  • Tras esta inyección tendremos a Lokibot dentro de un proceso malicioso creado por un loader.

Cómo suelen funcionar las infecciones de LokiBot

Ambas variantes de LokiBot tienen pequeñas diferencias, en las que en ocasiones se apoyan en instaladores o introducen algún paso más u omiten otro. Pero la gran mayoría tienen un hilo de ejecución similar y su objetivo suele ser inyectar LokiBot en un proceso.

Un resumen general de como funcionarían la gran mayoría de infecciones por este Malware sería:

LokiBot: Versión 1

En la primera versión de LokiBot encontramos una que basa todo el hilo de ejecución en el uso de scripts ofuscados para llegar a su objetivo.

Encontraremos, tras la ejecución del documento, cómo un Wscript.exe o Cscript.exe lanza un Powershell.exe ofuscado que tratará de descargar falsos ficheros .mp4, .png o similar:

Tras esto invocará la ejecución del fichero descargado para lanzar un segundo script ofuscado. Dependiendo de versiones invocará un explorer.exe que lanzará un script que habrá dejado en carpetas temporales.

En ambos casos veremos la ejecución y cuyo contenido es de gran tamaño:

Vemos que la segunda parte del script se encargará de cargar en una variable un Portable ejecutable (PE)

Extraemos dicho binario y obtenemos un fichero .NET que pretende otra descarga a otra dirección para realizar una desofuscación:

Una vez el binario realiza la descarga, obtenemos otro fichero con extensión falsa .pdf, el cual es otro script ofuscado:

Realizando el reversing del código obtenemos la información para el desofuscado y veremos otra cabecera MZ (PE):

Encontramos dicho binario bastante reportado en VirusTotal, lo que indica que estas fases finales no son tan cambiantes.

Dicho fichero se trata de otro .NET que va a hacer la tarea de inyectar código dentro de otro proceso, normalmente AppLaunch.exe o InstallUtil.exe, aunque puede utilizar cualquier binario relacionado con .NET. Una vez inyectado tendríamos LokiBot dentro de un proceso legítimo utilizando la técnica de Process Hollowing:

Una vez inyectado en el proceso legítimo, Lokibot realizará, según la versión del payload, la obtención de información del equipo, usuarios, buscadores, entre otros.

LokiBot: Versión 2

En la segunda versión de este LokiBot el Malware basará todo el hilo de ejecución en el uso de diferentes binarios para llegar a su objetivo. Dichos ficheros van a estar lanzados en distintas carpetas para favorecer la evasión.

Tras la ejecución del documento obtendremos un EQNEDT32 explotando el CVE-2017-11882, el cual lanzará un binario en una carpeta temporal, en nuestro caso Public.

Nuestra versión contiene una variante en la que han introducido un installer por encima de la ejecución principal.

Obtenemos un script de ejecución habitual en Nullsoft, el cual indica cuáles son las carpetas donde va a guardar y a ejecutar los ficheros auxiliares que utilizará más tarde:

Veremos como se ejecuta un fichero svgsnex.exe cuyo nombre será distinto en cada versión y tras otro también habitual, vbc.exe. No obstante, este también es susceptible al cambio:

Vemos la creación de los ficheros auxiliares:

Analizando el fichero encontramos la función principal, que nos muestra que va a estar realizando un bucle:

En dicha función observamos que va a manipular, comprobar ficheros y a reservar espacios de memoria:

Con estos espacios de memoria vemos que posteriormente tendrá en buffer datos que introducirá durante la ejecución en la memoria de un proceso o un hilo. Se tratará de un bucle, por lo que irá rescatando información de su propia memoria y de ficheros auxiliares:

Dicha funcionalidad es dada para, con los datos que contiene este segundo ejecutable, junto con los ficheros lanzados en carpetas temporales, relanzar el mismo ejecutable svgsnex.exe con contenido adicional. Esta técnica la hará normalmente dejando el proceso en estado suspendido e inyectándole el código de LokiBot:

Lo que va a conseguir es, en vez de aprovechar un binario del sistema o legítimo como en la primera versión, utilizar el mismo ejecutable para inyectarse a sí mismo el código del LokiBot. De este modo veremos que las acciones de backdoor y stealer las realizará él mismo tras la inyección.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.