RatHat: AI-Powered Android Banking Trojan Abuses Accessibility Service and ADB to Steal Credentials, PINs, and MFA Codes
RatHat: AI-Powered Android Banking Trojan Abuses (TL-2026-2592), also tracked as RatHat, is a high-severity malware campaign, first published 2026-09-20. It is linked to a China-nexus actor with low confidence, affects Google Android, maps to 19 MITRE ATT&CK techniques (T1406, T1406.002, T1407), and is covered by 9 detection rules and 65 indicators of compromise.
Key facts for TL-2026-2592
- Threat ID
- TL-2026-2592
- Also known as
- RatHat
- Severity
- HIGH
- Status
- ACTIVE
- Category
- MALWARE
- First published
- 2026-09-20
- Last reviewed
- 2026-09-20
- Attribution confidence
- LOW
- Nation-state nexus
- China
- Motivation
- FINANCIAL
- Target sectors
- financial services, banking, payments
- Target regions
- Global, china, Asia-Pacific, North America, russia
- Detection rules
- 9
- Indicators of compromise
- 65
Malware and tooling in RatHat: AI-Powered Android Banking Trojan Abuses
Malware and tooling: Android.Riskware.Agent.aDKHB, Android/Spy.Agent.EZF Trojan, Android:Evo-gen [Trj], HEUR:Trojan-Clicker.AndroidOS.Simpo.c, Nexus One, RatHat, FRP - S1144
Zimperium zLabs disclosed RatHat, an Android banking trojan that serializes the device's live Accessibility tree to XML and sends it to a generative-AI assistant (secondary reporting identifies it as Google Gemini; Zimperium's original report declines to name it) so the malware can autonomously decide where to tap, scroll, and type rather than relying on hardcoded automation scripts. It abuses Accessibility permissions to silently enable Wireless Debugging, self-pairs with the local ADB daemon to gain shell-level control, drops two masqueraded Go-based native binaries that persist independently of the visible app (including one that auto-reinstalls the malware after uninstall via a fake Google Play failure overlay), and steals banking credentials, lock-screen PINs/patterns, and SMS-based MFA codes via HTML-injection overlays, raw touch-input logging, and SMS/notification interception. Zimperium's published IOC set documents 256 malicious APK hashes and 16 live C2 domains, and a follow-up report puts at least 162 malicious apps in active contact with the attacker infrastructure.
How RatHat: AI-Powered Android Banking Trojan Abuses works
RatHat is a newly documented Android banking trojan, analyzed and named by Zimperium's zLabs research team in a report published September 16, 2026, that pairs live generative-AI-driven UI automation with abuse of two legitimate Android subsystems -- the Accessibility Service and Android Debug Bridge (ADB) Wireless Debugging -- to achieve persistent, shell-level control of infected devices and steal financial credentials.
Infection begins with social engineering: victims are lured via smishing (SMS phishing) messages and malvertising campaigns to deceptive third-party download portals and phishing sites that serve a malicious APK disguised as a legitimate app. Zimperium's IOC data shows a live distribution site, kingbss.com, pushing the payload under the fake app name "Nexus One"; other researchers separately observed builds masquerading as Disney+, ZEE5, and Chrome, with one APK hosted directly on AWS S3 (x14hidgz0ez.s3.ap-south-1.amazonaws.com) and fronted via the phishing subdomain sel6bu6eft06.primevoria.com. After sideloading, the app exploits native SessionInstaller APIs to bypass Android's restricted-settings and Accessibility Service protections during installation, then displays fake warnings (e.g., claiming a network restriction or a financial-benefit requirement, or a bogus Google Play Store page) to coerce the victim into granting Accessibility Service permission.
Once Accessibility access is granted, RatHat's automation layer (internally staged via a component multiple outlets refer to as "SystemHelper") serializes the device's live Accessibility node tree into XML and sends it to a generative-AI assistant -- the Zimperium report deliberately declines to name the specific model or provider, describing it only as "one of the world's most popular Generative AI assistants," but researchers found LLM prompts written in Chinese/Mandarin, consistent with their assessment that RatHat is operated by China-based threat actors; secondary reporting from PCRisk and Infosecurity Magazine independently identifies the assistant as Google Gemini, though this is not confirmed in Zimperium's own primary write-up. The AI resolves on-screen coordinates and text and returns navigation instructions (e.g., SCROLL_DOWN), which the malware executes as synthetic taps via Android's accessibility input-injection APIs. Using this technique the malware autonomously taps Build Number seven times to unlock Developer Options, enables Wireless Debugging, opens the ADB pairing dialog, and reads the temporary six-digit pairing code and dynamic port directly off the screen. It then authenticates to the local ADB daemon (via an embedded libadb-android implementation) and obtains a shell in /data/local/tmp -- escaping the normal Android application sandbox entirely without exploiting any software vulnerability.
From that shell, RatHat drops two native ELF binaries disguised as native libraries: liblocal-service.so, a Go-based privileged local agent that binds an HTTP command/telemetry server to 127.0.0.1:7910 and issues OS-level commands (dumpsys deviceidle whitelist, am set-standby-bucket, pm disable-user, pm install/uninstall) to exempt itself from Doze/battery restrictions and manage the app's install state; and libmedia_codec.so, a reverse-proxy client built on the open-source fatedier/frp project that establishes a persistent reverse tunnel to attacker infrastructure over both HTTPS and WSS, exposing the device's loopback services and interfaces to the operator and bypassing NAT/firewall boundaries. Because the Go agent runs outside the visible app's process/package lifecycle, it survives uninstallation of the RatHat app: it intercepts the uninstall-confirmation flow with a fake Google Play failure overlay, monitors installation state via scheduled alarms and account-sync watchdog components, and silently reissues pm install -r -g -i com.android.packageinstaller against a cached APK to reinstall the malware and re-grant Accessibility (via settings put secure enabled_accessibility_services / accessibility_enabled) without any further user interaction. A heartbeat check redeploys the local-service daemon if it is stopped.
For credential theft, RatHat monitors foreground-application activity and, when a targeted banking or payment app comes to the foreground, injects operator-supplied HTML content as a full-screen overlay to phish credentials directly. Named targets span Bank of America and unnamed Russian-language banking apps (per PCRisk) alongside WeChat Pay and Alipay, which present victims with Chinese-language "identity verification" screens requesting six-digit payment PINs. In parallel, the Go agent invokes Android's built-in getevent diagnostic utility to read raw /dev/input touch events (X/Y coordinates and timestamps) and correlates them against a bundled locateValues.json file containing precise keypad and pattern-lock geometry for major device brands, allowing it to reconstruct lock-screen PINs and pattern unlocks purely from touch coordinates -- a technique that bypasses FLAG_SECURE, custom keyboards, and other on-screen lock-screen protections; recovered credentials are internally tagged PASSWORD_QUALITY_TOUCH_POINTS. RatHat additionally registers an SMS receiver and abuses notification-listener access to intercept incoming SMS bodies (including one-time passwords and MFA codes), captures keystrokes and URLs typed into browser address bars, records the screen via the MediaProjection API with chunked video upload to the C2, and collects browsing history from Chrome, Brave, Opera, Edge, DuckDuckGo, and Samsung Internet, as well as an inventory of installed applications.
Command and control runs over HTTP/WebSocket with HMAC-SHA256 request authentication derived from a per-device key salt and a persistent heartbeat WebSocket. Documented endpoints include /api/node/register (enrollment), /api/data/credentials, /api/data/messages, /api/data/cipher (lock-screen material), /api/tun/config (FRP tunnel parameters), /api/v2/dev/tasks (task/command queue), /api/v2/dev/localServiceHeartbeat, /api/v2/dev/data/screen-monitor, /api/v2/dev/upload/video, plus operator evasion/block lists at /api/sapp and /api/bapp. Zimperium's published IOC repository (github.com/Zimperium/IOC, path 2026-09-RatHat) enumerates 256 distinct SHA-256 APK hashes, 16 live/recently-live C2 domains split between HTTPS admin/config endpoints (e.g., fegrs.adidasabc.com, admin.xiongmaocs.help, blackcat880.shop, cheng770.cyou) and WSS command-channel endpoints (e.g., admin.xiongmaocs.mom, admin.niaotong2.top, heilongyk.top, cz.gpgmk.com), and phishing/distribution infrastructure. A follow-up report (SSBCrack, Sept 20 2026) puts at least 162 distinct malicious applications observed actively communicating with this attacker-controlled infrastructure. Independent removal-guide research (PCRisk) also published a specific sample hash (SHA-256 018fca3266c87c10d4f46930878ffbe5155ae4a457c875d1e22682a80d7118a5) with cross-vendor AV detection names: Avast-Mobile (Android:Evo-gen [Trj]), Combo Cleaner (Android.Riskware.Agent.aDKHB), ESET-NOD32 (Android/Spy.Agent.EZF Trojan), and Kaspersky (HEUR:Trojan-Clicker.AndroidOS.Simpo.c).
The dropper itself employs four distinct anti-analysis techniques to resist static/dynamic triage: container tampering (declaring archive entries as directories or setting spurious ZIP-encryption flags to break Android's libziparchive parser), a manifest bomb (an undocumented 0x9999 chunk header injected into a 61MB AndroidManifest.xml to crash analysis tooling), DEX bytecode poisoning (pseudo-instructions carrying invalid element_width attributes), and dual Base64-based string encryption (StringFog plus StringCrypto) to hide strings and configuration, layered with six runtime anti-debugging/anti-instrumentation checks (debugger-attach detection, TracerPid inspection, FLAG_DEBUGGABLE/ro.debuggable checks, Frida port/process/library scanning, and root/Xposed/emulator artifact checks).
No CVE or CVSS score applies -- RatHat achieves shell-level device compromise entirely by abusing legitimate, user-grantable Android features (Accessibility Service, Wireless Debugging) combined with social engineering, not a software vulnerability.
MITRE ATT&CK techniques used in TL-2026-2592
Defense Evasion
T1406 Obfuscated Files or Information; T1406.002 Software Packing; T1407 Download New Code at Runtime; T1629 Impair Defenses; T1633.001 System Checks
Credential Access
Discovery
Command and Control
T1437 Application Layer Protocol
collection
T1453 Abuse Accessibility Features
initial-access
Collection
T1513 Screen Capture; T1517 Access Notifications; T1533 Data from Local System; T1636.004 SMS Messages
defense-evasion
T1516 Input Injection; T1604 Proxy Through Victim
Execution
T1575 Native API; T1623 Command and Scripting Interpreter
Initial Access
Affected products and versions in RatHat: AI-Powered Android Banking Trojan Abuses
- Google — Android
Vulnerable versions: Android 11; Android 12; Android 13; Android 14; Android 15; Android 16
Remediation for RatHat: AI-Powered Android Banking Trojan Abuses
Immediate actions
- Audit which installed apps currently hold Accessibility Service permission and revoke access for any app that does not have a clear, legitimate need for it
- Disable Wireless Debugging / Developer Options on end-user and BYOD devices; where Wireless Debugging must remain enabled, review and revoke any ADB pairings that were not initiated by IT
- Block sideloading from third-party app stores and unknown sources, and ensure Google Play Protect scanning is enabled fleet-wide
- Treat any device that recently granted Accessibility access after an unsolicited SMS link or ad-driven APK download as potentially compromised: force credential rotation for banking/financial accounts accessed from that device and re-issue MFA secrets
- Block the published RatHat C2 and phishing/distribution domains (kingbss.com, app.tmgg01.top, primevoria.com subdomains, and the 16 Zimperium-published C2 domains) and the S3 APK-hosting path at network egress / DNS resolvers
- Scan managed fleets against the 256 published SHA-256 APK hashes and the cross-vendor detection names (Avast-Mobile, ESET-NOD32, Kaspersky, Combo Cleaner) via MTD/EDR tooling
Workarounds
- Use Mobile Device Management (MDM) policy to restrict which apps may request or hold Accessibility Service grants on managed fleets
- Enforce application allowlisting to block execution of APKs sideloaded from outside Google Play on corporate-managed devices
Longer-term hardening
- Deploy mobile threat defense (MTD) tooling capable of flagging Accessibility-service abuse, synthetic-tap automation, and unauthorized native-binary staging under /data/local/tmp
- Migrate SMS-delivered one-time passcodes to app-based authenticators or hardware security keys, which RatHat's SMS/notification-interception path cannot capture
- Add mobile EDR telemetry for anomalous local ADB pairing events, unexpected loopback HTTP listeners (e.g., 127.0.0.1:7910-style local command servers), and outbound reverse-proxy/tunnel traffic (frp-style, HTTPS/WSS) from managed devices
- Run recurring user-awareness training on smishing and malvertising lures that specifically request Accessibility permission grants or Wireless Debugging changes under a pretext of 'network restrictions' or financial rewards, and on fake-app lures impersonating Chrome, Disney+, ZEE5, or a bogus Google Play Store page
Timeline of RatHat: AI-Powered Android Banking Trojan Abuses
- Zimperium publishes a public IOC repository (github.com/Zimperium/IOC, path 2026-09-RatHat) containing 256 SHA-256 APK hashes, 16 C2 domains (HTTPS admin/config and WSS command-channel), and phishing/distribution indicators including an AWS S3-hosted APK.
- Zimperium zLabs publishes the original RatHat technical research report, disclosing the AI-driven Accessibility-tree automation chain, ADB self-pairing for shell access, and the liblocal-service.so/libmedia_codec.so native persistence components.
- GBHackers publishes a technical breakdown of the malware's "SystemHelper" component, detailing the automated Wireless Debugging activation and six-digit ADB pairing-code theft mechanics.
- Infosecurity Magazine, BleepingComputer, SecurityInformed, and CyberPress publish independent coverage summarizing Zimperium's RatHat findings and the China-based attribution assessment; several outlets attribute the generative-AI component to Google Gemini, a detail not confirmed in Zimperium's own report.
- PCRisk publishes a removal guide identifying a specific sample (SHA-256 018fca3266c87c10d4f46930878ffbe5155ae4a457c875d1e22682a80d7118a5) with cross-vendor AV detection names, and identifies kingbss.com as a live distribution site pushing the payload under the fake app name "Nexus One," alongside Bank of America and Russian-language banking-app targeting.
- The Daily Hodl and The Hacker News publish follow-up coverage detailing RatHat's ADB-based persistence (auto-reinstall after uninstall) and the scope of data stolen via the C2 command set (SMS, credentials, files, lock-screen material, screen captures, keystrokes, installed-app inventory).
- GBHackers publishes a technical breakdown of the AI-powered RatHat trojan's credential-theft and MFA-interception capabilities.
- Reporting as of this date describes RatHat's smishing and malvertising distribution campaigns, and its targeting of banking (including Bank of America and Russian-language banks), payment (WeChat and Alipay), and cryptocurrency apps, as ongoing and active.
- SSBCrack reports at least 162 distinct malicious applications observed actively communicating with RatHat's attacker-controlled infrastructure, based on the published IOC set, and notes fake-Google-Play-Store lure pages as an additional distribution vector.
Sources cited for RatHat: AI-Powered Android Banking Trojan Abuses
- RatHat: AI-Powered Mobile Threat is Here for Your Credentials & Bank Accounts
- Zimperium/IOC — 2026-09-RatHat indicator repository (apks.csv, c2.csv, phishing.csv)
- New 'RatHat' Android Malware Leverages AI to Steal Financial Data
- New RatHat Android malware uses AI to automate device control
- Zimperium zLabs Uncovers RatHat Mobile Malware
- New RatHat Android Malware Uses AI and ADB to Steal Banking Credentials and OTPs
- RatHat Abuses Android Wireless Debugging to Gain Shell Access and Steal Banking PINs
- New Android Malware Uses AI to Steal Banking Logins and Control Phones: Report
- RatHat Android Malware Abuses ADB to Retain Shell Access After Uninstall
- RatHat Malware (Android) - Malware removal instructions
- AI-Powered RatHat Android Trojan Steals Bank Credentials, PINs and MFA Codes
- New AI-Powered Malware RatHat Poses Serious Threat to Android Users
More in malware
- PowerShell Cryptomining Loader Abuses Registry-Resident Scripts, DNS TXT Records, and PNG/WAV Steganography for Stealth C2
- FomoPeek iOS App Store Poisoning: Kernel Exploit Framework Steals Crypto Private Keys via Keychain Decryption
- ClearFake Drive-By Cluster Fuels CastleLoader Paste-and-Run Delivery of NetSupport RAT, CastleRAT, and a .NET Stealer
- MovieReaper Malware Spreads Through Pirated Movie Torrents and Uses Solana Blockchain for C2
- AI-Powered Polymorphic Malware Queries LLMs at Runtime to Evade Signature Detection: PROMPTFLUX and PROMPTSTEAL/LAMEHUG (APT28)
Detection coverage for TL-2026-2592
As of 2026-09-20, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-2592 across Splunk SPL, Microsoft KQL and Sigma, covering 65 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.