xHelper: el malware de Android que se reinstala después de restablecer los datos de fábrica

Uno de los motivos por los que xHelper se dio a conocer el pasado año fue su capacidad para reinstalarse en los dispositivos Android incluso después de que los usuarios lo borrasen y/o restablecieran los datos de fábrica, algo que hacía que fuese prácticamente imposible solventar el problema.

Según fue informado en su momento, xHelper infectó a más de 45.000 dispositivos a lo largo del año pasado, y desde entonces los investigadores de seguridad han intentado descubrir cómo puede este malware volver a instalarse en los equipos afectados incluso después de aplicar las medidas mencionadas para lograr su eliminación. Ha sido el analista de malware Igor Golovin, de Kaspersky, quien finalmente ha resuelto el misterio, habiendo entrado en detalle sobre cómo lo ha hecho en el blog de Kaspersky.

En dicha publicación, el analista reveló especificaciones técnicas sobre el mecanismo de persistencia del malware, así como también llegó a la conclusión sobre cómo eliminar definitivamente el malware del dispositivo afectado.

Aspectos técnicos

Como vector de ataque inicial y para su distribución, la aplicación malware se camufla haciéndose pasar por una popular aplicación para optimizar el rendimiento de los smartphones (afectando principalmente a usuarios en Rusia (80,56%), en la India (3,43%) y en Argelia (2,43%)).

Según Golovin, después de la instalación, esta aplicación de «optimización» desaparece y no se puede encontrar en ningún lugar en el dispositivo, bien sea en la pantalla de inicio o en el menú de aplicaciones; la única forma de ver que está instalada es en la lista de aplicaciones del menú de configuración.

Una vez que la instalación ha finalizado, además de esconderse por completo del usuario, la aplicación maliciosa se configura como uno de los servicios que corre en primer plano en el dispositivo y extrae un payload cifrado (en el archivo /assets/firehelper.jar) que recolecta y envía información que se encuentra almacenada en el smartphone a un servidor remoto controlado por el atacante ( https://lp.cooktracking[.]com/v1/ls/get… ) y descargar el segundo módulo malicioso (Trojan-Dropper.AndroidOS.Agent.of):

Proceso para descifrar la URL y enviar datos del dispositivo
Fuente: Securelist – Kaspersky

Como segundo paso, el malware ejecuta otro payload mencionado en el párrafo anterior, ofuscado, que desencadena una serie de exploits de Android destinados a conseguir permisos root en el dispositivo, lo cual es posible principalmente en las versiones 6 y 7 de dicho sistema operativo de compañías telefónicas chinas. Después de obtener estos privilegios, xHelper puede instalar archivos maliciosos directamente en la partición del sistema.

Tras ello, el malware simplemente espera a que el atacante le envíe los comandos pertinentes. Según un análisis previo de este mismo malware llevado a cabo por investigadores de Symantec, el malware se vale de hacer ping a un certificado SSL para evitar que sus comunicaciones sean interceptadas.

«El malware instala una puerta trasera con la habilidad de ejecutar comandos de superusuario. Esto hace que el atacante tenga acceso total a toda la información de todas las aplicaciones, algo de lo que otros malwares como, por ejemplo, CookieThief, pueden aprovecharse».

Igor Golovin

Si el ataque tiene éxito, la aplicación maliciosa abusa de los permisos que le da el haber escalado privilegios hasta llegar a ser root para, sin que el usuario lo perciba, instalar xHelper copiando directamente un paquete de archivos maliciosos en la partición del sistema (/system/bin folder) después de volverla a montar con permisos de escritura. Además de copiar archivos en la carpeta bin, también se copian otros tantos en /system/xbin, y una llamada a estos últimos permite que todo el proceso se ejecute al iniciar el dispositivo.

«Todos los archivos en esa carpeta son inmutables, lo que hace difícil eliminar el malware ya que el sistema no permite ni siquiera a usuarios root eliminar archivos de este tipo», continúa Golovin (aunque el investigador también explica en su post que este mecanismo de defensa del malware puede ser contrarrestado eliminando dicho atributo usando el comando chattr). xHelper también modifica la librería del sistema libc.so para evitar que los usuarios infectados vuelvan a montar la partición del sistema con permisos de escritura.

Además de esto, según el investigador de Kaspersky, el troyano descarga e instala más programas maliciosos, así como también elimina las aplicaciones cuyo acceso solo está permitido a usuarios root.

Cómo eliminar xHelper

Eliminar xHelper de la manera más fácil no es la más efectiva, ya que el programa com.diag.patches.vm8u vuelve a instalar el malware tan pronto como tiene ocasión:

Instalación de programas sin la autorización del usuario
Fuente: Securelist – Kaspersky

Según Kaspersky, reemplazar la librería modificada con la que viene originalmente en el sistema de nuestro dispositivo podría rehabilitar la posibilidad de montar la partición del sistema con permisos de escritura por el usuario del terminal afectado para eliminar permanentemente xHelper del dispositivo. La manera de llevar a cabo este proceso de recuperación es teniendo el modo Recuperación configurado en nuestro dispositivo, en cuyo caso podremos intentar extraer el archivo libc.so del firmware original y usarlo para reemplazar el archivo infectado, antes de eliminar todos los archivos del malware del sistema. Aunque el investigador indica que sería mucho más simple formatear el disopsitivo.

Se debe tener en cuenta también que el firmware de los dispositivos afectados por xHelper a veces contienen malware preinstalado que, independientemente, descargan e instalan programas (incluyendo a xHelper). En este caso, formatear el dispositivo no tendría mucho sentido, por lo que sería beneficioso tener en cuenta otras alternativas de firmware compatibles con el dispositivo (aunque esta opción podría hacer que algunos componentes no funcionasen de la manera esperada).

En cualquiera de los casos, sea cual sea la opción de recuperación por la que se opte, es importante saber que utilizar un dispositivo que ha sido infectado por xHelper es muy peligroso, ya que el malware, como se ha indicado, instala una puerta trasera con la posibilidad de ejecutar comandos root, dándole esto al atacante un acceso total a la información del smartphone, por lo que quizás, la alternativa más recomendable dentro de las posibilidades de cada usuario sería renovar el terminal.

C&C

  • lp[.]cooktracking[.]com/v1/ls/get
  • www[.]koapkmobi[.]com:8081
  • 45[.]79[.]110[.]191
  • 45.33[.]9[.]178
  • 23[.]239[.]4[.]169
  • 172[.]104[.]215[.]170
  • 172[.​]104[.​]208[.​]241
  • 172[.]​104[.]​212[.]​184
  • 45[.​]33[.​]117[.​]188
  • 172[.]​104[.]​216[.]​43
  • 172[.​]104[.​]218[.​]166
  • 104[.]​200[.​]16[.]​77
  • 198[.​]58[.]​123[.​]253
  • 172[.​]104[.​]211[.]​160
  • 172[.​]104[.​]210[.​]184
  • 162[.]​216[.]​18[.]​240
  • 172[.​]104[.​]212[.]​4
  • 172[.]​104[.]​214[.]​199
  • 172[.​]104[.​]212[.​]202
  • 172[.]​104[.]​209[.]​55
  • 172[.​]104[.​]219[.​]210
  • 172[.]​104[.​]218[.​]146
  • 45[.​]79[.​]177[.​]230
  • 45[.​]33[.​]0[.]​123
  • 45[.​]79[.​]77[.​]161
  • 45[.]​33[.​]120[.]​75
  • 45[.​]79[.​]171[.​]160
  • 172.​104.​210.​193
  • 45[.​]33[.]​0[.]​176
  • 45[.​]79[.​]146[.​]48
  • ddl[.]​okyesmobi[.​]com
  • www[.​]ddl[.​]okyesmobi[.​]com
  • 45[.]​79[.]​151[.]​241
  • 172[.​]104[.​]213[.​]65
  • 172[.]​104[.​]211[.]​117
  • www[.​]ddl[.​]okgoodmobi[.​]com
  • ddl[.]​okgoodmobi[.​]com

IOCs

  • Trojan-Dropper.AndroidOS.Helper.h — 59acb21b05a16c08ade1ec50571ba5d4
  • Trojan-Dropper.AndroidOS.Agent.of — 57cb18969dfccfd3e22e33ed5c8c66ce
  • Trojan-Dropper.AndroidOS.Helper.b — b5ccbfd13078a341ee3d5f6e35a54b0a
  • Trojan-Downloader.AndroidOS.Leech.p — 5fdfb02b94055d035e38a994e1f420ae
  • Trojan.AndroidOS.Triada.dd — 617f5508dd3066de7ec647bdd1497118
  • Trojan-Dropper.AndroidOS.Tiny.d — 21ae93aa54156d0c6913243cb45700ec
  • Trojan.AndroidOS.Triada.dd — 105265b01bac8e224e34a700662ffc4c8
  • Trojan.AndroidOS.Agent.rt — 95e2817a37c317b17de42e565475f40f
  • Trojan.AndroidOS.Triada.dy — cfe7d8c9c1e43ca02a4b1852cb34d5a5
  • Trojan.AndroidOS.Triada.dx — e778d4cc1a7901689b59e9abebc925e1
  • Trojan-Dropper.AndroidOS.Necro.z — 2887ab410356ea06d99286327e2bc36b

Más información

Unveiled: How xHelper Android Malware Re-Installs Even After Factory Reset

Unkillable xHelper and a Trojan matryoshka

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.