Threat Analysis: Catasia

Catasia Logo

Eventos de Catasia en enero de 2019 reutilizan viejas tácticas, técnicas y procedimientos Se detectaron eventos en enero de 2019 similares a los registrados en el periodo de octubre a diciembre de 2018, en donde los ciberactores detrás de Catasia siguen reutilizando las mismas tácticas, técnicas y procedimientos observados desde 2015 en varias fases del ataque; por ello, estos eventos se pueden atribuir con alto nivel de certeza al mismo comportamiento observado previamente de Catasia, y debido a ello, las reglas generadas por SCILabs para la detección de esta amenaza de red y host en ese entonces, siguen siendo efectivas para detectar los últimos eventos generados. En esta etapa el objetivo final es redirigir a los usuarios del banco Santander a un sitio de phishing para robar sus credenciales de acceso, así como también las credenciales de acceso a sus cuentas de correo electrónico. Además, también tiene la capacidad de ejecutar un malware de control remoto llamado hVNC (hidden VNC), desde donde se pueden realizar varias acciones maliciosas. Las instituciones bancarias afectadas hasta el momento no están definidas en el código inicial, sino que son enviadas por el servidor de comando y control, por lo que otras instituciones financieras también podrían estar afectadas. Así como en fases anteriores, el envío de este malware se dirige a una gran diversidad de sectores e industrias, pero todas ellas enfocadas en México, es decir, el carácter de esta amenaza sigue estando dirigida a afectar a usuarios e instituciones de nuestro país. El ataque consiste en suplantar a una organización con una gran base de usuarios, ya sea pública o privada, como la Comisión Federal de Electricidad (CFE) o el Servicio de Administración Tributaria (SAT); luego se incluye en un correo de phishing un vínculo para la descarga de un archivo zip, el cual contiene el ejecutable de malware de primera fase. Al ejecutarse, este genera persistencia y se comunica con el dominio de comando y control del atacante para descargar y ejecutar malware de segunda fase. El malware de segunda fase a su vez hace una redirección en navegadores de Internet para hacer que los usuarios de sitios de Banca Electrónica de México sean llevados a sitios de phishing con la intención de robar su usuario y contraseña, además de robar las credenciales de sus cuentas de correo electrónico. Este programa también contiene cadenas de texto para buscar billeteras de criptomonedas haciendo referencia a los sitios Bitso y Local.Bitcoins, así como funciones para supervisar lo que el usuario copia en el portapapeles. El malware de fase tres es hvnc.exe, descargado del mismo dominio de comando y control, el cual tiene funcionalidades para tomar control del equipo comprometido de forma oculta por el usuario. Algunos tipos de malware bancario como Gootkit y Ramnit han utilizado malware de tipo HVNC para realizar fraude bancario, así que es posible que Catasia también tenga esas capacidades.

Análisis

A continuación, se presentan los hallazgos recabados en la investigación de este evento y posteriormente, una comparación de las similitudes de las fases de este ataque, con otros eventos que el equipo de SCILabs ha documentado de Catasia desde el 2015 hasta la actualidad. El malware es propagado por medio de mensajes de correo electrónico que suplantan a organizaciones con una base de clientes muy amplia, en el caso analizado, la Comisión Federal de Electricida (CFE). En el mensaje se indica que se le envía la factura al cliente y que está disponible en formato Word y PDF. Al revisar los vínculos de ambas opciones, se identifica que contienen el mismo vínculo que hace referencia al archivo “cfe_factura.zip”, alojado en un sitio que no tiene relación alguna con CFE.

El archivo “CFE_Factura.zip” que se descarga al hacer clic en alguno de los vínculos, contiene otro archivo zip con el nombre “CFE_Factura 08-01-2019.zip”, que a su vez contiene el archivo “CFE_Factura 08-01- 2019.exe”. Cabe destacar que la fecha embebida coincide con la fecha en la que se mandó el correo electrónico de suplantación. Al comparar este evento con otro ocurrido el pasado 4 de julio de 2017 el cual fue documentado por SCILabs, se observa una coincidencia en las tácticas, técnicas y procedimientos utilizados en la fase de entrega, ya que también se utilizó un artefacto similar para la entrega del malware de primera fase. En ese evento la organización suplantada fue HSBC, y el correo electrónico tenía un vínculo para descargar el archivo “Transpaso_HSBC.zip”, que contenía otro archivo zip con el nombre “Transpaso_HSBC 04-07- 2017.zip”, que a su vez contenía el ejecutable final de nombre “Transpaso_HSBC 04-07-2017.exe”. En ambos casos, la fecha utilizada en los artefactos tiene el mismo formato de DD-MM-YYYY y coincide con la fecha de envio del correo malicioso.

Otro evento similar ocurrió el 31 de mayo de 2017, donde los ciberactores suplantaron a la organización SAT en un correo electrónico que incluía dos vínculos, pero en este caso, supuestamente relacionados con citas programadas de esta institución.

Al hacer clic en los vínculos, se hace una redirección a un archivo .zip con el nombre “SAT_citacion.zip”, que a su vez contiene el archivo “SAT_citacion 31-05-2017.zip”, el cual a su vez contiene el archivo “SAT_citacion 31-05-2017.exe”. Nuevamente la fecha embebida en los archivos zip coincide con la fecha de envío del correo. En la siguiente figura se muestra la estructura de archivos zip:

Cabe destacar que esta forma de generar los archivos zip es específica de Catasia en la fase de entrega, ya que hasta el momento no se han documentado archivos zip de entrega de malware similares asociados con otra campaña. También se identificaron otros eventos donde el ciberactor ocupa archivos con extensiones .cpl y .scr en lugar de .exe, pero sin cambar el resto de las tácticas, técnicas y procedimientos. Ambos documentos zip son detectados con una regla YARA elaborada por SCIlabs en 2017, la cual es utilizada para detectar este tipo de archivos de entrega, misma que se muestra a continuación: rule Catasia_delivery_zipfile { meta: author = “SCILabs” comment = “Detects zip file used to deliver Catasia executables” revision = 3 strings: $local_file = { 50 4b 03 04 } $scr_ext = “.scr” nocase $exe_ext = “.exe” nocase $cpl_ext = “.cpl” nocase $re1 = /(0?[1-9]|[12][0-9]|3[01])-(0?[1-9]|1[012])-\d{4}/ condition: // look for the ZIP header uint32(0) == 0x04034b50 and // contains exactly two zip files #local_file == 2 and //file size filesize > 100KB and filesize < 600KB and // second zip file contains a filename that includes an executable extension

($scr_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) or $exe_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) or $cpl_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26))) and // second zip file contains a filename that includes the date in dd-mm-yyyy format $re1 in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) }

Fase de instalación

Cuando se ejecuta el malware observado en enero de 2019, este primero crea una segunda instancia de algún proceso válido del sistema como explorer.exe o msiexec en el que inyecta código malicioso y se instala de forma persistente en la ruta C:\ProgramData\Google Updater 2.03\. Cabe destacar que el malware habilita mecanismos de protección para evitar que se pueda copiar el archivo usando mecanismos tradicionales del sistema (Windows API).

Para asegurar su persistencia, el malware, mediante el código malicioso inyectado en el proceso del sistema, crea de manera continua alguno o los dos siguientes valores del registro de Windows: “HKU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Google Updater 2.03” y/o “HKU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Google Updater 2.03”, esto para asegurar la ejecución del malware en la ruta C:\ProgramData\Google Updater 2.03. Al compararlo con múltiples eventos de Catasia desde 2015 hasta 2018, se observa una similitud en la generación de una segunda instancia del proceso explorer.exe, la creación de malware con nombre aleatorio en la ruta “C:\ProgramData”, y el uso de las siguientes llaves de registro para generar persistencia: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Device Driver Setup y HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Device Driver Setup

En la siguiente imagen se puede observar una de las similitudes en las tácticas y técnicas utilizadas con un evento registrado en septiembre de 2015, donde se muestra la doble instancia del proceso explorer.exe. Este comportamiento se registra en máquinas virtuales, ya que en un entorno real, a veces muestra un comprotamiento diferente inyectando código malioso en otro proceso del sistema, por ejemplo, msiexec.

A continaución se muestra la instalación del malware con nombre aleatorio en la ruta C:\ProgramData:

Otra similitud es que en ambos casos el malware se instaló en %ProgramData%, la diferencia es que de 2015 a 2017 el atacante decidió crear la carpeta “Device Driver Setup”, y en 2018 optó por crear la carpeta “Google Updater”, este comportamiento se ha mantenido hasta la fecha en la que se elabora este reporte, y salvo este punto, el resto de los TTPs usados son iguales. Es importante tomar en cuenta que no solo podría ser el programa explorer.exe, sino cualquier programa válido del sistema, ya que también se ha observado que utiliza el programa msiexec.exe, en lugar del programa explorer.exe. Comando y control El malware observado en enero de 2019 contiene embebidos varios nombres de dominio que puede utilizar, y en caso de no poder contactar con alguno de ellos, intenta con el siguiente dominio en la lista hasta llegar al final de la lista. Esta característica le provee al malware un método para prolongar su vida útil, ya que el bloqueo de uno de los nombres de dominio utilizados hace que simplemente intente con el siguiente y continue con sus actividades. El malware contiene los siguientes dominios de comando y control:

▪ moscow66.online (activo en diciembre)

▪ moscow77.online (activo del 7 al 13 de enero de 2019)

▪ moscow88.online (dominio activado el 14 de enero de 2019)

▪ moscow99.online (inactivo al momento de la elaboración de este reporte)

▪ moscow00.online (inactivo al momento de la elaboración de este reporte)

▪ moscow12.online (inactivo al momento de la elaboración de este reporte)

Sobre los dominios latentes, SCILabs predice que en los próximos días o semanas se activarán de forma gradual. Cabe destacar que al compararlo con los artefactos de octubre a diciembre de 2018, se identificó que son similares a los utilizados por esa muestra de malware.

Los dominios usados se listan a continuación mostrando una clara secuencia, de los que cabe destacar que sólo el dominio moscow66 es idéntico a los identificados en los artefactos de octubre-diciembre de 2018:

▪ moscow1.online (activo del 18 de noviembre de 2017 al 27 de septiembre de 2018)

▪ moscow22.online (activo del 27 de septiembre al 31 de octubre de 2018)

▪ moscow33.online (activo del 16 de octubre al 2 de noviembre de 2018)

▪ moscow44.online (activo del 9 al 20 de noviembre de 2018)

▪ moscow55.online (activo del 26 de noviembre al 19 de diciembre de 2018)

▪ moscow66.online (activo en diciembre de 2018)

Aquí se muestra un comportamiento muy particular del malware de primera fase de todos los periodos de Catasia, debido a que este contiene una lista de nombres de dominio embebida en el programa, y si no puede contactar a alguno de los dominios, entonces intenta con el siguiente dominio en la lista hasta agotar todos los dominios. Los que se indican a continuación son los nombres de dominio observados en las muestras de 2015 y 2017: Evento de 2015

• sasax.cat

• lalax.cat

• vavax.cat

• sasax.asia

• lalax.asia

• sasax2.cat

• lalax2.cat

• vavax2.cat

Evento de 2017

• nknkd.cat

• trtr44.cat

• sdsdfg.cat

• gagaxx.cat

• eaxsess.cat

• drdrfdd.cat

En cuanto al formato de comunicación del malware al dominio de comando y control, este intenta enviar una petición POST HTTP al recurso /forum/logout.php. La información está embebida en el cuerpo de la petición e incluye 9 variables, seis de ellas están enumeradas del 1 al 6. El valor y nombre de las variables siempre es diferente en cada petición, pero el formato es el mismo. En la siguiente figura se muestra la petición realizada al sitio de comando y control, que al momento del análisis, era moscow77.online:

Al comparar esta petición de comando y control con una vista en el evento de 2015, se identifica que el recurso URL es idéntico: /forum/logout.php?pid=id, o bien /forum/loguot.php. Así mismo, se observa que en ese entonces también estaba ocupando nueve variables en el método POST y de la misma manera, las últimas seis están nombradas de la misma forma y en secuencia del uno al seis. En la siguiente imagen se observa la petición de comando y control (obtenida en un entorno controlado) identificada en 2015:

En todas las peticiones POST el nombre y contenido de las variables cambia, sin embargo, tienen un patrón en común que permite detectarlas y prevenirlas con una regla de análisis de tráfico. Cabe destacar que en 2017 el formato de petición también era el mismo, tal como se muestra en la siguiente captura de pantalla de la petición de comando y control de uno de los eventos de ese año:

Como se observa, a pesar de que los ciberactores detrás de Catasia han utilizado una gran cantidad de dominios y direcciones IP, también han reutilizado las herramientas para implementar la comunicación de comando y control con sus equipos. La regla de detección elaborada por SCILabs en 2015, sigue siendo efectiva en la detección y prevención de esta petición de comando y control para el evento de enero de 2019, tal como se muestra en la siguiente figura:

Cuando el servidor de comando y control recibe la petición maliciosa, descarga al equipo comprometido malware adicional (segunda fase). Se destaca que el malware de segunda fase sí ha ido variando durante los años en que la campaña ha estado activa. Es importante mencionar que en septiembre de 2017, los ciberactores utilizaron otro mecanismo de comando y control que ocupaba un formato diferente y comunicación TCP por el puerto 53, sin embargo, por algún motivo volivieron a utilizar el formato anterior que va sobre HTTP. A continuación, se muestra el artefacto descargado en 2017 llamado g.exe:

El programa g.exe es un programa simple que altera el archivo de host del equipo comprometido y agrega sitios de phishing para las instituciones bancarias Santander, Banamex y HSBC. En la siguiente imagen se observa el archivo de host después de ejecutar el programa g.exe. Además, también agrega entrada para múltiples proveedores de correo electrónico, en su momento, esto sólo generaba una denegación de servicio, pero es posible que se tratara de una funcionalidad en desarrollo para implementar un servidor web local en los equipos infectados y así robar sus credenciales de correo, que es otra de las motivaciones de esta campaña.

A diferencia del evento de 2017, el malware de segunda fase observado a partir de finales del 2018 y usado hasta el momento en enero de 2019, descarga un archivo llamado “KeyMoscow.xx.yy.exe”, donde xx y yy son números, y xx corresponde con los números del sitio de comando y control. En la siguiente figura se muestra la actividad del evento de octubre de 2018, donde se observó la descarga del malware “KeyMoscow33.40.exe”y “KeyMoscow33.35.exe”:

Post explotación

En el evento identificado en octubre de 2018, cuando el malware KeyMoscow se ejecuta, genera peticiones al recurso /red/info.php cada minuto al mismo dominio de comando y control. El evento de enero de 2019 tiene una estructura similar, con la diferencia de que se reduce el tiempo de comunicación con el servidor de comando y control y hace dos o tres peticiones por minuto, como se muestra en la siguiente figura:

En este caso, al analizar la respuesta que se proporciona del servidor a la petición /red/info.php,se muestra que contiene un archivo de configuración usado para hacer una redirección a un sitio de phishing del banco Santander.

Al intentar navegar al sitio legítimo de Banco Santander con el navegador Internet Explorer, ocurre una redirección y automáticamente envía al usuario al sitio hxxps://casgp.com/mx/home/eai/EaiEmpresasWAR/inicio.do, confirmando que se trata de un sitio de phishing de esta institución bancaria.

Comportamiento de phishing, relevado después del reinicio y con .Net habilitado

Se instaló .Net en el equipo y se reinició para analizar su comportamiento, en esta ocasión el servidor de comando y control ya había cambiado a moscow88.online, y se identificó que se descargaron dos archivos con nombre KeyMoscow.xx.yy, y que después de la descarga del primero, se realizaron peticiones al recurso /red/info.php, un comportamiento casi idéntico que el de la muestra de octubre de 2018 con una única diferencia, que hay más peticiones por minuto a /red/info.php. En el caso de octubre de 2018 había una por minuto, y en este caso, hay dos o tres por minuto.

En este evento, al analizar la respuesta que se proporciona del servidor a la petición /red/info.php, se muestra que contiene un archivo de configuración usado para hacer una redirección a un sitio de phishing del Banco Santander.

Poco después se observa la descarga del malware de tercera fase hvnc.exe.

Al intentar navegar al sitio legítimo de Banco Santander con el navegador Microsoft Edge, se muestra un mensaje indicando que el servidor tiene una tecnología no compatible y que se debe abrir con Internet Explorer.

Sin embargo, el malware realizó esta alteración, ya que al entrar a este sitio en el equipo sin infectar, muestra el sitio de esta institución bancaria con normalidad y no indica que tenga tecnología web anticuada. Al acceder con Internet Explorer, ocurre una redirección y automáticamente envía al usuario al sitio hxxps://casgp.com/mx/home/eai/EaiEmpresasWAR/inicio.do

Después de unos instantes se carga el sitio web de phishing, confirmando que se trata de un sitio de phishing de esta institución bancaria, como se muestra en las siguientes imágenes:

También se abre una ventana con la siguiente liga:

Otras acciones ejecutadas por los programas maliciosos A continuación se describen otras modificaciones realizadas por el programa KeyRedir (KeyMoscowxx.yy.exe): En caso de detectar que .Net no está habilitado, ejecuta la herramienta fondue.exe con la intención de descargar e instalar .Net. En este momento se desconoce por qué lo hace, pero es probable que alguna de las funcionalidades de este programa requiera .Net.

Se destaca que el malware abre una ventana para que el usuario autorice la instalación de este software faltante, aunque si ya se encuentra previamente instalado la ventana no se despliega.

En ambos eventos (octubre de 2018 y enero de 2019), el malware KeyMoscow ejecuta regedit con privilegios de administrador, para lo cual muestra una ventana de elevación de privilegios de Windows y que requiere que el usuario la acepte.

Inmediatamente después se deshabilitan los servicios wuauserv, wscsvc y Shared Access para reducir el nivel de seguridad del sistema.

El programa regedit, que fue ejecutado por el programa KeyMoscow77.35.exe, agrega una llave de registro de Windows para ejecutar el programa stfusujwdtv.exe cada vez que se ejecute el programa Restaurar Sistema (rstrui.exe).

El malware ocupa la misma técnica para configurar la ejecución del programa fvatmxngucc.exe cada vez que se ejecuta el programa MRT.exe (herramienta de eliminación de software malitencionado), y la ejecución del programa ahivluftphz.exe cada vez que se ejecuta el programa mrtstub.exe, la cual también está relacionada con la herramienta de eliminación de software malitencionado.

La anomalía es que al momento de su análisis, no se observó la creación de ninguno de los programas referenciados para ser ejecutados por medio de las llaves de registro antes mencionadas, por lo que es posible que esto corresponda a una tercera fase no ejecutada por el malware.

Ambos programas de tipo KeyMoscow tienen cadenas de texto con el nombre de los sitios de criptomonedas LocalBitcoins.com y Bitso, así como una expresión regular para buscar carteras de Bitcoin.

El programa también tiene cadenas para acceder a una cartera Bitcoin en el portapapeles.

Algunas de las cadenas de texto identificadas en el malware, hacen referencia a la capacidad de realizar Hidden Virtual Network Computing (HVNC), programa de tercera fase identificado en el análisis dinámico. El componente HVNC le permite a los atacantes tomar control remoto del equipo comprometido y ejecutar una diversidad de acciones de manera oculta.

Por medio de la funcionalidad HVNC, el atacante podría realizar acciones adicionales en el equipo comprometido, y tomar control de él. La función HVNC ha sido usada por otras muestras de malware como Gootkit para efectuar fraude financiero, por lo que es posible que esta sea una de las capacidades de este malware, en particular por el historial de eventos anteriores, en donde ha demostrado la intención de afectar a clientes del sector financiero. Cabe destacar que a la fecha del reporte, el archivo hvnc.exe se sigue analizando.

Recomendaciones

  • Buscar y bloquear los indicadores de compromiso proporcionados. • Implementar las reglas de detección de Catasia a nivel de endpoint elaboradas por SCILabs (regla YARA) y de tráfico (reglas de snort), las cuales han mostrado tener una alta efectividad durante la campaña. • Implementar el bloqueo y la detección de los nombres de dominio, que son efectivos sólo en un periodo breve, pero que son fáciles de implementar. • Implementar el monitoreo de las URLs en los dispositivos de red como proxys y mediante equipos de monitoreo de endpoint.

Indicadores de compromiso Indicadores de red Peticiones DNS

▪ moscow1[.]online ▪ moscow22[.]online

▪ moscow33[.]online

▪ moscow44[.]online

▪ moscow55[.]online

▪ moscow66[.]online

▪ moscow77[.]online

▪ moscow88[.]online

▪ moscow99[.]online

▪ moscow00[.]online

▪ moscow12[.]online

▪ casagp[.]com

▪ caerlsa[.]com

En general se recomienda buscar peticiones a dominios que comiencen en moscow y terminen en online, ya que se ha visto que este es el patrón que están utilizando los ciberactores.

Direcciones IP

▪ 104.168.140.87

▪ 104.248.184.92

▪ 107.175.60.63

▪ 140.82.24.184

▪ 151.80.13.34

▪ 159.65.130.246

▪ 159.89.135.156

▪ 162.255.119.125

▪ 172.81.134.156

▪ 192.64.119.122

▪ 192.64.119.84

▪ 195.206.181.210

▪ 197.85.185.162

▪ 206.189.77.19

▪ 31.220.53.59

▪ 31.220.56.144

▪ 45.79.218.235

▪ 50.7.112.87

▪ 64.44.141.104

URLs De comando y control

▪ “/red/info.php”

▪ “/forum/logout.php”

▪ “/proxy/assno.chickenkiller.com.exe” De entrega

▪ hxxps://www.caerlsa.com/mb/CFE_Factura.zip Regla de Snort

▪ alert tcp any any -> any 80 (msg: "SCILabs-APT-Catasia-Callback /forum/logout.php";content:"POST"; http_method; content:"/forum/logout.php"; http_uri; content:"6="; pcre:"/[a-z]+=[0-9a-f]+&[a-z]+=[0-9A[1]F]+&[a-z]+=[0-9A-F]+&[a-z]+1=[0-9A-F]+&[a-z]+2=[0-9A-F]+&[a-z]+3=[0-9A-F]+&[a-z]+4=[0-9A-F]+&[a[1]z]+5=[0-9A-F]+&[a-z]+6=[0-9A-F]/i"; flow:established,to_server; priority:1; sid:2024219;rev:3)

Indicadores de host

▪ Llave de registro “HKU\Software\Microsoft\Windows\CurrentVersion\Run\Google Updater 2.03

▪ Llave de registro “HKU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Google Updater 2.03

▪ Archivo “C:\ProgramData\Google Updater 2.03\.exe”.

Regla

 YARA rule Catasia_delivery_zipfile

 { meta: author = " David Bernal - SCILabs" comment = "Detects zip file used to deliver Catasia executables" revision = 3 strings: $local_file = { 50 4b 03 04 } $scr_ext = ".scr" nocase $exe_ext = ".exe" nocase $cpl_ext = ".cpl" nocase $re1 = /(0?[1-9]|[12][0-9]|3[01])-(0?[1-9]|1[012])-\d{4}/ condition: // look for the ZIP header uint32(0) == 0x04034b50 and // contains exactly two zip files #local_file == 2 and //file size filesize > 100KB and filesize < 600KB and // second zip file contains a filename that includes ".exe". ($scr_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) or $exe_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) or $cpl_ext in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26))) and // second zip file contains a filename that includes the date in dd-mm-yyyy format $re1 in (@local_file[2]+30..@local_file[2]+30+uint16(@local_file[2]+26)) }

Rutas pdb identificadas

▪ c:\Users\W7\Downloads\kur\KeyRedirEx\KeyRedirEx\obj\Debug\KeyRedirEx.pdb

▪ C:\vted\CeLoa\Release\bay.pdb

▪ OriginalFilename: KeyRedirEx.exe