Cerberus: recovered C2 indicators & analysis
Cerberus is an Android banking trojan sold as a malware-as-a-service that abuses accessibility services and overlay attacks to steal banking credentials, intercept SMS, and bypass two-factor authentication; its source code was released publicly in 2020 and became the basis for later families such as Alien and ERMAC. · also known as Cerberus v2
What Cerberus is
Cerberus is an Android banking trojan first documented by ThreatFabric in June 2019 and advertised for rent on underground forums under a malware-as-a-service (MaaS) model. Its operators claimed the malware had been used in private operations for roughly two years beforehand, and unusually promoted the rental through a public social-media presence.
The malware abuses Android's accessibility service to read the package name of the foreground application and decide when to display a credential-stealing overlay window, and to grant itself additional permissions and disable protections such as Google Play Protect without user interaction. Reported targets included banking applications across several countries alongside email, social-media, messaging, and payment apps.
Later and test builds added two-factor-authentication theft, including capturing SMS-based one-time codes and reading Google Authenticator codes through the accessibility interface, together with a remote-access (RAT) capability and screen-lock credential grabbing intended to let operators unlock and control the device remotely.
To hinder analysis, some Cerberus samples used an accelerometer/step-counter (pedometer) check, activating only after detecting device movement so as to evade automated sandboxes and analyst test devices.
In August-September 2020, after a failed auction, the Cerberus author ended the rental service and released the full source code for free on a Russian-language underground forum; security vendors linked the release to a subsequent rise in infections. The leaked code became the basis for successor and fork families, including Alien, ERMAC, and Phoenix. (The TeamViewer-based RAT and notification sniffer are attributed by ThreatFabric to the Alien fork rather than to baseline Cerberus.)
Capabilities
- Overlay attacks (fake login windows) over banking and other apps to steal credentials and payment-card data
- Keylogging / capture of on-screen input
- Abuse of Android accessibility services to auto-grant permissions and drive the UI
- SMS interception, forwarding, and sending (SMS control)
- Theft of SMS-based one-time passwords / 2FA codes
- Theft of Google Authenticator codes via the accessibility interface
- Contact list harvesting
- Call forwarding via USSD codes
- Remote access / device control (RAT), including remote screen unlock in later/test builds
- Disabling Google Play Protect
- Anti-analysis via accelerometer/pedometer movement check
- HTTP-based command-and-control
Known C2 / channel types: Rented as malware-as-a-service on underground (Russian-language) forums; full source code later released publicly for free (2020), Distributed via sideloaded trojanized/fake apps, SMS phishing (smishing) for delivery, plus SMS interception/forwarding for exfiltration, HTTP command-and-control.
MITRE ATT&CK (Mobile)
Techniques commonly associated with Cerberus:
| ID | Technique |
|---|---|
| T1417.002 | Input Capture: GUI Input Capture |
| T1417.001 | Input Capture: Keylogging |
| T1516 | Input Injection |
| T1582 | SMS Control |
| T1636.004 | Protected User Data: SMS Messages |
| T1636.003 | Protected User Data: Contact List |
| T1629.003 | Impair Defenses: Disable or Modify Tools |
| T1633.001 | Virtualization/Sandbox Evasion: System Checks |
| T1437.001 | Application Layer Protocol: Web Protocols |
What Privara Unmask recovered
The packing was defeated (two DEX carved from memory) and the C2 recovered via runtime tracing. It matched abuse.ch's own previously-confirmed Cerberus C2 — an independent match against ground truth. A Telegram transport address (149.154.167.99:443) was also observed but is not a distinct C2 and is not listed as an indicator. The analysis ran on a de-emulated Android 17 device that the sample could not fingerprint as virtual, so it behaved as it would on a real handset.
SHA-256 a52d2105d680d029f9cc5c9c77f639e47ae520e41ce7294bbad77b8f2931796a
Source MalwareBazaar (abuse.ch)
Indicators of compromise (IOCs)
| Indicator | Type | Role | Confidence | Status |
|---|---|---|---|---|
| 217.8.117.30:80 matches abuse.ch's own confirmed Cerberus C2 — independent corroboration | ip:port | C2 | high | offline |
External references
- Cerberus - A new banking Trojan from the underworldThreatFabric
- Alien - the story of Cerberus' demiseThreatFabric
- ERMAC - another Cerberus rebornThreatFabric
- Cerberus Android Malware Can Bypass 2FA, Unlock Devices RemotelyBleepingComputer
- The rise of Cerberus: Android banking malware is available for free in underground forumsKaspersky
- Cerberus (apk.cerberus)Malpedia (Fraunhofer FKIE)
Methodology & honest limits
This sample was obtained from MalwareBazaar and detonated in a controlled, isolated environment. C2 identity was recovered from the executing sample and its configuration. We report only what the analysis established: an offline sample yields a C2 identity, not a live beacon, and we say so. Nothing here is inferred beyond the evidence.
Analyze your own Android samples like this
Privara Unmask detonates arm64 samples on a de-emulated Android 17 device that anti-analysis code can't fingerprint — recovering C2, config and IOCs automatically, with a clean rollback per sample.
See the sandbox → Request a demo