YuanKong RAT
Malware family · 79 sample(s) · 316 indicator record(s) · 1 signing certificate(s) · Active 2026-10-02 → 2026-10-14 (experimental)
About YuanKong RAT
YuanKong RAT is a multi-tenant Android overlay / remote-control RAT. “YuanKong”
(Chinese 远控, “remote control”) is the self-signed organization on the child’s APK
signing certificate (O=YuanKong, CN="Remote Control", OU=Dev, C=CN, cert sha256
73cbe8e3...), shared byte-for-byte across every build - the strongest clustering pivot
for the family. The child’s Android application class is com.remote.control.RemoteControlApp.
Delivery - “Nova” SVLT vault dropper
- The payload ships inside a builder-generated dropper (outer package
com.system.loader.*, dropper APK signedO=Nova, CN="Nova Build <timestamp>", cert sha256af92f7d6...). - A plaintext
assets/vault-config.jsonnames the encrypted asset, a base64 key and an IV, and the expected child hash. The asset is an SVLT container:"SVLT"(4) | version(1) | ivlen(1) | iv(ivlen) | ciphertext, decrypted asplain[j] = ct[j] XOR key[j % keylen] XOR iv[j % ivlen](SVLT-XOR-v2). The plaintext is a ZIP whosepayload/child.apkis the real RAT, installed viaREQUEST_INSTALL_PACKAGES. - Decoded statically (no runtime) by
tracker/decoders/android/yuankong.py; the recovered child hash is verified againstvault-config.json’soriginal_hashon every sample.
Capabilities
- Command-and-control over an okhttp WebSocket relay, with device pairing via a SPAKE2 PAKE handshake on a conscrypt TLS stack.
- Overlay / black-screen remote control and Accessibility abuse; requests overlay,
MANAGE_EXTERNAL_STORAGE,WRITE_SECURE_SETTINGS, location and phone-state permissions.
Multi-tenant operator model
- This is a builder platform rented to many operators. Each build’s obfuscated config class
(
k4.l3/k4.i2) carries the operator binding that the malware itself reports to C2 asapkAccountId=e()(e.g.account_mszw1v45_a61972b00f41, or the literaldefaulton an unbound template build) andapkAccountName=f()(a human handle), plus a 6-digit enrollment/group code (f5674g). These two fields are the operator identity. - Tracked across 79 samples / 35 operator handles / 36 rotating build brands. Handles cluster
into operator “teams” by prefix - e.g.
xxy*(xxy001,xxy2-001,xxy3-001,xxy5-001),laizi*,lichunfeng*,lx*,wy*,dahai*- with pinyin nicknames (laizi,dashu,baofa,laiqian,lichunfeng) pointing to Chinese-speaking operators. - A single
apkAccountIdis reused across multiple brands by the same operator, which ties brands together:xxy3-001/account_mszw1v45...runs bothechorelayandswiftlink;dahai4-001/account_muxwiqpg...runs bothatlasbridgeandechonode;laizi001/account_msr7dfm0...runs bothdeltalinkandnovawave;laiqian001runsatlasstationandswiftviewer. - Build brands are a builder-generated
<theme><suffix>matrix (themesatlas/echo/flux/nova/orbit/peak/prism/swift/zenith/delta, suffixesbridge/link/node/portal/station/wave/hub/player/relay/viewer) - cosmetic only; all share one decoy portfolio and one C2 pool.
Device identity
- The config carries two seed lists used only to manufacture device identities: a fixed 15-entry
package-name list (
f5672e:com.netflixgratis.app,io.litetube.app, …org.protube.app) and a per-build source-tag list (f5671d:<brand>-device-v2,protube-device-v2). Methodp()hashessource | packageName | serial | MANUFACTURER | BRAND | MODEL | DEVICEfor every (packageName x source-tag) pair - including the app’s own package - producing a distinctstableFingerprintand syntheticdeviceId(android_+ 24 chars). One physical device thus yields many candidate identities (ID enumeration / anti-dedup). The<brand>-device-v2string tracks the campaign brand but its code role is a fingerprint salt, not an operator ID.
C2
- Single shared relay pool across all tenants:
apppanda.xyz,ktxapp.com(+www),ktx123.net(+www), and hardcoded IP206.82.1.14. Every indicator is recovered by full static unpack of the vault + child and binary-verified; no third-party reporting.
Notes
- Previously tracked as AtlasBridge Overlay RAT (provisional) and EchoRelay RAT (provisional) -
both were single operator brands (
atlasbridge/echorelay), not the family; consolidated here under the shared YuanKong codebase, Nova builder cert and C2 pool, confirmed via overlapping child hashes.