Hace algunas semanas, compartimos con ustedes 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 reportó otra variante de este código malicioso, desde el Laboratorio de análisis e investigación de ESET Latinoamérica se analizó y ahora compartimos con ustedes 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 necesario 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 oportunidad, para engañar al usuario la aplicación lleva el nombre de "Zertifikat" que en alemán significa certificado. Esto se debe a que supone ser una aplicación de control para realizar transacciones bancarias desde los dispositivos móviles en lo que se conoce como el doble factor de autentificació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 completemante distinta. Esta nueva variante cuenta con una sola actividad y tres BroadcastReceiver asociados a eventos tales como la carga del sistema operativo, el reinicio del sistema y cómo era de esperarse a 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 dónde 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 reenvió 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 variante de ZITMO que hemos estado analizando y reportando en nuestro blog. Los cambios en la estructura y la acciones de estos códigos maliciosos cumplen siempre la misma función, sin embargo hay diferencias notables en su código. Debido a estas modificaciones, contar con una solución de seguridad proactiva en los Smartphone, como ESET Mobile Security le permite a los usuarios mantenerse protegidos de este tipo de amenazas.

Pablo Ramos
Security Researcher