
ToxicPanda 2.0 is an upgraded version of an Android banking malware that initially targeted European banking users and has now spread to 349 financial institutions across 16 countries, stealing PINs from more than 140 banking and cryptocurrency apps. Once a deviceis infected with ToxicPanda 2.0, the malware tricks the user into granting permission and installs a hidden payload, then connects to its C2 over encrypted WebSocket, allowing the attackers to issue commands, deploy phishing screens, steal data, and remotely control the device. ToxicPanda 2.0 can also use fake or transparent overlays to steal login credentials, PINs, and transaction information, and can capture lock-screen PINs, patterns, and passwords, which it can then use to reset the device's lock settings.
ToxicPanda was first disclosed in late 2024 as a simplified off shoot of the well-known TgToxic trojan. At that stage its capabilities were relatively basic, focused mainly on initiating automated transfers and intercepting SMS OTPs. Version 2.0 has evolved from an"early-stage test tool" into a "highly modular threat capable of large-scale, multi-country attacks." It can even automatically enable Wireless Debugging and pair with the ADB daemon to obtain shell-level access, which it uses to bypass prompts, disable restrictions, and strengthen persistence, giving it capabilities close to a full device takeover.
For financial institutions, payment providers, digital wallets, cryptocurrency services, and enterprises, the mainrisks include account takeover, unauthorized transactions, and leakage of credentials and corporate data. Because the attacks take place on legitimate users' own devices, they are harder to detect on the back end. The malware's use of AWS storage buckets for delivery and encrypted WebSocket communications also makes network-layer detection and blocking more difficult.
ToxicPanda 2.0 deserves attention not only because its attack techniques have been upgraded, but because of what it signals: mobile malware is shifting from "stealing credentials" to "controlling the user's device and transaction flow." By abusing legitimate Android Accessibility Services, the attackers reduce their relianceon vulnerability exploitation, making traditional defenses centered on CVEs, malicious file signatures, or network indicators far easier to bypass. For financial institutions, future risk assessment cannot rely only on whether anaccount, IP address, or device looks familiar; it must place greater weight on device integrity, unusual permissions, interaction behavior, and transaction context. We believe defenders should no longer treat mobile devices as mere personal endpoints, but should actively bring them into account security and endpoint risk management.
Technical Details
ToxicPanda 2.0 is a new type of Android banking trojan that combines dropper behavior, overlay phishing, Accessibility Service abuse, encrypted WebSocket command and control, and automated Android Wireless Debugging. Rather than relying on a single Android vulnerability, the campaign systematically abuses legitimate Android features (such as the VPN service, Accessibility Services, WebView overlays, DeviceAdministrator APIs, OEM auto-start settings, and Wireless Debugging/ADB) to gain visibility into the victim's screen, automate execution, steal credentials, and increase its control over the device.
Compared with earlier ToxicPanda variants, version 2.0 is far more operationally mature: it supports a command set of 167 remote commands, expands its overlay targets to 349 financial institutions in 16 countries, and includes PIN-theft logic targeting more than 140 banking and cryptocurrency apps. Several capabilities previously observedas incomplete are now fully implemented, including Device Administrator abuse, transparent WebView overlays, OEM permission automation, and auto-start persistence logic.
Reconnaissance
After installation, ToxicPanda 2.0inventories all installed applications on the victim's device. The malwarecollects app package names and icons and sends them to its command-and-controlserver. This tells the operators which banking, financial, e-wallet, orcryptocurrency apps are installed on the device, helping them decide whichphishing overlays or PIN-harvesting flows to deploy.
The malware also continuously monitors the foreground app through Android Accessibility Services. When the victim opens a targeted banking or financial app, ToxicPanda 2.0 detects the package and triggers the corresponding malicious flow. This makes the malware context-aware: rather than displaying phishing content at random, it waits until the victim interacts with a relevant app, increasing the likelihood of capturing credentials.
ToxicPanda 2.0 also performs reconnaissance of the Android system interface itself. During the Wireless Debugging abuse flow, it checks whether Developer Options are enabled, queries the accessibility node hierarchy, searches for UI elements such as "Buildnumber," "Wireless debugging," and "Pair device with pairing code," and extracts the dynamic ADB pairing code and port from the screen.
Resource Development
ToxicPanda 2.0 operators prepared both malware delivery infrastructure and command infrastructure, using Amazon AWS-hosted storage buckets to distribute ToxicPanda samples. Compared with obscure or newly registered malicious domains, hosting payloads on commercial cloud infrastructure is less likely to raise suspicion and offers greater scalability and operational flexibility.
The attackers also continue to maintain the ToxicPanda 2.0 command-and-control environment. The currently observed C2 panel carries a "v2" title, indicating that this version uses an updated operational back end. The infrastructure supports real-time device control, overlay delivery, target updates, command execution, and data exfiltration.
Initial Access
The initial access point is the victim downloading and installing the ToxicPanda 2.0 dropper. After installation, the malware presents a fake installation interface through a WebView, which is used to guide the victim into granting permissions useful to the malware. Notably, the dropper first requests VPN service permission. The malware uses this VPN capability to block network traffic from Google Play and Google Play Services, likely to reduce the chance of Google's security mechanisms interfering with the next-stage installation.
With this environment prepared, the dropper decrypts and extracts the real malicious payload from the app's assets folder. It then installs the payload and requests Accessibility Service permissions, which are the core of the rest of the attack chain.
Execution
Execution begins with the dropper's staged payload deployment: the initial application contains an encrypted payload stored in its assets directory. At runtime, ToxicPanda 2.0 decrypts the payload, extracts it, and proceeds with installation. This allows the app to act as a loader while hiding its real malicious functionality until the initial permissions are obtained.
Once activated, the payload establishes communication with its C2 server and waits for remote commands. ToxicPanda 2.0 supports 167 remote commands, giving operators broad control over infected devices. These commands can activate phishing overlays, update target lists, automate permissions, abuse Device Administrator, load WebViews, manipulate Wireless Debugging, and perform other malicious actions.
One of its major execution capabilities is automated abuse of Android Wireless Debugging. The malware uses Accessibility Services to perform UI actions that would normally require user interaction. It can:
This attack chain lets the malware move from app-level execution to shell-level command execution without exploiting at raditional memory corruption vulnerability.
Persistence
ToxicPanda 2.0 hides a diverse set of persistence mechanisms designed to keep the malware running even in the faceof Android background restrictions, battery optimization, reboots, and OEM-specific power management controls.
The malware's abuse of Accessibility Services is itself a form of persistence. Once the victim grants Accessibility permissions, ToxicPanda 2.0 can interact with system dialogs, approve permission prompts, navigate settings, and manipulate device controls on the victim's behalf.
In addition, by stealing the victim's PIN, pattern, or password through a fake lock-screen overlay, the attackers may regain access even after the device has been locked, which also serves to extend persistence.
Privilege Escalation
The most important privilege escalation technique in ToxicPanda 2.0 is its automated abuse of Android Wireless Debugging and ADB.
Wireless Debugging is a legitimate Android feature introduced in Android 11 that lets developers connect to ADB over Wi-Fi without a USB cable. ToxicPanda 2.0 turns this feature into a means of malicious privilege escalation. Through Accessibility automation, it enables Developer Options, turns on Wireless Debugging, and opens the "Pair device with pairing code" dialog. The malware then captures the 6-digit pairing code and dynamic port directly from the Android UI.
With this information, ToxicPanda 2.0 initiates a local SPAKE2 pairing process and authenticates with the ADB daemon listening on 127.0.0.1. It establishes a TLS-encrypted channel and completes the SPAKE2 key exchange using the captured pairing PIN. Once pairing succeeds, the malware obtains shell-level access via ADB.
This shell-level access allows ToxicPanda 2.0 to execute commands that ordinary Android apps normally cannot. The malware uses this access to grant itself broad permissions, bypass standard Android runtime consent prompts, neutralize background restrictions, silently enable key components, and enforce persistence.
Device Administrator abuse provides another escalation path. Through <admSet>, the malware attempts to obtain administrative privileges; through <admPwd>, it can use DevicePolicyManager.resetPassword() to reset or overwrite the local lock-screen PIN or password with an attacker-defined value.
Defense Evasion
ToxicPanda 2.0 uses multipledefense evasion techniques to hide its behavior and reduce the likelihood ofdetection or disruption.
First, the malware operates as adropper and stores its encrypted payload in the app's assets folder. The realmalicious payload is not immediately exposed as a standalone component; it isdecrypted and extracted only at runtime. This staged design complicates static analysis and helps conceal the malware's full functionality until execution.
Second, the dropper requests VPN service permission and uses it to block communication with Google Play and Google Play Services. This may interfere with security checks, app verification, or other protective communications from Google components.
Third, ToxicPanda 2.0 fakes installation and VPN permission screens during the initial permission flow, using deceptive screens to mask its malicious behavior, and some samples also display a full-screen fake "System Update" activity. By invoking local HTML templates or app resources from the app's assets directory, it can generate a fake update interface directly; while the victim sees what appears to be a system update, the malware continues to act in the background.
Fourth, C2 communications are encrypted. After establishing an HTTPS connection, ToxicPanda 2.0 maintains a persistent WebSocket channel. Data exchanged over this channel is protected with AES in ECB mode. The AES key is embedded in the malware code and derived from a static byte array. Although AES-ECB with a statically embedded key is not strong operational security once analysts obtain a sample, it is sufficient to obscure inspection.
Finally, the malware evades Android runtime controls by abusing Accessibility Services and Wireless Debugging. Accessibility automation lets it click through permission dialogs and settings screens, while ADB shell access lets it bypass normal user consent mechanisms and manipulate permissions or restrictions at a higher privilege level.
Credential Access
Credential theft is one of ToxicPanda 2.0's main objectives. When the victim opens a targeted app,ToxicPanda 2.0 requests the corresponding malicious HTML overlay from its C2 server. The overlay is displayed on top of the legitimate app and closely mimics its login or transaction interface. Victims who enter user names, passwords, PINs, or other authentication data are in fact submitting them to the attacker-controlled overlay.
ToxicPanda 2.0 uses a PIN-harvesting mechanism targeting more than 140 banking and cryptocurrency apps. When a targeted app is active, the malware deploys an invisible, transparent overlay to capture the victim's touch input. This allows the malware to infer or collect PIN entries while the victim believes they are interacting with a legitimate banking or payment app.
The malware can dynamically update its list of PIN targets using the <replacePinTargets> command. This means operators are not limited to a static list embedded in the APK; theycan push new package names and keywords from the C2 server as their targeting priorities change.
Another important credential access capability is lock-screen credential theft. ToxicPanda 2.0 fakes an Android lock-screen overlay that mimics the native device unlock interface. Itcan collect PINs, patterns, and passwords, allowing the attackers to bypass the victim's screen lock and maintain access to physical or remote device sessions.
Accessibility Services further support credential access by letting the malware read UI elements displayed onscreen, exposing sensitive information shown in banking apps, authentication prompts, or system dialogs.
Discovery
ToxicPanda 2.0 performs extensive discovery after installation to adapt to the compromised device. The malware enumerates installed apps and sends package names and icons to the C2, helping operators identify high-value financial apps on the device. It also monitors running apps to detect when the victim opens a targeted app.
During Wireless Debugging abuse,ToxicPanda 2.0 discovers the state of system settings: it checks whether Developer Options are enabled, locates specific Android settings elements, identifies Wireless Debugging controls, and reads the pairing code and dynamic port from the pairing dialog.
For OEM persistence, ToxicPanda 2.0 identifies the device manufacturer using Build.MANUFACTURER and uses this information to determine which vendor-specific settings activities to launch. For example, Xiaomi, OPPO, Vivo, Samsung, or Huawei devices may require different logic, because each vendor implements background execution, battery optimization, and auto-start controls differently.
The malware also parses the accessibility tree to identify clickable controls, permission prompts, localized approval buttons, and battery optimization options. This discovery allows its automation flows to work across different Android versions, languages, and OEM skins.
Collection
ToxicPanda 2.0 collects several categories of data from victim devices.
The first category is device app inventory data. The malware collects installed app package names and icons and sends them to the C2 server. Although this is part of reconnaissance, it is also collected data that helps drive subsequent targeting.
The second category is screen and UI data. By abusing Android Accessibility Services, ToxicPanda 2.0 can collect UI elements displayed on screen. This lets the malware see what the victim isdoing and what sensitive content may be present.
The third category is financial credentials and PINs. ToxicPanda 2.0 collects credentials entered into phishing overlays that mimic banking, e-wallet, financial, and cryptocurrency apps. It also collects PIN entries through transparent overlays placed over legitimate financial apps.
The fourth category is device unlock credentials. Through a fake Android lock-screen overlay, the malware collects the PINs, patterns, and passwords used to unlock the device.
The fifth category is Wireless Debugging pairing data. ToxicPanda 2.0 captures the 6-digit ADB pairing code and dynamic port from Android system dialogs, then uses this information to pair with the local ADB daemon and obtain shell-level access.
Command and Control (C2)
ToxicPanda 2.0 uses a persistent command-and-control architecture designed for real-time remote control.
The malware first sends an HTTPS request to the remote C2 server, then establishes a persistent WebSocket connection. This WebSocket channel provides low-latency, bidirectional communication, allowing the infected device and operator-controlled infrastructure to exchange commands and data in near real time.
C2 traffic is encrypted with AES in ECB mode. The encryption key is embedded in the malware source code and derived from a static byte array that is converted to a string representation before use. This encryption helps obscure command and data traffic, but the statically embedded key also gives reverse engineers who obtain a sample a weakness to exploit.
The C2 server serves several operational purposes:
The updated C2 panel displays a "v2" label, indicating that the ToxicPanda back end isstill under active development and operational maintenance.
Exfiltration
ToxicPanda exfiltrates collected data mainly through its encrypted C2 channel. After enumerating installed apps, the malware sends package names and icons to the C2 server. This information lets the attackers classify infected devices and helps them decide which overlays or fraud flows to activate.
Credentials entered into malicious overlays are sent back to attacker infrastructure. These include banking usernames and passwords, transaction authentication data, e-wallet credentials, cryptocurrency app credentials, and financial PINs.
PINs captured through invisible transparent overlays are also exfiltrated. Because these overlays are deployed while the victim interacts with legitimate financial apps, the stolen input maybe used directly for account takeover or unauthorized transaction attempts.
Lock-screen PINs, patterns, and passwords collected through the fake Android lock-screen overlay are likewise sent to the attackers. These credentials can allow persistent access to the device and may enable physical or remote device hijacking.
Screen data and UI elements obtained through Accessibility Services may also be exchanged with the C2 server to support data theft and operator-driven fraud.
Impact
The most direct impact of this campaign is manipulation of the device lock through Device Administrator abuse.
Using the <admPwd> command, ToxicPanda can call DevicePolicyManager.resetPassword() to reset or overwrite the device's local lock-screen PIN or password with an attacker-defined value.This can lock the legitimate user out of the device or give the attackers control over access to it.
More serious is the financial compromise: by stealing banking credentials, app PINs, cryptocurrency wallet access data, and device unlock credentials, ToxicPanda 2.0 can enable account takeover, fraudulent transactions, wallet compromise, and persistent unauthorized access to the victim's mobile endpoint. Its ability to obtain shell-level access through Wireless Debugging and to maintain background execution through OEM-specific persistence logic further raises the severity of the compromise.
No specific Android patch has been identified for the techniques abused by ToxicPanda 2.0. Mitigation therefore depends on reducing exposure to high-risk Android features, detecting maliciouson-device behavior, blocking delivery and command-and-control infrastructure, and adding fraud controls to financial app sessions.
Because ToxicPanda 2.0 mainly abuses legitimate Android services, defenders should treat unexpected changes to these services as high-risk signals, especially when they occur shortly after a new app is installed.
For the full list offile IoCs, please refer to: https://github.com/Zimperium/IOC/tree/master/2026-08-ToxicPanda
C2
https://cctvv2.com/panel
https://www.v17001.com/panel
https://www.w17907.com/panel
https://g8688808.com
Phishing websites:
http://xcmtxc1oam1.s3.ap-south-1.amazonaws.com
https://ui920fht4m1.s3.mx-central-1.amazonaws.com/
https://googleplaydown.com/dUyFpz0Ai7Sp
https://api.telegram.org/file/bot8331125434:AAEsxWq7_xZWUjN0IFLO3fTU54ZCBnZS4YI/documents/file_22526.apk
https://api.telegram.org/file/bot8978201863:AAG4vnsJVOAbABfF6dXhhM8YJ14pd5LaxVw/documents/file_1389.apk
https://osy4u8pmu.s3.ap-southeast-1.amazonaws.com/
https://ejjsi5fbl.s3.ap-southeast-1.amazonaws.com/
https://svhc5arco.s3.ap-southeast-1.amazonaws.com/
CyCraft Technology(7823.TW) is a Taiwan-listed cybersecurity company, dedicated to automatingcybersecurity with AI technology and safeguarding AI models. CyCraft’s productsuite encompasses XecART, the AI Red Teaming, and XecGuard, the Guardrail APIfor LLMs and AI Agents. The XCockpit AI platform integrates EASM, IASM, andEndpoint protection, providing preemptive and real-time defense-in-depth. Witha proven track record in the government, finance, and semiconductor sectors,and recognition from international institutions, CyCraft continues to safeguardenterprise digital resilience.