Nuevo malware BlackDog: Campaña de Man-in-the-Browser dirigida a México

BlackDog Logo

Visión general

Entre la última semana de junio y la tercera de agosto, SCILabs identificó una nueva campaña de malware, la cual se está distribuyendo a través de phishing con el pretexto de supuestas facturas y que realiza ataques Man-in-the-Browser utilizando dominios como kawaitravelmexico[.]com y facturamx[.]club, suplantando al Servicio de Administración Tributaria (SAT) en México y sitios como hxxp[:]//www[.]sat[.]gob[.]mx.

Su principal objetivo es robar información de los usuarios de entidades financieras, inyectando código en el navegador Chrome, por medio de una extensión maliciosa.

Durante cerca de cinco semanas, SCILabs continuó con las actividades de monitoreo e identificó dos variantes de esta campaña que, debido a sus características, nombró como BlackDog. SCILabs realizó múltiples investigaciones para determinar si existe alguna relación entre este malware y otras familias como Magnant, BokBot, Chaes, y Kronos; sin embargo, no se encontró ninguna relación directa entre ellas.

Por último, cabe mencionar que los artefactos que se utilizan en la cadena de infección de esta campaña, identificados por SCILabs, tienen una baja tasa de detección por parte de las soluciones de antivirus en la plataforma VirusTotal.

¿Cómo puede afectar a una organización?

El objetivo principal de esta campaña es realizar un ataque Man-in-the-Browser para robar información bancaria de todo tipo de usuarios. Además, durante la cadena de infección, los atacantes podrían utilizar los droppers identificados por SCILabs para descargar malware adicional y más peligroso, como ransomware.

Si un ataque es exitoso, podría causar pérdidas económicas y de reputación; además, los ciberdelincuentes podrían hacer mal uso de la información obtenida, filtrándola o vendiéndola en foros clandestinos o en el mercado negro.

Análisis

Contexto de la amenaza, primera campaña analizada en junio de 2022

SCILabs identificó, en fuentes públicas, el dominio facturamx[.]club, que simula ser un sitio de facturación de México, y al realizar la investigación se recuperó el artefacto con el que se inicia la cadena de infección.

El primer artefacto malicioso encontrado por SCILabs fue feb.hta, descargado de facturemx[.]mx/feb.hta, que corresponde a una plantilla HTML con un script ofuscado de tipo VBS.

Primera etapa del malware

Figura 1 – Primera etapa del malware (archivo HTA)

Si la víctima abre el archivo .hta, ejecuta un script ofuscado de PowerShell, cuyo objetivo es descargar y ejecutar la segunda etapa del malware.

Script de PowerShell - Segunda etapa del malware

Figura 2 – Script ofuscado de PowerShell – Segunda etapa del malware

El malware crea una tarea programada para ejecutar el archivo correspondiente a la tercera etapa de la infección, el cual está ofuscado y es del tipo .jse (JScript Encoded Script Format), que tiene como objetivo generar persistencia y descargar los artefactos de la cuarta etapa de la infección.

Tarea programada - Tercera etapa del malware

Figura 3 – Tarea programada para ejecutar la tercera etapa del malware

 

Tercera etapa del malware

Figura 4 – Tercera etapa del malware (archivo JSE)

El artefacto .jse se encarga de descargar los siguientes archivos:

  • json: archivo manifest en formato JSON que contiene información sobre la extensión maliciosa de Google Chrome, que será instalada posteriormente.
  • seguro.js: extensión maliciosa de Google Chrome, desarrollada con código JavaScript
  • Screenshotfrom202034-58.png: archivo de tipo PNG que simula una transferencia bancaria.
  • lnk and Chrome1.lnk: acceso directo de Google Chrome, utilizado por el atacante para generar persistencia y cargar la extensión maliciosa a través del parámetro –load-extension, para realizar el ataque Man-in-the-Browser.

El archivo .jse abre la imagen Screenshotfrom202034-58.png en pantalla completa, utilizando rundll32, mientras que los archivos .lnk generan persistencia en la ruta de inicio de Windows e instalan una extensión de Google Chrome llamada “Seguridad”.

Función para abrir en pantalla completa

Figura 5 – Función de abrir en pantalla completa a través de rundll32 (archivo PNG)

 

Transferencia bancaria falsa

Figura 6 – Archivo PNG simulando ser una transferencia bancaria

 

Accesos directos

Figura 7 – Archivos LNK añadidos a la ruta de inicio

 

Acceso directo cargando la extensión maliciosa

Figura 8 – Archivo LNK cargando la extensión del atacante

 

Extension maliciosa añadida a ruta del sistema

Figura 9 – Extensión del atacante, añadida a la ruta %LOCALAPPDATA%

 

Javascript ofuscado

Figura 10 – Archivo JS ofuscado (seguro.js)

 

Extensión maliciosa

Figura 11 – Extensión maliciosa de Google Chrome

Si la víctima abre el navegador Chrome después de que el atacante ha instalado la extensión maliciosa, comienza el ataque MitB. La extensión tiene como objetivo inyectar una petición externa a un recurso JavaScript en el DOM de las páginas visitadas por el usuario.

Javascript externo inyectado por la extensión maliciosa

Figura 12 – Recurso JS externo inyectado por la extensión maliciosa

El recurso externo inyectado por la extensión maliciosa contiene comprobaciones de la URL, para identificar en qué página bancaria se encuentra la víctima. Otro script llama a un recurso externo, dependiendo del sitio bancario que este visitando el usuario.

Cuarta etapa del malware

Figura 13 – Cuarta etapa del malware (recurso 8vZ9d1-ad.js)

Para cada sitio bancario en el script 8vZ9d1-ad.js, el atacante desarrolló código JavaScript que inyecta plantillas HTML falsas en el DOM de las páginas de los bancos visitados.

Código de Javascript

Figura 14 – Código JS personalizado para la página falsa de un conocido banco

Una vez inyectado todo el código malicioso, la víctima verá en su navegador una réplica de la página bancaria legítima y la información que introduzca se enviará al servidor C2 del atacante.

Proceso de inyección de código

Figura 15 – Proceso de inyección de código malicioso

 

Formulario falso

Figura 16 – Formulario falso mostrado por el atacante una vez que el usuario ingresa datos

SCILabs tiene la hipótesis de que el atacante podría estar realizando ataques dirigidos a empleados de ciertas empresas, ya que la imagen utilizada como pretexto en la cadena de infección contiene el nombre de una persona y una compañía específicas.

Información encontrada en la cadena de infección

Figura 17 – Información encontrada en la imagen utilizada en la cadena de infección

Contexto de la amenaza, segunda campana analizada en agosto de 2022

Durante el monitoreo de seguridad en LATAM se identificó, en fuentes públicas, el dominio https[:]//www[.]kawaitravelmexico[.]com/SAT[-]Portal[-]Descargas[-]Actualizacion[-]Tributaria.

En el sitio Web apócrifo, SCILabs encontró inconsistencias en el nombre de dominio y el nombre de contacto registrado en la base datos who.is. También se detectaron errores de escritura, como se muestra en la siguiente imagen.

Comparación de sitios web

Figura 18 – Sitio Web apócrifo observado durante la supervisión de seguridad (izquierda), comparado con un sitio Web legítimo (derecha)

Si el usuario hace clic en el botón “Descargar”, el sitio Web descarga un archivo comprimido en formato zip, llamado “SAT_Policy2022.zip”, que contiene a su vez un archivo JavaScript llamado “SAT_Policy.js”.

Archivo comprimido descargado

Figura 19 – Archivo comprimido descargado del sitio Web apócrifo

Una vez ejecutado el primer dropper, se inicia la cadena de infección descrita en la investigación anterior.

Cambios importantes entre las campañas de agosto y junio

SCILabs observó lo siguiente durante la ejecución del malware:

  • La infraestructura ha cambiado y el primer dropper es ahora un archivo JavaScript, para reducir el flujo de ataque y hacer la infección más rápida.
  • Si el usuario introduce sus datos, estos serán enviados al servidor del ciberdelincuente y el malware mostrará una ventana emergente con un botón para descargar un ejecutable. Si el usuario hace clic en “Descargar Asistencia Bancanet” (el mensaje varía dependiendo el banco), será redirigido a la página oficial de TeamViewer, y la descarga comenzará automáticamente.

Ventanas emergentes desplegadas

Figura 20 – Ventanas emergentes desplegadas para descargar un software de asistencia (I)

 

Ventanas emergentes desplegadas

Figura 21 – Ventanas emergentes desplegadas para descargar un software de asistencia (II)

 

Descarga automática de TeamViewer

Figura 22 – Descarga automática de TeamViewer

Tras analizar el ejecutable descargado, SCILabs determinó que se trata de una herramienta legítima y no se observó ningún comportamiento malicioso, por lo que se tienen dos hipótesis al respecto:

  • Se trata de una actualización de la campaña anterior, para hacerla más efectiva al generar mayor confianza en la víctima.
  • La descarga de esta herramienta sugiere que en el futuro el ciberdelincuente utilizará técnicas de ingeniería social para obtener las credenciales de TeamViewer y así conseguir el control remoto del equipo de la víctima.

En la última campaña, el atacante está utilizando una plantilla para robar las credenciales de correo electrónico de las víctimas:

Plantilla para robar credenciales

Figura 23 – Plantilla para robar credenciales de correo electrónico

Durante la investigación, SCILabs observó un nuevo mecanismo defensivo de evasión: cuando se intenta inspeccionar el código de los sitios Web visitados en el navegador Chrome infectado, se habilita automáticamente el depurador y no permite continuar el análisis, debido a que el código malicioso contiene un bucle infinito para habilitar el depurador y pausarlo.

Inspector de código

Figura 24 – Inspector de código con depuración automática

Flujo de ataque

La siguiente imagen describe el flujo de ataque observado durante el mes de junio:

Flujo de ataque BlackDog

Figura 25 – Flujo de ataque de la primera muestra recuperada por SCILabs

Y a continuación, el flujo de ataque observado durante el mes de agosto:

Flujo de ataque de la variante recuperada por SCILabs

Figura 26 – Flujo de ataque de la variante recuperada por SCILabs

Resumen técnico

  • El acceso inicial se realiza, probablemente, a través de correos electrónicos que suplantan un sitio legítimo del Servicio de Administración Tributaria de México y que incitan a las víctimas a descargar e instalar un artefacto malicioso con el que comienza la cadena de infección.
  • La página principal proporciona instrucciones para descargar e instalar el primer
  • Una imagen que simula una transferencia bancaria (probablemente utilizada como distracción y motivación, para que el usuario introduzca sus credenciales de la banca en línea) aparece en la pantalla, tras ejecutar el primer
  • El archivo .hta contiene código VBS ofuscado, que ejecuta funciones de PowerShell, cuyo objetivo es descargar el archivo php#.jse en la ruta %appdata%/Roaming y crear una tarea programada para ejecutarlo.
  • El archivo js o feb.php#.jse, según el caso, contiene código ofuscado que añade una extensión maliciosa de Google Chrome en la ruta %localappdata% junto con su archivo manifest, una imagen en la ruta %localappdata%/Temp que simula un recibo de transferencia y dos accesos directos de Google Chrome en la ruta de inicio, que tienen por objetivo cargar la extensión maliciosa en cada ejecución.
  • Cuando se ejecuta el archivo .js a través de rundll32, se muestra, en pantalla completa, la imagen del falso recibo y se genera la persistencia en la ruta de inicio de Windows a través de los accesos directos ejecutados. Además, se instala en Google Chrome la extensión maliciosa, que tiene como objetivo realizar el ataque MitB.
  • Si la víctima abre el navegador Google Chrome y visita una página bancaria, el recurso 8vZ9d1-ad.js se inyecta en el DOM del sitio Web visitado.
  • El recurso JavaScript 8vZ9d1-ad.js contiene llamadas a otros recursos externos, dependiendo del sitio del banco que visita la víctima, para mostrar una plantilla que suplanta al portal bancario.
  • Por último, si la víctima ingresa información, esta es enviada al servidor C2 del atacante.

Comparación entre las campañas de BlackDog y otras campañas de malware

Para determinar si se trata de una nueva campaña, el equipo de SCILabs investigó en fuentes públicas sobre diferentes campañas y encontró similitudes en algunas de ellas:

  • Magnant: uso de archivos EXE o ISO para su instalación. Esta amenaza tiene como objetivo la instalación de un backdoor mediante una extensión maliciosa de Chrome para robar credenciales bancarias, se dirige especialmente a Norteamérica y Australia.
  • IceID Stelear AKA BokBot: utiliza documentos maliciosos de Office con macros, normalmente distribuidos por phishing, para iniciar la cadena de infección. En este caso, los ciberdelincuentes utilizan imágenes con esteganografía para realizar diferentes tareas durante el flujo de ataque, dirigido principalmente a la región de APAC.
  • Chaes: la distribución se basa en sitios comprometidos para descargar e instalar un JavaScript que inicia la cadena de infección, pero en este caso es sólo para preparar un entorno Python. Se dirige principalmente a Brasil y algunos nombres de los archivos instalados están escritos en portugués. Finalmente instala al menos cinco extensiones maliciosas de Chrome, para ejecutar diferentes tareas, como conexiones a C2, a marketplaces o robar credenciales.
  • Kronos: la ejecución es a través de archivos EXE. Los ciberdelincuentes utilizan un kit de phishing e inyección de código similar, pero en este caso, también utilizan imágenes con esteganografía y un entorno TOR para conectarse con su servidor C2. No hay más similitudes entre las campañas.

Nota: las amenazas listadas se han tenido en cuenta porque también utilizan código JavaScript o tienen Plugins escritos en este lenguaje.

Tras esta investigación, el equipo de SCILabs determinó que, a pesar de las similitudes, ninguna de las campañas utilizaba las mismas TTP durante su cadena de infección, por lo que, con base en sus características particulares, SCILabs la nombró como BlackDog.

TTP observados, alineados con el marco ATT&CK de MITRE

Tabla MITRE de ATT&CK

Tabla 1 – TTP observados, alineados con el marco ATT&CK de MITRE

Conclusiones

SCILabs considera que el peligro de esta campaña radica en tres aspectos principales:

  • Rápida actualización de sus droppers y TTP durante la cadena de infección.
  • Podría utilizarse para desplegar otros tipos de malware más peligrosos, como ransomware, que pueden causar mayores daños a las organizaciones.
  • Los artefactos utilizados tienen una tasa de detección muy baja por parte de soluciones de antivirus.

Durante la investigación de esta amenaza, SCILabs observó un grupo notable de características que no están presentes en otras campañas, tales como:

  • Uso e inyección de código JavaScript; dirigido sólo a usuarios mexicanos y probablemente distribuido por phishing.
  • Instalación de una extensión maliciosa de
  • Ataque Man-in-The-Browser.
  • Suplantación de sitios legítimos de muchos bancos mexicanos.

Este ataque podría ser especialmente efectivo porque la mayoría de los usuarios no suelen tener el control del navegador Google Chrome y sus plugin o extensiones.

SCILabs cree que debido a la efectividad de las técnicas del ataque Man-in-the-Browser, se seguirán viendo campañas similares durante el resto del año.

Por último, SCILabs recomienda tomar las siguientes medidas:

  • Añadir los indicadores de compromiso obtenidos en esta investigación a sus soluciones de seguridad.
  • Realizar caza de amenazas en busca de complementos o extensiones maliciosas en los navegadores de su empresa.
  • Tener una política estricta respecto al uso e instalación de complementos o extensiones, especialmente en Google Chrome.
  • Buscar archivos sospechosos con nombres como js, 8vZ9d1-ad.js o SAT_Policy.js.
  • Estar atentos a carpetas o archivos sospechosos creados en %APPDATA%, %LOCALAPPDATA%/TEMP y %LOCALAPPDATA%.
  • Monitorear accesos directos del navegador Chrome que utilicen el parámetro –load-extension para ejecutar código o extensiones maliciosas.

También es fundamental realizar campañas de concientización sobre el buen uso de las herramientas de acceso a Internet y la difusión de las técnicas de ingeniería social utilizadas por los ciberdelincuentes para distribuir programas maliciosos.

IOC

 

Hash MD5

E3636A8F7690363F1B20B43216DAEA79

9DDB858C2C70BA20BF95E814138109EA

DA23CC54F02481F7C09622AD858DC52D

F53272F2C3249518A5F70B68920B0A26

1B5003647BBAE52962136AE3CCE9B140

F6602CF167A7A687A6510ACF347A5532

7BF728A71F2D25095D843B4287354013

C0BB58DBDCC80C28A924F18575970A08

C8A606291C1C5F62AD3F176A9BA38C18

4A274021641DE59F810A0D8EE8F1578D

B2E1F08C53033C91B0F3589DF04E0870

1B5003647BBAE52962136AE3CCE9B140

F6602CF167A7A687A6510ACF347A5532

BF8A90379BAFAA636EC90A6FEE2A239C

CE8B31603C46B8C8F9057A48ED389352

4F6F69970F7EE06CAE53518B4B567F17

D6C309BDB7336543A618A5154166D4A6

9456E2D1CEDC94BA2A11739F9406FD3B

F281ADFB6FB12D79DEF69D9CDCB5A91B

898DA26633A5E64E572F3717FAF43B9B

FDFF1FA1935EF2929EC06B96AC9386D6

15E32BF9C93F92BFCE1F00EF26C40D9F

06B2BBBE49DE76D13306E5BAC693F7BB

C0B2B350D09D3A789BD21887F3CC08D6

B8F651AC504C739CA5B9285124A3ECBD

CB2EE959AE1059C1E87DA7B3AB264C78

 

Dominios

HXXPS[:]//FACTURACIONMEXICO[.]NET/CHOCKA[.]PHP

HXXPS[:]//DLXFREIGHT[.]BID/UADMIN/GATE[.]PHP

HXXPS[:]//FACTURACIONMEXICO[.]NET/8VZ9D1-AD[.]JS

FACTURAMX[.]CLUB/8VZ9D1-AD[.]JS

FACTURAMX[.]CLUB

HXXPS[:]//LLOYDMETALFAB[.]COM/DESCARGAS/FEB[.]PHP#[.]JSE

HXXPS[:]//WWW[.]KAWAITRAVELMEXICO[.]COM/SAT[-]PORTAL[-]DESCARGAS[-]ACTUALIZACION[-]TRIBUTARIA

HXXPS[:]//FACTURACIONMEXICO[.]NET/CHOA[.]PHP

HXXPS[:]//DLXFREIGHT[.]BID/W1Q5DXR7TE/GATE[.]PHP

HXXPS[:]//DLXFREIGHT[.]BID/W1Q5DXR7TE/GATE[.]PHP?PL=TOKEN&LINK=BMX&CALLBACK=JQUERY32007615543501712587_1659630759896&DATA=%7B%22ONLINE_BIDER%22%3A1%2C%22W%22%3A0%2C%22DEV%22%3A3%7D&_=1659630760036

HXXPS[:]//DLXFREIGHT[.]BID/W1Q5DXR7TE/GATE[.]PHP?PL=TOKEN&LINK=INTER&CALLBACK=JSONP1659633991587&_=1659634028100&DATA=%7B%22ONLINE_BIDER%22%3A1%2C%22W%22%3A0%2C%22DEV%22%3A3%7D

HXXPS[:]//DLXFREIGHT[.]BID/MX/BB/BJIO[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/MONE/MAIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/SAN/MAIN[.]JS

HXXPS[:]//CDNJS[.]CLOUDFLARE[.]COM/AJAX/LIBS/JQUERY/3[.]2[.]0/JQUERY[.]MIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/HNET/MAIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/BMXE/MAIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/INT/B_INTER[.]JS

HXXPS[:]//CDNJS[.]CLOUDFLARE[.]COM/AJAX/LIBS/JQUERY/3[.]2[.]0/JQUERY[.]MIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/HS/MAIN[.]JS

HXXPS[:]//CDNJS[.]CLOUDFLARE[.]COM/AJAX/LIBS/JQUERY/3[.]2[.]0/JQUERY[.]MIN[.]JS

HXXPS[:]//DLXFREIGHT[.]BID/MX/SANE/MAIN[.]JS

HXXPS[:]//BBVA-COM-MX[.]8GEMIR[.]ASIA

 

Nombres de Archivo

SAT_POLICY2022.ZIP

SAT_POLICY.JS

._SAT_POLICY.JS

SEGURO.JS

MANIFEST.JSON

SCREENSHOTFROM202034-58.PNG

8VZ9D1-AD.JS

FEB.HTA

FEB.PHP#.JSE

SCREENSHOTFROM202034-58.PNG

SEGURO.JS

MANIFEST.JSON

8VZ9D1-AD.JS

8VZ9D1.JS

OK.JS

MAIN.JS

MAIN.JS

B_INTER.JS

MAIN.JS

MAIN.JS

BACKIMAGEN2022.JPG

CONTIMAGEN2022.JPG

JRIMAGEN2022.JPG

MANIMAGEN2022.JPG

SATDESCARGA.ZIP

SAT.JS

 

Rutas en FileSystem

%APPDATA%

%LOCALAPPDATA%/TEMP

%LOCALAPPDATA%

%SYSTEMDRIVE%\USERS\USERNAME\APPDATA\ROAMING\MICROSOFT\WINDOWS\START MENU\PROGRAMS\STARTUP

 

IOC Observables

 

Hash MD5

C9DBCC2233B752055DE6ED75E56E0C30

3ECDF2253E63541D570486575EF7CD66

C8C6692A2BDC9D362F7370E63188927C

3D82A8BF4275C8D0D62EC20839CF24EE

1A7A6116EA1CA388903977FA48567D08

9CFF860F447C0E88D5AB0E61344BF802

817B2386BEBDEB905830547672990C66

C9DBCC2233B752055DE6ED75E56E0C30

 

Nombres de Archivo

CHROME.LNK

CHROME1.LNK

TEAMVIEWER_SETUP_X64.EXE

TV_X64.EXE

TV_W32.EXE

LNK1IMAGEN2021.JPG

LNKIMAGEN2021.JPG

LNK.JPG