MalLocker.B: el nuevo Ransomware para Android


Como ya se desprende de anteriores informes y publicaciones acerca del malware bancario y del malware en general, tanto para dispositivos móviles como para ordenadores, una de las amenazas más populares actualmente es el ransomware.

Introducción

En entornos corporativos el ransomware está poniendo en serias dificultades a las empresas, que ven como de la noche a la mañana todos los archivos de sus sistemas informáticos acaban cifrados a causa de alguno de los ransomware más conocidos, entre los que destacan: Maze, REvil, Ragnar Locker y CLOP.

No es la primera vez que los creadores de malware migran su modelo de negocio para aprovecharse de los dispositivos móviles. Por ejemplo, Cerberus, GINP o Anubis Bankbot son algunas de las familias de malware bancario para Android más populares actualmente. Esta misma tendencia se empieza a ver también en el ransomware, que comienza su movimiento hacia dispositivos móviles. 

El modus operanding del malware para plataformas Android varía del malware concebido para ordenadores personales. En el caso del ransomware, es de especial interés analizar dichas variaciones respecto al ransomware dirigido a otras plataformas para adaptarnos completamente a este nuevo contexto, estar preparados y mejorar las herramientas para su identificación y contención.

Este informe se centra en el análisis del malware MalLocker.B, un sofisticado troyano de tipo ransomware detectado por Microsoft, que bloquea el dispositivo del usuario y solicita un rescate para que éste pueda seguir utilizándolo, para ello hace uso de una novedosa estrategia. 

Técnicas anti-análisis

La estrategia de protección de código más interesante que emplea este malware consiste en el uso de Intents de Android para dificultar la lectura del código encargado de descifrar las cadenas de texto, que se encuentran cifradas en el código.

El uso de Intents como medida de ofuscación es algo poco habitual en otras muestras de malware para Android, aunque es una técnica para despistar a los analistas que podría comenzar a verse con más frecuencia.

android-ramsonware-mallockerb-06

Código encargado de descifrar una de las cadenas de texto

En la anterior imagen se puede observar como la función VfUdWt crea un nuevo Intent antes de descifrar la cadena de texto, que tras ser descifrada se utiliza como acción del Intent (usando la función setAction).

Finalmente se llama al método getAction para obtener la cadena descifrada, almacenándola en la variable dcGsyDlOdlWg. En realidad la función que realiza el descifrado de la cadena es XqNMSKlCmaxBQD, pero incluyendo el código para iniciar un Intent se trata de despistar al analista, haciéndole perder tiempo.

android-ramsonware-mallockerb-01

Función de descifrado

 

Además del cifrado de cadenas, la aplicación incluye el payload cifrado entre los assets del APK. Tan pronto como comienza la ejecución, se carga el fichero cifrado, se descifra y comienza la ejecución del código malicioso.

En la siguiente imagen se pueden observar dos funciones que se utilizan para leer el contenido del fichero en el que se encuentra el código cifrado, y que tras ser descifrado se guarda en un nuevo fichero DEX para ser cargado y ejecutado.

Esta forma de protección sí se ha visto en otras muestras de malware bancario para Android, como Cerberus y Anubis Bankbot, en los que es habitual el empaquetado del payload.

 android-ramsonware-mallockerb-02

Funciones para descifrar el código y guardarlo como un fichero .DEX

Bloqueo del dispositivo

 En cuanto al bloqueo del dispositivo para solicitar un rescate, este ransomware no cifra los ficheros almacenados en el dispositivo, en su lugar bloquea el dispositivo mostrando un mensaje al usuario con las instrucciones que debe seguir para realizar el pago y recuperar el control del dispositivo.

 android-ramsonware-mallockerb-03

Mensaje de bloqueo en ruso


Esta estrategia de bloqueo del dispositivo recuerda a las estrategias utilizadas por el malware bancario para mostrar sus inyecciones, en las que muestran una ventana con las páginas web de phishing tan pronto como el usuario abre la app de la entidad bancaria afectada para robar sus credenciales.

Sin embargo, en este caso se aprovechan ciertas funcionalidades que permiten a este troyano mantener la ventana con el mensaje de bloqueo por encima del resto de ventanas sin que el usuario pueda cerrarla.

En concreto, la imagen siguiente muestra el código que permite a este malware mantener abierta la ventana con el mensaje de bloqueo, aprovechando la funcionalidad de notificaciones para mostrar una notificación de tipo ‘call’, que tiene la mayor prioridad.

Además, el uso de ‘setFullScreenIntent’, permite mostrar el mensaje de bloqueo a pantalla completa cuando el usuario interactúa con la notificación.

 android-ramsonware-mallockerb-04

Código encargado de mostrar constantemente la ventana de bloqueo

Para lograr que el usuario no pueda cerrar la ventana de bloqueo del ransomware, éste hace uso de la función ‘onUserLeaveHint’, que es llamada por el sistema tan pronto como el usuario intenta cerrar la ventana, permitiendo al atacante volver a mostrar el mensaje una y otra vez.

 android-ramsonware-mallockerb-05

Declaración de onUserLeaveHint para evitar que el usuario pueda cerrar la ventana

Conclusiones

El malware para Android tiende a seguir el mismo camino que ha seguido a lo largo de estos últimos años el malware para sistemas de escritorio, para los que a día de hoy el ransomware es una de las principales amenazas.

Al igual que ocurre en sistemas de escritorio, los desarrolladores de software malicioso han encontrado en el ransomware una nueva forma de inversión muy lucrativa, ya que les permite obtener unos mayores beneficios con menor esfuerzo.

En este caso nos encontramos frente a una aplicación maliciosa que implementa funcionalidad de ransomware sin cifrar los ficheros de sus víctimas, en su lugar, se bloquea el acceso al dispositivo utilizando una ventana emergente que el usuario no puede cerrar con instrucciones para pagar el rescate.

Para lograr que el usuario no pueda cerrar la ventana de bloqueo, este hace uso de funcionalidad relacionada con la gestión de notificaciones, algo nuevo que no se había visto antes en otras muestras de este tipo.

Los trucos utilizados por este malware para esconder su operativa podrían ser utilizados por malware bancario en un futuro para mostrar las inyecciones de phishing que suelen utilizar para robar las credenciales de sus víctimas, por lo que debemos estar alerta ante nuevas estrategias que puedan ir incorporando los atacantes a sus creaciones.

 


Comprueba como puede ayudarte nuestra solución a resolver los problemas de fraude online de tu empresa, solicita gratuitamente una DEMO ahora y te explicamos en detalle.

Solicita una DEMO

 

 

Publicado por David García

In his more than 9-year professional career, he has been involved in multiple projects, the most important being in the fields of managed security, anti-fraud and ethical hacking services, and malware analysis. He has contributed his know-how and security-related improvements to a wide variety of fraud and vulnerability analysis products. He currently oversees the smooth running of our different products and researches current fraud developments in order to showcase buguroo overseas as well as providing the development department with feedback on the latest malware and cybercriminal trends.


¿Te ha gustado? Comparte en tus comunidades sociales.

 
 

¿Necesitas reducir el fraude online de tu banco?

Descubre nuestra visión holística aplicada a la detección del fraude online

Solicita una demo