Buenas. Me trajeron un TV Box Android barato porque “se le instalaban apps solas” y el internet se caía a cada rato. El dueño ya había reseteado el router dos veces pensando que el problema estaba ahí.
Spoiler: no era el router. Era una app de IPTV pirata modificada con un malware instalada por fuera de la Play Store.
Le saqué el APK y me puse a revisarlo. Comparto el análisis porque este patrón probablemente se repite en bastantes TV Box de este tipo.
APK analizado
Paquete: com.msandroid.mobile
App: Xuper
Namespace: com.mobile.brasiltv
Estaba firmado con la clave DEBUG de Android:
CN=Android Debug, serial 1
O sea, claramente no era un build de producción normal.
Tenía 3 DEX, cerca de 24 MB, y varios permisos que llaman bastante la atención para una app que supuestamente solo reproduce contenido:
REQUEST_INSTALL_PACKAGES CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_STATE CHANGE_NETWORK_STATE MANAGE_EXTERNAL_STORAGE CAMERA
REQUEST_INSTALL_PACKAGES le permite instalar otras aplicaciones.
CHANGE_WIFI_MULTICAST_STATE le permite trabajar con multicast, y en este caso aparecía junto al stack UPnP/SSDP del SDK de casting.
El dropper
La app usa PackageInstaller y además trae un DownloadFileProvider propio.
También mantiene canales push persistentes mediante:
- Umeng
- Taobao ACCS
- Agoo / Alibaba
Desde ahí podía recibir instrucciones y descargar contenido adicional.
Encontré payloads alojados en:
http://www.oi1lgew.com/dl/1 http://www.oi1lgew.com/dl/2 http://www.oi1lgew.com/dl/4.mp4 http://www.oi1lgew.com/dl/5.mp4 http://www.oi1lgew.com/dl/pic00.jpg https://trncl.com/spotf/s
Lo interesante es que /dl/1 y /dl/2, aunque no tenían extensión, eran APK.
Esas eran básicamente las “apps que aparecían solas”.
Infraestructura observada
Gran parte de la infraestructura estaba en Aliyun:
120.78.185.110 119.23.108.135 120.25.130.190 120.77.74.81 120.78.18.241 120.78.85.189 47.106.59.179 47.106.75.170 47.112.113.131 47.113.57.59
En 120.78.185.110 vi actividad en varios puertos:
88 8865 8998 9779 9998
Parte nativa / packer
También encontré:
libdexjni.so com.fort.andjni.JniLib
La carga no aparecía usando el patrón clásico de Invoke, pero sí mediante JniLib->cV() en aproximadamente 13 clases relacionadas con login y cuenta.
Eso indica que parte de la lógica está movida al .so.
Importante: ese .so no contenía pm install, su, PackageInstaller ni las IPs C2. Solo encontré un fragmento relacionado con la URL de oi1lgew.
Telemetría
La app también trae bastante telemetría:
- ByteDance RangersAppLog
libranger-jni.sode unos 9,5 MB- AppMetrica / Yandex
- Umeng
Incluso leía información como:
cat /sys/block/mmcblk0/device/cid
y datos desde /proc/cpuinfo.
Eso permite generar una huella bastante precisa del equipo.
Los Runtime.exec que inicialmente parecían más preocupantes terminaron siendo consultas como:
/proc/cpuinfo /proc/net/arp
No encontré su, iptables ni señales claras de escalada de privilegios.
También había un instalador propio mediante Intent (n7/c->c), pero curiosamente en el APK original ya venía convertido en return-void, o sea, deshabilitado.
¿Y por qué se caía el internet?
Esta fue la parte más interesante.
La app no “hackeaba” el router directamente.
Lo saturaba desde dentro de la LAN.
Tenía:
CHANGE_WIFI_MULTICAST_STATE
y usaba el stack UPnP/SSDP del SDK de casting hpplay/lelink.
Eso generaba tráfico de descubrimiento constante dentro de la red.
Además, la app hacía resolución DNS por su cuenta usando DoH y resolvers asociados a Qiniu, evitando en algunos casos el DNS configurado en el router.
En routers domésticos con pocos recursos, una mezcla de multicast constante, descubrimiento UPnP/SSDP, conexiones externas y consultas DNS paralelas puede terminar degradando bastante la red.
Y eso explica el síntoma:
el TV Box seguía funcionando, pero el router empezaba a “portarse raro” y terminaban afectados todos los dispositivos de la casa.
El dueño pensaba que el router se desconfiguraba solo. Lo reseteaba, funcionaba un rato y después volvía el problema.
El origen seguía conectado al WiFi.
El objetivo del Malware
Por lo que encontré, el modelo parecía más orientado a monetización que a minería:
- fraude de anuncios;
- instalaciones pagadas;
- distribución de apps de terceros;
- recolección de datos;
- posible uso de la conexión residencial como salida para tráfico ajeno.
No vi indicadores convincentes de minería y, siendo honestos, tampoco tendría demasiado sentido hacerlo en el hardware típico de estos TV Box.
Si han tenido problemas con el internet, especialmente con Mundo Pacífico, y cada vez que llaman les reconfiguran el router pero el problema vuelve, revisen también sus TV Box.
En este caso, el problema no estaba en el router, sino en una aplicación instalada en el TV Box que terminaba afectando la red.
Dejo como referencia cómo se veían las aplicaciones que se instalaban solas en el equipo.
https://www.reddit.com/gallery/1whkcon
Source: r/chileIT · by /u/No_Shape1170
