Troyano para Android,el más sofisticado

0

Android vuelve a dar trabajo a los laboratorios antivirus. En este caso, es Kaspersky Labs la compañía que ha llevado a cabo un análisis de un nuevo troyano para entornos Android. No se trata de uno cualquiera. Todas las cadenas en el archivo DEX están encriptadas, contando además con el código ofuscado.

Se trata de un troyano multifuncional, capaz de lo siguiente: 

 – Enviar SMS a números considerados premium.

 – Descargar otros tipos de malware, instalándolos en la máquina infectada o enviándolos vía bluetooth.

 – Ejecutar comandos en la consola entragados de forma remota.

Este nocivo programa es reconocido por su base de datos como Backdoor.AndroidOS.Obad.a.

Vista previa del troyano

Los diseñadores de malware normalmente intentan complicar los códigos de su creación tanto como sea posible, para dificultar las labores forenses. Sin embargo, no es frecuente contemplar el nivel de sofisticación de Odad en un malware móvil. La completa ofuscación del código no es lo único que sorprende en este nuevo troyano.

Las rarezas del troyano

Los creadores de Backdoor.AndroidOS.Obad.a han encontrado un error en el software DEX2JAR -un programa popular normalmente empleado por analistas para convertir ficheros APK en archivos JAR del entorno Java). Esta vulnerabilidad encontrada por los cibercriminales modifica la conversión del código de bits de Dalvik en código de bytes Java, lo que complica su análisis por los expertos.

Además, otro error hallado por los creadores de este troyano para Android reside en como el sistema procesa el archivo Androidmanifest.xml. Este tipo de archivo se encuentra en cualquier aplicación Android y sirve para describir la estructura de dicha aplicación, parámetros de ejecución, etc. El malware modificará el AndroidManifest.xml de forma que ya no será reconocido por el estándar de Google, pero seguirá siendo procesado correctamente en el teléfono. Todo esto ha complicado mucho el análisis dinámico del troyano.

Los creadores de Backdoor.AndroidOS.Obad.a también han estado explotando otro error desconocido hasta ahora en el sistema operativo Android. Valiéndose de este fallo, las aplicaciones maliciosas son capaces de extender los privilegios de administrador sin aparecer en la lista de aplicaciones que poseen ese derecho. Por eso, una vez que el programa malicioso gana estos derechos de administrador resulta imposible eliminarlo del sistema.

Por último, Backdoor.AndroidOS.Obad.a no posee interfaz y se ejecuta en segundo plano.

Análisis de código

En esta aplicación maliciosa, todos los métodos son invocados por medio de reflejo. Todas las cadenas están encriptadas, incluyendo los nombres de clases y métodos.

código del troyano

Cada clase tiene un método descriptor local que obtiene la cadena requerida para la encriptación del array de bits actualizado localmente. Todas las strings (cadenas) están escondidas en este array.

Cadenas usadas por el troyano de Android

Las cadenas más importantes -que contienen la dirección del C&C (Control and Command)- llevan aparejado un nivel extra de encriptado. Para esto, el troyano primero compruebasi el acceso a internet está disponible, después descarga la web www.facebook.com. Extrayendo ciertos elementos de dicha página, los usa como llave de desencriptado. Así, Backdoor.AndroidOS.Obad.a puede desencriptar las direcciones de los servidores remotos de control únicamente cunado el acceso a internet está presente. Otra característica que hace de este troyano para Android una pieza diferente.

Algunas cadenas llevan un encriptado adicional. El desencriptador local recibe una cadena codificada en Base64 y la decodifica. Dicha cadena primero es descifrada con una operacion WOR con el MD5 de la llave, después además es desencriptada con el MD5 de la cadena “UnsupportedEncodingException“. Para obtener el MD5 de la llave, el mismo desencriptador local descifra otra cadena, que después será usada como argumento para el MD5. De esta forma, cadenas clave, como la de SendTextMessage, permanecen protegidas.

Propiedades de Chmod

En Kaspersky han sido capaces de descifrar todas las cadenas:

Solicitud de permisos adicionales por parte de la aplicación

Con estos resultados en la mano, han sido capaces de reproducir el algoritmo de funcionamiento de la aplicación.

Obtención de privilegios

Inmediatamente tras su puesta en marcha, el troyano procura asegurarse privilegios de administrador.

Vista de las propiedades del troyano

Como mencionamos anteriomente, una característica de este troyano para Android es que no podrá ser desinstalado del sistema una vez consiga los privilegios de administrador. Aprovechando una vulnerabilidad de Android desconocida hasta ahora, el programa disfrutará de estos privilegios, pero sin aparecer listado como una aplicación que tiene estos derechos.

El troyano intenta conseguir permisos root en el terminal

Google ya ha sido informada de esta vulnerabilidad presente en el administrador de dispositivos de Android.

Con los privilegios mencionados, el troyano puede bloquear la pantalla del terminal hasta 10 segundos. Esto normalmente sucede cuando el dispositivo se conecta a una red wifi abierta o se activa el Bluetooth. Con una conexión establecida, el troyano es capaz de copiarse a si mismo hasta otros terminales cercanos. El malware también intenta hacerse con privilegios root llevando a cabo el comando “su id”.

Segunda parte del estudio de este troyano de Android: cómo se comunica con sus creadores y que información extrae.

Compartir.

Sobre el Autor

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.

Dejar una Respuesta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR