Análisis de malware

Malware troyano URSA: cómo funciona y cómo prevenirlo

19 de mayo de por Pedro Tavares

Han surgido diferentes tipos de malware con distintos enfoques y formas de operar. En, se documentó y analizó un nuevo malware llamado URSA, también conocido como malware Mispadu por ESET. Se trata de un malware troyano que roba credenciales de los ordenadores de la víctima y ejecuta una superposición bancaria para recopilar datos bancarios simulando las páginas del portal bancario legítimo. Se analizará el modus operandi y las técnicas y procedimientos tácticos (TTP) del troyano URSA y compartiremos algunas medidas preventivas para contrarrestar posibles infecciones de esta naturaleza.

El modus operandi de la URSA

Desde junio de, las campañas de malspam relacionadas con el troyano URSA han afectado a usuarios en varios países, entre ellos Bolivia, Chile, México, Argentina, Ecuador, Perú, Colombia, Paraguay, Costa Rica, Brasil, España, Italia y Portugal.

URSA es un malware relativamente reciente y tiene como objetivo robar credenciales bancarias a través de los navegadores cuando la víctima visita sus portales bancarios. Este malware se caracteriza por obtener credenciales de dispositivos infectados, principalmente navegadores web, clientes de correo electrónico como Outlook, Thunderbird e incluso clientes FTP. Para ello, el malware utiliza herramientas legítimas integradas (LOLbins) que permiten eludir la detección y respuesta de endpoints (EDR) y el software antivirus tradicional.

La amenaza se difunde globalmente a través de campañas de ingeniería social que se hacen pasar por diferentes tipos de empresas de varios sectores. Como se observa en la 1, los mensajes difundidos están relacionados con facturas y muchas veces se envían a final de mes para simular un escenario real relacionado con el pago de facturas, alquileres, etc. [HAGA CLIC EN LAS IMÁGENES PARA AMPLIAR]

1: Plantillas de phishing utilizadas en campañas del troyano URSA.

El archivo malicioso (.zip) suele descargarse cuando la víctima visita el enlace disponible en el cuerpo del correo electrónico. La cadena de infección se compone de varias madrigueras de conejo y, después de ejecutar varios pasos de desofuscación, el cargador/descargador comienza el proceso de obtener la siguiente etapa del servidor C2 disponible en Internet ( paso 9, resaltado en la 2).

2: Diagrama de alto nivel del malware troyano URSA.

Se realizan varias validaciones antes de infectar el dispositivo de destino, que incluyen:

Mediante este enfoque, los delincuentes validan si la víctima puede infectarse. Sólo los dispositivos con la configuración de idioma que se presenta a continuación están infectados por esta amenaza.

IdiomaCódigo de idioma Español – España (tradicional)1034 Portugués – Brasil1046 Español – México Portugués – Portugal Español58378, 3082

Según el blog seguranca-informatica.pt , ” Si la computadora de la víctima se ejecuta en un ID de idioma diferente al codificado, o el nombre de la computadora es igual a “JOHN-PC “, el proceso de infección se detiene. Cambie el nombre de la computadora a ” JOHN-PC” es un interruptor potencial para evitar infecciones por URSA ” .

La última etapa maliciosa de URSA

Después de algunas rondas de técnicas de desofuscación, antidepuración y VM, se utiliza un ejecutable de AutoIT para inyectar la última etapa del malware URSA en la memoria. Este script es una versión modificada del compilador AutoIT y lo utilizan los delincuentes para evitar el análisis de comportamiento del antivirus durante el proceso de infección. Aunque este no es un TTP nuevo, el uso de este enfoque evita la detección de antivirus y EDR.

3: Inyección del proceso URSA mediante un archivo binario AutoIt.

Otro truco interesante empleado por este malware son los ejecutables integrados que se utilizan para realizar el proceso de recolección de credenciales. En detalle, las herramientas legítimas están disponibles dentro del binario y se inician dinámicamente durante su ejecución.

4: Herramientas legítimas disponibles dentro del binario de malware.

Como se observa en la 5, estas herramientas forman parte del conjunto de herramientas de Nir Sofer y algunas soluciones antivirus las clasifican como confiables. Al utilizarlos, los delincuentes obtienen un escenario totalmente indetectable. Los binarios WebBrowserPassView y Mail PassView de NirSoft recopilarán los datos del usuario y los enviarán al C2.

5: LOLbins utilizados por el troyano URSA para evitar su detección y recopilar credenciales de diferentes fuentes.

De la recolección de URSA al proceso de exfiltración

Durante el proceso de recolección se obtienen credenciales de diferentes localidades, entre ellas:

La 6 a continuación muestra los datos extraídos por este malware y enviados al C2 controlado por delincuentes.

6: Datos extraídos durante la ejecución del malware.

Según el análisis de seguranca-informatica.pt, varias organizaciones bancarias se ven afectadas por esta amenaza en todo el mundo. La lista completa se muestra a continuación.

.texto:039E67D0 00000010 unicode BMSC_BO

.texto:039E67EC 0000001C unicode BANCOUNION_BO

.texto:039E6814 0000000E unicode BNB_BO

.texto:039E6830 00000010 unicode BISA_BO

.texto:039E684C 0000000E unicode BCP_BO

.texto:039E6868 00000014 unicode FASSIL_BO

.texto:039E6888 00000018 unicode BANCOFIE_BO

.texto:039E68AC 00000018 unicode BANCOSOL_BO

.texto:039E68D0 0000000C unicode BG_BO

.texto:039E68E8 00000014 unicode BANECO_BO

.texto:039E6908 0000001A unicode CORPBANCA_CH

.texto:039E6930 00000010 unicode BBCA_CH

.texto:039E694C 00000024 unicode BANCOFALABELLA_CH

.texto:039E697C 000000nicode BANCOEDWARDS_CH

.texto:039E69A8 0000001E unicode BANCORIPLEY_CH

.texto:039E69D4 00000018 unicode TBANCWLS_CH

.texto:039E69F8 00000014 unicode BANEFE_CH

.texto:039E6A18 0000001C unicode SCOTIABANK_CH

.texto:039E6A40 00000010 unicode BICE_CH

.texto:039E6A5C 0000001C unicode BANCOINTER_CH

.texto:039E6A84 00000024 unicode BANCOCONSORCIO_CH

.texto:039E6AB4 00000010 unicode BITCOIN

.texto:039E6AD0 0000000E unicode PAYPAL

.texto:039E6AEC 00000014 unicode BANKIA_ES

.texto:039E6B0C 00000018 unicode SABADELL_ES

.texto:039E6B30 0000001A unicode BANKINTER_ES

.texto:039E6B58 00000018 unicode IBERCAJA_ES

.texto:039E6B7C 0000001A unicode LIBERBANK_ES

.texto:039E6BA4 00000014 unicode ABANCA_ES

.texto:039E6BC4 0000001C unicode KUTXABANCA_ES

.texto:039E6BEC 00000016 unicode UNICAJA_ES

.texto:039E6C10 00000012 unicode GERAL_PT

.texto:039E6C30 0000000E unicode BPI_PT

.texto:039E6C4C 0000001A unicode NOVOBANCO_PT

.texto:039E6C74 0000000E unicode BCP_PT

.texto:039E6C90 0000000E unicode CGD_PT

.texto:039E6CAC 00000014 unicode ACTIVO_PT

.texto:039E6CCC 00000018 unicode MONTEPIO_PT

.texto:039E6CF0 0000001C unicode CREDITOAGR_PT

.texto:039E6D18 0000000E unicode BPM_IT

.texto:039E6D34 00000010 unicode BPER_IT

.texto:039E6D50 00000016 unicode UNICRED_IT

.texto:039E6D74 00000018 unicode SAMPAOLO_IT

.texto:039E6D98 0000000E unicode BNL_IT

.texto:039E6DB4 00000018 unicode BANCAMPS_IT

.texto:039E6DD8 0000001A unicode SANTANDER_CH

.texto:039E6E00 0000001A unicode SANTANDER_ES

.texto:039E6E28 00000010 unicode BBVA_ES

.texto:039E6E44 0000001A unicode CAIXABANK_ES

.texto:039E6E6C 0000001A unicode SANTANDER_PT

.texto:039E6E94 00000010 unicode BBVA_MX

.texto:039E6EB0 00000014 unicode AZTECA_MX

.texto:039E6ED0 00000016 unicode BANAMEX_MX

.texto:039E6EF4 00000016 unicode BANORTE_MX

.texto:039E6F18 00000012 unicode SANTA_MX

.texto:039E6F38 00000010 unicode HSBC_MX

.texto:039E6F54 00000014 unicode SCOTIA_MX

.texto:039EA11C 0000000A unicode bbva

.text:039EA134 0000000A unicode méxico

.texto:039EA184 0000000A unicode BBVA

.texto:039EA1AC 0000000C banco unicode

.texto:039EA1C4 0000000E unicode azteca

.texto:039EA1E0 0000001A unicode Banco Azteca

.text:039EA0000001C unicode banconacional

.text:039EA230 00000010 unicode agrícola

.text:039EA24C 00000032 unicode Banco Nacional de México

.text:039EA28C 00000010 unicode banorte

.text:039EA2A8 00000010 unicode Banorte

.texto:039EA2C4 00000014 unicode santander

.text:039EA2E4 0000001E unicode bancadeempresa

.texto:039EA310 0000000C unicode méxico

.text:039EA328 00000012 unicode gobierno

.texto:039EA348 0000000A pyme Unicode

.text:039EA360 000000nicode Banco Santander

.texto:039EA38C 00000014 unicode caixabank

.texto:039EA3AC 00000008 bpi unicode

.texto:039EA3C0 00000014 unicode CaixaBank

.texto:039EA3E0 00000016 unicode scotiabank

.text:039EA404 0000000E Unicode Escocia

.texto:039EA4000000A unicode hsbc

.texto:039EA438 0000000A Unicode HSBC

.text:039EA450 0000000A solución Unicode

.text:039EA468 00000010 avance Unicode

.text:039EA484 00000012 inversor unicode

.text:039EA4A4 00000012 unicode Santader

.text:039EA4C4 00000016 cadena de bloques unicode

.texto:039EA4E8 00000010 bitcoin unicode

.texto:039EA504 00000010 binance unicode

.text:039EA50000012 base de monedas unicode

.text:039EA540 0000000E kraken unicode

.text:039EA55C 0000000E criptografía Unicode

.texto:039EA578 00000012 unicode primebit

.text:039EA598 0000000C bits Unicode

.texto:039EA5B0 0000000E unicode paypal

.texto:039EA5CC 0000000E unicode bankia

.text:039EA5E8 0000001C unicode bancosabadell

.text:039EA610 00000014 banco unicode

.texto:039EA630 00000012 unicode ibercaja

.texto:039EA650 00000014 unicode liberbank

.text:039EA670 0000000E unicode abanca

.texto:039EA68C 00000014 unicode kutxabank

.text:039EA6AC 0000001A unicode unicajabanco

.texto:039EA6D4 00000012 unicode bancobpi

.texto:039EA6F4 00000014 unicode novobanco

.text:039EA714 0000001C unicode mileniobcp

.text:039EA73C 0000001A unicode caixadirecta

.text:039EA764 00000016 unicode activobank

.text:039EA788 00000012 unicode montepio

.text:039EA7A8 00000014 crédito unicode

.text:039EA7C8 0000002C unicode bancapopolaredemilano

.texto:039EA800 00000012 unicode bancobpm

.texto:039EA8000000A código fuente unicode

.text:039EA838 00000014 unicode unicrédito

.text:039EA858 00000010 banca Unicode

.text:039EA874 00000028 unicode bancaintesasanpaolo

.texto:039EA8A8 00000008 Unicode bnl

.text:039EA8BC 0000000C banca unicode

.text:039EA8D4 00000012 bancamps Unicode

Cuando las víctimas acceden a las organizaciones bancarias objetivo, se activan ventanas superpuestas y las ventanas maliciosas se presentan según una secuencia bien definida. En detalle, los delincuentes pueden robar los datos de autenticación utilizados para acceder al portal bancario legítimo, eludiendo mecanismos de protección adicionales, como las capas de autenticación multifactor, e incluso realizando transferencias bancarias con el consentimiento del usuario. A continuación se muestran algunas ventanas superpuestas extraídas de ese proceso.

7: Ventanas superpuestas bancarias utilizadas por el troyano URSA para robar datos confidenciales durante el proceso de infección.

Finalmente, todos los datos recopilados se envían al servidor C2 disponible en Internet. Los servidores de URSA suelen estar geolocalizados en Brasil, como se documenta en la investigación original.

8: Detalles de las víctimas infectadas por el troyano URSA. Datos recopilados del servidor C2 en línea.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Medidas de prevención de la URSA

Aunque no existe una fórmula perfecta para combatir el malware en general, existen varias buenas prácticas que tienen como objetivo mejorar la resiliencia de un sistema y su protección:

Sources:

Full analysis and report, Segurança Informática

Mispadu Banking Trojan Resurfaces, TrendMicro