Skip to content

Banker.AndroidOS.Svpeng: así funciona un troyano bancario

Masterkey Android

Los troyanos llevan décadas viviendo en la red, esperando aterrizar en equipos de pobres incautos, disfrazados de otro programa, archivo o similar (de ahí su orígen, el Caballo de Troya). Se caracterizan por entrar disfrazados y lo más normal es que creen una puerta trasera en el equipo, que permita la administración remota del mismo.

El pasado mes de Agosto los ingenieros de Kaspersky detectaron un nuevo tipo de troyano que se colaba automáticamente en los terminales Android de usuarios que visitaban determinadas webs. Al final se llegó a la conclusión de que el problema estaba en la propia red de anunciantes de Google (AdSense).

El troyano bancario Banker.AndroidOS.Svpeng

Parece ser que, desde entonces, cualquier sitio web con Google AdSense habilitado era un posible trampolín para distribuir el citado malware de forma inadvertida, colocando este automáticamente en la tarjeta SD del dispositivo.

En estos casos el navegador no avisaba al usuario de que estaba a punto de producirse una descarga sospechosa (lo habitual) y por tanto la descarga del troyano era automática.

Ni los troyanos bancarios ni los peligros de las redes de anunciantes son algo nuevo, como ya he tratado anteriormente en otros artículos.

Como esto resultaba poco frecuente, en el laboratorio se dedicaron a escuchar el tráfico intercambiado entre el dispositivo y el anuncio presumiblemente infectado. ¿Cómo era posible que el troyano se guardase en el dispositivo sin ninguna clase de aviso?

Alcance de la infección y versiones

Antes de continuar, veamos información sobre la última versión de Trojan-Banker.AndroidOS.Svpeng. Este parece estar limitado a Rusia y CIS. En la siguiente imagen podemos ver el número de detecciones para la última versión: Svpeng.q. Corresponden al mes pasado.

svpeng-q-1

Y aquí podemos ver las infecciones ocasionadas por la versión aparecida este verano, también mediante AdSense:

svpeng-q-2

Como se puede apreciar, en un corto período de dos meses Svpeng ha sido detectado en más de 318000 dispositivos, llegando a infectar 37000 en un sólo día. Los altibajos en los diferentes períodos se deben a que Google ha ido reaccionando rápido para bloquear aquellos anuncios utilizados para propagarlo.

Incluso así, hablamos de un comportamiento reactivo y no preventivo por parte de Google. Por eso no extraña que desde entonces hayan vuelto a aparecer casos similares, donde diferentes tipos de malware han aparecido en la red AdSense de Google. Los más recientes han tenido lugar el 19 de Octubre, hace bien poco.

Análisis técnico de Banker.AndroidOS.Svpeng

Veamos en la siguiente imagen como la imagen del anuncio en cuestión se relaciona con la descarga automática de un archivo APK que contiene el troyano y que manda este a la tarjeta SD. Aquí está la solicitud HTTP:

troyano-bancario-de-android-svpeng-q

En respuesta a esta solicitud HTTP, el servidor devuelve un script Javascript que muestra el mensaje esperado. Sin embargo, este anuncio tiene un pequeño «amiguito» escondido: al comienzo vemos código ofuscado (camuflado) y veremos como se comporta a continuación:

troyano-bancario-de-android-svpeng-q-2

Podemos apreciar que el archivo APK fue descargado desde un conjunto de bytes cifrados en el script. Ahora es necesario únicamente enviarlo a la tarjeta SD.

troyano-bancario-de-android-svpeng-q-3

El código comprueba la disponibilidad de las funciones que necesita en los principales navegadores. Si no están disponibles, definirá su propia función para trabajar. El objeto URL y elemento <a> -marca de apertura HTML para un enlace- se crean en esta función.

El enlace resultante recibe el atributo href (hacia dónde enlaza) y el troyano emula un clic sobre este enlace. Este método tampoco es nuevo. A los creadores les habría bastado con añadir ofuscación al código y restringir la emulación de clic a pantallas táctiles únicamente (principalmente en smartphones).

troyano-bancario-de-android-svpeng-q-4

Ahora se declara un handler (gestor) para un evento de carga de página. Esto iniciará el salvado automático de la aplicación APK a la SD.

troyano-bancario-de-android-svpeng-q-5

Además de las comprobaciones extra que se usan para ver si el script se está ejecutando en un smartphone o no, se comprueba el lenguaje utilizado en el aparato. Los atacantes son cuidadosos a la hora de atacar únicamente a smartphones con lengua rusa, con algunas excepciones para los estados CIS (antiguas repúblicas soviéticas).

Sólo funciona al 100% en Google Chrome

El método antes comentado solo funciona en Chrome. Cuando una APK se descarga desde un enlace hacia un recurso web externo, el navegador muestra aviso de descarga de un objeto potencialmente dañino y pide confirmación al usuario.

Troyano Android

Cuando un archivo APK es fragmentado en partes pequeñas y gestionado con la función de guardado mediante clase ()Blob, no existe comprobación de seguridad para dicho objeto, así que el APK aterriza sin avisar.

En otros navegadores funciona, pero el navegador filtrará la solicitud o mostrará un mensaje de aviso al usuario, perdiendo efectividad el engaño.

La última parte de la operación

Por supuesto nos falta el ingrediente final, ya que no es suficiente con descargar el troyano, sino que el usuario debe instalarlo activamente. Es cuando entra en escena el componente estrella en estos casos: la ingeniería social. Se utilizan reclamos populares en forma de aplicaciones:

  • Asphalt_7_Heat.apk
  • CHEAT.apk
  • Root_Uninstaller.apk
  • Mobogenie.apk
  • Chrome_update.apk
  • Trial_Xtreme.apk
  • Cut_the_Rope_2.apk
  • Android_update_6.apk
  • WEB-HD-VIDEO-Player.apk
  • WhatsApp.apk
  • Google_Play.apk
  • 2GIS.apk
  • Viber.apk
  • DrugVokrug.apk
  • Instagram.apk
  • VKontakte.apk
  • minecraftPE.apk
  • Skype.apk

Dado que las nuevas versiones de Android traen bloqueada por defecto la instalación desde orígenes desconocidos, se espera que el usuario desactive la opción ante el ofrecimiento de aplicaciones aparentemente importantes.

Conclusiones

Os recomiendo comprobar si vuestro navegador Chrome para Android ha sido actualizado recientemente (y hacerlo si no es así) porque Google ya ha lanzado un parche correctivo. Además, contar con una solución de seguridad en el smartphone es casi una obligación hoy en día 🙂

Fuente: Securelist

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

One thought on “Banker.AndroidOS.Svpeng: así funciona un troyano bancario Leave a comment

Deja un comentario