La semana pasada mencionamos en este mismo espacio acerca de la aparición de Geinimi, un troyano para Android, que ha generado una gran repercusión en el mundo de la seguridad por sus capacidades de agregar un dispositivo móvil como parte de una posible botnet. En los siguientes párrafos comentaremos acerca de las principales características de este troyano para la plataforma móvil de Google.

El modo de accionar de este código malicioso es bastante particular, presentando técnicas avanzadas que denotan una gran diferencia ante los códigos maliciosos ya conocidos para esta plataforma, como el troyano de SMS para Android. Existen varias aplicaciones, distribuidas a través de repositorios no oficiales, que han sido inyectadas con este código malicioso, entre ellas se encuentran las mencionadas en la primera parte de esta entrega.

En esta ocasión se presenta un análisis particular de la aplicación SexPositions, una de las variantes que se ha encontrado infectada con este código malicioso. Todas las pruebas realizadas desde el Laboratorio de Investigación y Análisis de ESET Latinoamérica se efectuaron en un emulador de Android con la finalidad de observar el comportamiento de esta amenaza.

Cómo se había mencionado anteriormente,  el primer punto llamativo al realizar la instalación de la aplicación es la gran cantidad de permisos que esta solicita. Entre los mismos se encuentran acceso al GPS, envío y recepción de mensajes de texto, llamadas telefónicas e instalación de accesos directos.

Luego de ser instalada y ejecutada la aplicación, el código malicioso intenta, en una primer instancia, contactarse con un servidor remoto, en donde abre una conexión (utilizando los puertos 5432, 4501 o 6543)  y queda a la espera de recibir un mensaje al cual confirmará con la frase: "yes, I´m online!". Una vez confirmada la disponibilidad desde el dispositivo infectado, se envían una serie de datos a un servidor remoto entre los cuales se incluye inclusive la versión del malware.

Al analizar el código de la amenaza se puede observar la sección en la cual se definen los puertos y en dónde se administra la conexión, cómo así también se observa la sección de código en la que se abren las comunicaciones y cómo se realiza la confirmación:

Geinimi:

Una vez que la comunicación ya se encuentra establecida entre el servidor y el dispositivo, se realiza el envió de datos del teléfono en conjunto con información correspondiente a la versión del código malicioso que se esta ejecutando. Entre estos datos enviados al centro de comando (C&C) se encuentran:

  • PTID, SALESID, DID, CPID: utilizados aparentemente para la identificación de la aplicación maliciosa que se ha instalado en el dispositivo.
  • Latitud y longitud: permiten conocer la ubicación física del dispositivo infectado.
  • SDKVER: utilizado para conocer la versión del código malicioso
  • IMEI (International Mobile Equipment Identity, en español Identidad Internacional de Equipo Móvil)
  • IMSI (International Mobile Subscriber Identity, en español Identidad Internacional del Abonado a un Móvil)

Estos dos últimos valores se utilizan para identificar al equipo de manera unívoca, ya que no debería existir otro teléfono con ninguno de estos dos valores. En conjunto todos los valores que son enviados al centro de control le permiten a un atacante  conocer la ubicación del dispositivo infectado y qué versión del código malicioso está utilizando, pudiendo así dirigir un ataque más efectivo contra el usuario.

Otro punto muy importante de esta amenaza es que maneja información cifrada de manera dinámica, haciendo que sea más difícil detectar cómo es que se comunica o incluso cuáles son los sitios de los que puede recibir comandos. Esto es una característica muy particular que le sirve cómo defensa, ya que evita que en caso de ser encontrado sea considerado sospechoso. Dentro del código de la aplicación se encuentran métodos de cifrado utilizado por Geinimi tanto para la información de la aplicación como para las comunicaciones realizadas con el centro de control.

Por último, Geinimi cuenta con la posibilidad de recibir comandos remotos y de esta manera puede ejecutar acciones tales como la descarga e instalación de aplicaciones, envió y borrado de mensajes de texto, realizar llamadas o abrir una página web. Esto puede resultar en la instalación de otros códigos maliciosos o incluso la explotación de vulnerabilidades que pueden llevar al robo de información.

Geinimi representa un salto cuantitativo en la capacidad y complejidad de los códigos maliciosos para plataformas móviles, significando una amenaza importante para los usuarios ya que se esconde dentro de aplicaciones legítimas que han sido modificadas. Es por ello que es muy importante la educación acerca de estas amenazas, cómo así también que los usuarios cuenten con buenas prácticas para el uso de dispositivos móviles y verifiquen qué aplicaciones instalan en sus equipos.

Pablo Ramos
Especialista de Awareness & Research