Esta semana se ha propagado un timo el cual utilizaba el nombre de una famosa empresa de transporte llamada ‘Fedex’.
El timo consiste en un envío de SMS a la victima que contiene un enlace hacia una aplicación para que el usuario la descargue para conocer el numero de seguimiento de un pedido que supuestamente no ha podido ser entregado.
El usuario, al pinchar el enlace y descargar la aplicación y conceder a esta permisos, consigue poner su teléfono a merced de este malware. El timo se divide en varias fases:
1 . Envio de SMS a la victima:
La victima recibie un sms con su nombre que contiene el enlace con la aplicación .apk maliciosa.
2. Infección y propagación.
Tras la instalación de la apk maliciosa en el teléfono de la victima. Lee todos los contactos del teléfono de la victima, nombre y teléfono de contacto y para cada uno de estos registros envia un SMS a ese mismo teléfono con el mensaje:
Hola XXXXX, siendo XXXX el nombre del contacto almacenado en la memoria del telefono.
Tras esta última fase, la historia se repite hasta llegar al mayor numero de personas posibles.
Tras un pequeño estudio de la aplicación maliciosa podemos observar:
– Cada envio de sms redirige a la victima a un sitio comprometido donde se almacena la .apk para ser descargada.
– Los atacantes alojan el archivo .apk malicioso en sitios comprometidos. La mayoria páginas con wordpress instalados sin actualizar.
– Si se trata de un navegador web móvil muestra el contenido, si se trata de un navegador web un PC simplemente no muestra nada.
Metodología de Ataque
Al parecer, los propietarios que han diseñado este malware tienen una gran extensa lista de sitios web comprometidos. El 100% de los sitios que he podido comprobar son sitios que implementan WordPress desactualizados.
Los atacantes, aprovechan para crear un directorio dentro de esa página web donde alojan un fichero .php, que es el que muestra la siguiente imagen:
Ese fichero .php creará un contenido totalmente dinámico.
Dependiendo si es visitado por un dispositivo móvil y el idioma del visitante.
Si cargamos ese enlace con un PC no podremos ver contenido alguno. Este comportamiento es gracias a la comprobación de las cabeceras HTTP ‘User-Agent’ el cual es posible determinar que plataforma, navegador e idioma tiene el visitante y así generar un contenido a medida de la victima.
Una vez creada esa página fake, el siguiente paso será mostrar el enlace de la aplicación. La ruta de este enlace redirige a otro sitio web comprometido, en el cual se encuentra la aplicación .apk
Todo esto con el desconocimiento absoluto de los propietarios de cada sitio web hackeado.
Analizando el .apk de la aplicación maliciosa.
Para el analisis del archivo .apk lo primero que tenemos que hacer es “decompilar” dicho fichero. En mi caso he utilizado uno de los muchos servicios online para este proposito:
https://www.apkdecompilers.com/
Analisis de ficheros:
AndroidManifest.xml:
- <uses-permission android:name=»android.permission.INTERNET»/>
- <uses-permission android:name=»android.permission.READ_CONTACTS»/>
- <uses-permission android:name=»android.permission.WRITE_SMS»/>
- <uses-permission android:name=»android.permission.READ_SMS»/>
- <uses-permission android:name=»android.permission.SEND_SMS»/>
- <uses-permission android:name=»android.permission.RECEIVE_SMS»/>
- <uses-permission android:name=»android.permission.READ_PHONE_STATE»/>
- <uses-permission android:name=»android.permission.QUERY_ALL_PACKAGES»/>
- <uses-permission android:name=»android.permission.WAKE_LOCK»/>
- <uses-permission android:name=»android.permission.FOREGROUND_SERVICE»/>
- <uses-permission android:name=»android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS»/>
- <uses-permission android:name=»android.permission.CALL_PHONE»/>
- <uses-permission android:name=»android.permission.REQUEST_DELETE_PACKAGES»>
Este archivo es utilizado en las aplicaciónes de Android para declarar que permisos necesitará el software para funcionar. Será el usuario el que PERMITA o DENIEGE estos permisos.
Describo los permisos (por orden) que pedirá la aplicación para funcionar,:
- Permisos para utilizar internet.
- Lectura de contactos.
- Escritura y lectura de SMS
- Leer el estado general del terminal
- Lectura para propiedades de otros paquetes.
- Ejecución en 2 plano
- Evitar que el proceso sea matado por optimizaciones de bateria
- Realizar llamadas
Visto los permisos listados, esta aplicación seguirá corriendo en el terminal infectado aun estando bloqueado ya que se le permite el uso de ejecución en 2 plano.
A traves de lo que se conoce en programación android como ‘BroadcastReceiver’, la aplicación es notificada de casi todo lo que ocurre en nuestro terminal
Declara un Listener propio llamado ‘MyNotificationListener’:
- <service android:enabled=»true» android:name=»com.tencent.mobileqq.MyNotificationListener» android:permission=»android.permission.BIND_NOTIFICATION_LISTENER_SERVICE»>
- <intent-filter>
- <action android:name=»android.service.notification.NotificationListenerService»/>
- </intent-filter>
- </service>
Lectura de TODOS los SMS y MMS entrantes del terminal:
- <receiver android:name=»com.tencent.mobileqq.SmsReceiver» android:permission=»android.permission.BROADCAST_SMS»>
- <intent-filter>
- <action android:name=»android.provider.Telephony.SMS_DELIVER»/>
- </intent-filter>
- <receiver android:name=»com.tencent.mobileqq.MmsReceiver» android:permission=»android.permission.BROADCAST_WAP_PUSH»>
- <intent-filter>
- <action android:name=»android.provider.Telephony.WAP_PUSH_DELIVER»/>
- <data android:mimeType=»application/vnd.wap.mms-message»/>
Con el tag <receiver>, se declará un receiver el cual hará que android, avise a esta aplicación maliciosa cada vez que llegue un SMS nuevo.
En la carpeta /res / del archivo .apk descomprimido podemos encontrar los strings para varios idiomas, lo que nos dinca que la aplicación esta diseñada para muchos idiomas.
Si observamos el contenido de / sources / np / e intentamos visualizar los archivos .java presentes podremos ver que el código de estos archivos ha sido ofuscado para intentar ocultar su funcionamiento. Para más complicación, el decompilador que he utilizado al parecer ha tenido que renombrar gran parte del código ya que contenia caracteres no printables.
Este malware es doblemente peligroso, ya que, por un lado intenta robar dinero a la victima y por otro lado, GENERA a la victima un gasto extra en su factura por el envio de SMS utilizando el dispositivo. Con lo que puede llegar a aumentar considerablemente la factura de su linea móvil.
Espero que haya servido de ayuda, seguimos con las investigaciones de este malware..