Hace algunas semanas, nuestros compañeros del blog del laboratorio de ESET Latinoamérica compartían con sus lectores el análisis e informe de una variante de Android/Spy.Zitmo que permitía su control a través de mensajes de texto o el protocolo de comunicación HTTP. En los últimos días se informó de otra variante de este código malicioso, por lo que, desde el Laboratorio de análisis e investigación de ESET Latinoamérica, nuestro compañero Pablo Ramos lo analizó para explicar a nuestros lectores las diferencias entre estas dos variantes.
Uno de los primeros puntos a analizar en el caso de los códigos maliciosos para Android, son los permisos solicitados por la aplicación. En el caso de la variante anterior, que suponía ser una falsa solución de seguridad, eran necesarios una gran cantidad de permisos. Sin embargo, en esta nueva variante solo se solicitan al usuario permisos para enviar y recibir mensajes de texto.
En esta ocasión, para engañar al usuario la aplicación lleva el nombre de “Zertifikat”, que en alemán significa certificado. Esto se debe a que simula ser una aplicación de control para realizar transacciones bancarias desde los dispositivos móviles, en lo que se conoce como factor doble de autenticación. El objetivo de este tipo de procesos es agregar una capa extra de seguridad a las transferencias de dinero a través de la banca electrónica.
La estructura interna del código malicioso es completamante distinta. Esta nueva variante cuenta con una sola función y tres BroadcastReceiver asociados a eventos tales como la carga del sistema operativo, el reinicio del sistema y, tal y como era de esperar, la recepción de mensajes de texto:
Otro punto a tener en cuenta es que el package de la aplicación también tiene un nombre diferente, en esta ocasión es com.security.service. De los tres BroadcastReceiver, el más importante es SmsReceiver, en donde se incluye todo el módulo de control de este código malicioso a través de los mensajes de texto.
Mediante una inspección más minuciosa de las capacidades de esta amenaza, podemos ver todos los métodos que incluye. El disparador es el método onReceive(), que se ejecuta cada vez que se recibe un mensaje de texto. Según las características del mensaje se puede definir cuál será el número de teléfono que pertenece al “botmaster”, quien podrá activar y desactivar las funcionalidades del malware.
Para ejecutar cada una de las funcionalidades, el atacante debe enviar un mensaje de texto con un formato específico. En la última variante que se analizó desde el laboratorio de ESET Latinoamérica, los mensajes enviados por el botmaster debían comenzar con alguno de los símbolos “#”, “/”, “!” o “,”. En este caso, los mensajes que interpreta el malware son:
- on: activa el reenvío de mensajes
- set admin: permite definir el número al cual se van a enviar los mensajes.
- off: deshabilita la función de reenvío de mensajes.
Todos los mensajes que se reciban con este contenido no serán notificados al usuario, con el objetivo de evitar la detección de este malware en el teléfono del usuario.
Más allá de las funcionalidades de esta nueva versión, es necesario tener en cuenta las diferencias entre las variantes de ZITMO que hemos estado analizando y de las que hemos informado en nuestro blog. Los cambios en la estructura y las acciones de estos códigos maliciosos cumplen siempre la misma función, pero con diferencias notables en su código. Debido a estas modificaciones, contar con una solución de seguridad proactiva en los Smartphones, como ESET Mobile Security, permite a los usuarios mantenerse protegidos de este tipo de amenazas.
Josep Albors
@JosepAlbors