Informe sobre amenaza Janeleiro.mx
noviembre, 26, 2022
19 minutos de lectura
Por Jesus Dominguez de Ocelot, equipo ofensivo de Metabase Q
Contexto
Janeleiro es un malware que desde 2019 ataca a usuarios corporativos de bancos grandes en Brasil. Este malware muestra ventanas emergentes falsas que simulan ser formularios legítimos de bancos, para así lograr acceso no autorizado a la banca en línea de las cuentas de las víctimas.
Desde el 26 de enero de 2021, el equipo de Ocelot ha estado monitoreando una campaña activa de Janeleiro. Esta campaña se dirige tanto a tarjetahabientes de bancos mexicanos como a titulares de cuentas de criptomonedas.
Debido a la continua actividad de la campaña en México, hemos decidido hacer públicos sus detalles para evitar más infecciones por parte del grupo malicioso. Dada la región afectada, hemos denominado a esta variante como Janeleiro.mx.
En nuestro análisis, identificamos formularios falsos creados por esta variante de Janeleiro que imitan a los principales bancos de México como: BBVA, Santander, Banorte, HSBC, Scotiabank, Bajío, Banregio y Bitso. Estas formas se activan dependiendo del portal financiero al que acceda la víctima y su principal objetivo es robar credenciales, códigos generados por tokens físicos y cuentas de correo electrónico. A continuación, se detallan los diferentes tipos de ventanas falsas que se muestran a las víctimas:
- Actualización de alertas de seguridad
- Actualización de datos de contacto
- Verificación de contraseñas
- Sincronización del token
- Actualización de credenciales de acceso al banco
- Actualización de NIP
Para la infección inicial, atacantes hospedan el malware en portales comprometidos en países como EE. UU., Inglaterra y Argentina, los cuales cuentan con sitios pobremente protegidos e incluso, que no han sido actualizados por mucho tiempo.
Similitudes con Janeleiro de Brasil
Llegamos a la conclusión que Janeleiro.mx es una variante creada específicamente para México que mantiene ciertas características conocidas. Entre ellas, el lenguaje VB.net, la implementación de funcionalidades del conocido Remote Administration Tool (RAT)NjRAT, capacidad de control vía escritorio remoto e implementación de un keylogger sin privilegios de administrador. Al igual que Janeleiro, esta versión no viene ofuscada o empaquetada y no cuenta con ningún método de anti-debug o anti-sandbox.
Vista rápida de Janeleiro.mx
Infección inicial
El malware es distribuido mediante campañas de spear phishingcon enlaces maliciosos para intentar infectar a la víctima. Se detectaron sitios que aparentemente están comprometidos y los cuales alojan el malware. A diferencia de Janeleiro, que necesita de un archivo MSI para cargar la DLL (Dynamic-linklibrary) maliciosa, Janeleiro.mx es un ejecutable independiente que corre directamente en la máquina infectada.
A su vez, han existido otros sitios aparentemente comprometidos, pero que ya no se encuentran activos, sirviendo el malware. Los sitios son mostrados en la siguiente tabla:
Post-Infección
Una vez que se logra infectar el equipo, Janeleiro.mx monitorea activamente las ventanas que la víctima abre en el equipo y compara el nombre de dichas ventanas con un arreglo que contiene los nombres de los posibles bancos a los que intentará acceder la víctima. Una vez que el malware detecta la interacción con alguna de estas ventanas, este se conecta al servidor C2 del grupo atacante (ver Figura 3) para empezar con la manipulación de los formularios bancarios y poder obtener información sensible de la víctima.
El programa simplemente genera una instancia de cliente TCP que se conecta al C2 previamente configurado, en uno de los casos como»a0oi[.]cyou», correspondiente a la IP (107[.]172[.]39[.]4) y puerto(9090) como podemos ver en la Figura 4.
Se han identificado los siguientes dominios/IPs y puertos de los C2s utilizados:
A0oi[.]cyou ->107[.]172[.]39[.]4:9090, dominio creado el 23 de junio del 2020, y sirviendo el malware por primera vez el 30 de abril del 2021.
Otros C2s identificados:
45[.]61[.]137[.]101:9090
104[.]207[.]145[.]29:9090
Una vez establecida la conexión, atacantes empezarán a recibir un registro de todas las acciones que la víctima está realizando en su computadora. Por ejemplo, las ventanas que está abriendo, texto escrito, archivos ejecutados, etc.
Logramos engañar al malware redireccionándolo a nuestro propio C2 y para interactuar con él como lo hace el grupo malicioso (ver Figura 5).
Nota: La cadena “BawaneH” es usada como separador de las cadenas de texto capturadas por el malware.
Una vez establecida la conexión con el C2, atacantes tienen la posibilidad de mandar distintos comandos para empezar a generar los formularios bancarios falsos, o habilitar y deshabilitar ciertas funciones en el sistema operativo. Tales el caso del comando “GetDrives” que envía los discos lógicos disponibles de la víctima (ver Figura 6).
Por otro lado, simulamos cómo atacantes apagan el equipo de la víctima con el comando “Shutdown” que se puede ver en la Figura 7.
Interactuando con atacantes
Cabe señalar que, durante el análisis del malware, infectamos un equipo permitiendo que el grupo malicioso interactuara con él. El primer comando que mandaron fue “info”, el cual regresa los datos del equipo, usuarios que han iniciado sesión, versión del SO, etc. Se puede observar dicha información en la Figura 8.
Una vez que se dieron cuenta que estaban siendo monitoreados, terminaron la ejecución de Janeleiro.mx con el comando “Uninstall”, el cual elimina una llave del registro y finaliza la ejecución del malware como se muestra en la Figura 9.
De acuerdo con el análisis y la evidencia mostrada anteriormente, podemos clasificar en dos grupos los comandos que el C2 puede enviar al equipo infectado.
El primer grupo son comandos para administrar el sistema; estos permiten modificar registros, borrar archivos, modificar el portapapeles, obtener los procesos corriendo en el equipo, apagar y encender el monitor o equipo y cerrar la sesión del usuario, entre otras operaciones. A continuación, una lista de los comandos que pertenecen a este grupo:
El otro grupo de comandos se utiliza para generar las ventanas falsas de los portales bancarios, de acuerdo con la información recibida al inicio de la conexión con el C2. Tal es el caso que se muestra en la Figura 10, donde atacantes detectan que la víctima se ha conectado a BBVA mediante el navegador Edge de Windows.
Al reconocer el banco con el cual está interactuando la víctima, atacantes comienzan a lanzar los comandos correspondientes que presentarán los formularios falsos de esa entidad financiera.
El comando “BancomerBlockAndControl” (ver Figura 11) ejecutado desde el C2, muestra a la víctima el primer formulario falso en este caso correspondiente a BBVA (ver Figura 12).
Asimismo, bloquea totalmente el equipo para que la persona usuaria no interactúe con el sistema operativo intentando detener el ataque.
Además del bloqueo de la pantalla, Janeleiro.mx rechazará los intentos de ejecución del administrador de tareas (Taskmgr), que normalmente se ocupa para listar y terminar procesos en el sistema, garantizando la continua ejecución del malware. Podemos ver el código en la Figura 13.
Una vez que logran bloquear el equipo y mostrar la primera ventana falsa, continuarán enviando comandos para presentar nuevos formularios y poder robar los datos bancarios de sus víctimas. Estos otros formularios se muestran a continuación.
Cuando la víctima da click en “Aceptar”, los datos son enviados al C2 en texto plano. En la Figura 15 se puede observar la recepción de los datos llenados en el formulario.
Esta acción se repite para nuevas ventanas, como la que se muestra en la Figura 16, la cual solicita el código generado por la aplicación móvil o token de BBVA que es enviado al C2 del atacante.
Esto continúa hasta finalizar con una última ventana, que intenta mantener a la víctima fuera de toda sospecha, con un mensaje explicativo, como se observa en la Figura 17.
A continuación, se muestra la lista completa de comandos que permiten controlar las acciones de Janeleiro.mx en el equipo infectado, mostrando supuestos formularios de validación o actualización de datos:
Este proceso de robo se repite con otras entidades financieras. A continuación, veremos todos los formularios bancarios falsos preparados por atacantes.
Exfiltrando la información de la clientela de instituciones financieras
Janeleiro.mx DEMO
En el siguiente video demostramos el proceso antes descrito. Se observa cómo el malware monitorea a la víctima para presentarle formularios falsos que permitan el robo de información confidencial:
https://vimeo.com/574663165/f62975513f
Apéndice A
Indicadores de compromiso (IOCs)
Registros modificados
Mediante los comandos antes mencionados, el malware puede modificar los siguientes registros:
«HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System»,»DisableTaskMgr», «1»
«HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\SystemRestore»,»DisableSR», «0»
«HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System»,»DisableRegistryTools», «1»
«HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System»,»DisableTaskMgr», «0»
«HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Windows\\System»,»DisableCMD», «1»
«HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System»,»DisableRegistryTools», «0»
«software\\microsoft\\windows\\currentversion\\run»,true
«HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\SystemRestore», «DisableSR», «1»
«HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Windows\\System»,»DisableCMD», «0»
Mutex
Vanderbilt00X – Where X is a number from 1 to 9
Archivos creados
C:\%USERNAME%\Descargas\stub.exe -> archivo descargado
C:\%USERNAME%\AppData\Roaming\Vanderbilt007.log -> keylogger file
C:\%USERNAME%\%EXECUTION_FOLDER%\Dbg.txt
C:\%USERNAME%\AppData\Local\Microsoft\CLR_v4.0\UsageLogs\stub.exe.log
Variantes
URLs
These are the URLs linked to the malware download:
http[:]//morningstarlincoln[.]co[.]uk/site/bmw/studi[.]exe
http[:]//morningstarlincoln[.]co[.]uk/okokok/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/bmx/estudiante[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/bmx/
http[:]//morningstarlincoln[.]co[.]uk/site/juli/klmx[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/bmx/estudiante[.]exe/
http[:]//morningstarlincoln[.]co[.]uk/
http[:]//morningstarlincoln[.]co[.]uk/site/amg/todos[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/img/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mxmx/studiante[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/img/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/muks/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mexica/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/jejeje/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mexica/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/alpha/getdata[.]exe
http[:]//morningstarlincoln[.]co[.]uk/alpha/mexico[.]exe
http[:]//morningstarlincoln[.]co[.]uk/kakaka/mx[.]exe
http[:]//morningstarlincoln[.]co[.]uk/kakaka/getdata[.]exe
http[:]//morningstarlincoln[.]co[.]uk/getdata[.]exe
http[:]//morningstarlincoln[.]co[.]uk/aaaaa/hambre[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mams/aka[.]exe
http[:]//morningstarlincoln[.]co[.]uk/klklk/mex[.]exe
http[:]//morningstarlincoln[.]co[.]uk/okokok/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/lopo/malas[.]exe
http[:]//morningstarlincoln[.]co[.]uk/miuold/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/miuold/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/papapa/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/papapa/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/app/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/xml/xml[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mikik/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mikik/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mamamama/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mamamama/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/klgkjgjgg/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/klgkjgjgg/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/ksdksks/finales[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mamamamds/finsalidta[.]exe
http[:]//morningstarlincoln[.]co[.]uk/jajajaja/santois[.]exe
http[:]//morningstarlincoln[.]co[.]uk/edfgefe/getdata[.]exe
http[:]//morningstarlincoln[.]co[.]uk/edfgefe/final[.]exe
http[:]//morningstarlincoln[.]co[.]uk/mamamds/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/lalalala/bajio[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/lalalala/santo[.]exe
https[:]//morningstarlincoln[.]co[.]uk/site/4rr45g
http[:]//morningstarlincoln[.]co[.]uk/site/mama/
http[:]//morningstarlincoln[.]co[.]uk/site/mama/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okoko/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okoko/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okoko/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/kdkdkdkd/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/kdkdkdkd/
http[:]//morningstarlincoln[.]co[.]uk/site/kdkdkdkd/getdata[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/apapapa/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/apapapa/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/4rr45g/
http[:]//morningstarlincoln[.]co[.]uk/site/lolololl/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/maxmaxmamx/santander[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mxmxmx/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/sadasd/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okokoko/Kldirecto[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/lolololl/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okokoko/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/kilolkio/klcompletok[.]exe
http[:]//morningstarlincoln[.]co[.]uk/lopopopo/klcompletok[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/4rr45g/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/okokoko/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/dfefdf/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mxmxmx/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/ttgtgtgt/bajio[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/4rr45g/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/maxmaxmamx/bajio[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mamama/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mamama/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/dfefdf/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/apapapap/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/apapapap/Stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/apapapa/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mxmxmx/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/sadasd/stub[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/lslslsls/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/papapapapa/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/klklklklklkl/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/papapa/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mamamamama/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/alalalala/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/kgkgkggkkgkg/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/popopoopposs/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/dfdfdfdfdfdf/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/piojhiuoijhui/final[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/ioioioioi/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/pppppppp/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/llllllllll/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/favicon[.]ico
http[:]//morningstarlincoln[.]co[.]uk/site/ffff/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/temporal/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/mmmmm/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/lllllllll/klfinal[.]exe
http[:]//morningstarlincoln[.]co[.]uk/site/qqqqq/klfinal[.]exe
http[:]//adentity[.]com[[.]]mx/getdata[[.]]exe
http[:]//c1790736[.]ferozo[[.]]com/getdata2[[.]]exe
http://adentity[.]com[.]mx/getdata[.]exe
http://c1790736[.]ferozo[.]com/getdata2[.]exe
Direcciones y Puertos del C2
a0oi[.]cyou 107[.]172[.]39[.]4:9090
45[.]61[.]137[.]101:9090
104[.]207[.]145[.]29:9090