
Shutting the Door on the XCPE Botnet
XCPE is an Android firmware backdoor (x.cpe, com.oemservice) preloaded by OEM Videostrong Technology on more than 1.3 million set-top boxes. Google Threat Intelligence Group details the three-stage architecture, the MQTT C2 (mqtt.szbboys[.]com), Play Protect disabling, persistence, and affiliate modules for residential proxies and ad fraud. It also lists the legal takedowns, the Videostrong ban and the partners involved.
What it is
XCPE is a firmware-level Android backdoor, shipped as package x.cpe (or com.oemservice in some builds) on devices from Videostrong Technology. Google Threat Intelligence Group says it enrolled more than 1.3 million set-top boxes. Most are Android TV boxes, but it also found telehealth devices, karaoke machines and digital signage. Google also estimates that taking down the affiliates' C2 domains cuts access to at least 10 million more compromised devices. Those affiliates distribute their modules through other channels as well.
How it works
The stub runs as android.uid.system from the firmware partition. On boot it installs the full package from /oem/ into /data/app/. If a user uninstalls it, it reinstalls on the next reboot.
For C2 it first sends an AES-encrypted HTTP POST (serial number, MAC, model, firmware version) to a bootstrap host. The host is mcstb.anyevonline.com:8000 when ro.mecool.device is true. Otherwise it is stb[AndroidVersion][Type].anyevonline.com:8000. The endpoints are /router/config/mqtt, /router/config/acs and /router/config/app. It then holds a persistent MQTT connection for tasking. The commands include silent APK install, arbitrary shell as system UID, screen capture with key injection, and traceroute and WHOIS recon. Operators were also seen exfiltrating account and package data and opening reverse shells.
Play Protect is disabled by setting package_verifier_user_consent to -1 through Settings.Global.
Modules are not in x.cpe. Since late 2024 a loader, com.abc.nexus, runs them. It uses libseccomp_guard.so to block thread pausing, cross-process interference and child processes. Modules include residential proxy SDKs (Linkfog, Jaguar, AppSalt/Honeygain, BWM/IPWeb, GaGaNode, NetNut/Popanet, Traffmonetizer, EarnFM), further backdoors (Spirit, Moyu, Bird) and ad fraud (Fission, HiddenView). One device can run up to three proxy SDKs. AppSalt exits if the app was installed from Google Play.
The page says that since August 2026 the operators have pushed new droppers over MQTT while mass-uninstalling com.abc.nexus. These droppers are disguised as com.android.system.ntp and com.android.sso.auth.handler. They extract libexploit.so, which calls nativeAdbRoot() and nativeAdbShell(). They then remount /system read-write and copy themselves to /system/priv-app/. They also write /system/etc/permissions/privapp-permissions-<app name>.xml, granting INSTALL_PACKAGES and REBOOT. Operators control them through these properties:
persist.networkstack.uninstall
persist.networkstack.skip_system_install
persist.networkstack.install_timeThe last one backdates the app's timestamp to match other system packages.
What to do
Indicators from the page that can be hunted for:
- Hostnames:
mqtt.szbboys[.]com,ott.szbboys[.]com,*.anyevonline[.]com(earlier builds used*tms,*ottand*otaunderszbboys[.]com). - Broker IPs
219.134.163[.]210and.211, on TCP ports 3885-3887. - Operator-controlled file hosts
38.145.197[.]135and23.94.49[.]57, plusfilemail[.]comand GitHub release pages (the sample module URL was undergithub.com/Aviciiii/ott). - On-device artifacts:
- Packages:
x.cpe,com.oemservice,com.abc.nexus,com.ota.service. - Content provider authorities:
com.release.debug.providerandcom.oem.share.provider. - Files and settings:
libseccomp_guard.so,libexploit.so, andpackage_verifier_user_consentset to -1. - Unexpected
/system/priv-app/entries andprivapp-permissions-*.xmlfiles. persist.networkstack.*properties.
Google recommends that retailers and distributors require independent security audits from ODMs and delist implicated manufacturers. It tells consumers to buy set-top boxes only from reputable makers, check its Android TV partner list, avoid "share your bandwidth" apps, and keep Play Protect on. Google has also banned Videostrong and its future subsidiaries and affiliates from certified Android devices. It changed its review of certified Android TV firmware, because Videostrong loaded the malicious code after first boot to pass compatibility tests.
Caveats
- Removing
x.cpefrom/data/app/does not work, because it returns on reboot from/oem/. The page offers no removal procedure, so affected firmware likely needs replacing. - Google says the takedown is a point-in-time disruption. Operators pivot quickly to new loaders or rival SDKs, so these indicators may age fast.
- The page attributes the operation to Videostrong with high confidence. That is Google's assessment, not a court finding.
- The page gives no list of affected brands or models, and no SHA-256 hashes. It gives only a few MD5 values, in sample config payloads.
Organisations named here
- Google Threat Intelligence Group
- EarnFM
- Honeygain
- HUMAN Security
- IPCola
- Japan National Police Agency
- Linkfog
- Lumen
- NetNut
- Plume
- Synthient
- Traffmonetizer
- TrendAI
- Videostrong Technology
Technologies named here
- Google Play Protect
- Android
- GitHub
- Android-based IoT devices (telehealth devices, karaoke machines, digital signage)
- Android TV
- Android TV set-top boxes (more than 1.3 million enrolled in the XCPE botnet)
- EMQX
- libexploit.so
- libseccomp_guard.so
- libtraceroute.so
- MQTT
- YokaTV Player (Videostrong streaming software that reads x.cpe configuration)
Techniques named here
- Supply chain compromise
- Impair Defenses
- Ad fraud
- Timestomping
- Screen Capture
- Clipboard hijacking
- Command and control over MQTT
- Dynamic code loading
- Privilege escalation via ADB root
- Residential proxy abuse
- Sandbox and analysis evasion
Concepts named here
- Hardware supply chain accountability
- Interconnected criminal supply chain
- Multi-tenant monetization
- Silent opt-in
- Three-stage modular architecture
Threat actors named here
- AppSalt SDK (residential proxy SDK owned by Honeygain, which is owned by Oxylabs)
- BadBox (earlier enterprise; Moyu and Bird were previously tied to it)
- Bird (2-stage backdoor with ad abuse)
- BWM / IPWeb (residential proxy and bandwidth-sharing module)
- CBOXTV (ad-fraud engine)
- com.abc.nexus (loader and execution engine)
- EarnFM Fleet SDK (residential proxy SDK)
- Fission (dynamic code loading backdoor used for ad fraud)
- GaGaNode (SDK owned by residential proxy operator IPCola)
- HiddenView (ad-fraud application, com.ota.service)
- Jaguar (residential proxy module, libjaguar.so)
- Linkfog (residential proxy module, operated by Beijing Linkfog Technology via Dianxinyun)
- Moyu (3-stage backdoor with click fraud, clipboard hijacking and proxy trojan)
- NetNut / Popanet (residential proxy SDK, io.popanet.Popa)
- Spirit (dynamic code loading backdoor)
- TitanService, AdtimeService, lb102Service (common monetization modules)
- Traffmonetizer (residential proxy SDK)
- Videostrong Technology Co. (Android OEM/ODM that developed, deployed and operated the XCPE backdoor and botnet for financial gain)
- x.cpe (primary backdoor, also running as com.oemservice in some builds)
- XCPE botnet (x.cpe backdoor; enrolled more than 1.3 million set-top boxes)
Also named here
- XCPE
- BadBox
- Moyu
- Spirit
- Bird
- Fission
- HiddenView
Related in Threat Intel
Reverse Engineering the Six Stages of MacSync Stealer and RAT
AI-Coded Malware | Analyzing Vibe-Coded AD Enumeration | Huntress
