How to get rid of the Hirudo Android banking trojan

Trojan

Also Known As: Hirudo banking malware

Damage level:

Get free scan and check if your device is infected.

Remove it now

To use full-featured product, you have to purchase a license for Combo Cleaner. Seven days free trial available. Combo Cleaner is owned and operated by RCS LT, the parent company of PCRisk.com.

What kind of malware is Hirudo?

Hirudo is an Android banking trojan with remote access capabilities. According to research published by ThreatFabric's Mobile Threat Intelligence team, it combines on-device credential theft with live remote control of the infected device. Hirudo is distributed through lure apps disguised as shopping, adult video, or short drama applications, and can replace genuine banking apps with modified copies that disable the banks' own security checks from within.

Hirudo banking trojan detected by security vendors

Hirudo malware overview

Hirudo is built around a two-stage design. The first stage is a dropper, packaged as a lure app in categories such as shopping (Shopora), adult video (1V1 X), or short drama (ZoyaTV, KoiShort). These apps load real content through a WebView, so the experience looks legitimate and the victim has no immediate reason for suspicion.

When the dropper runs, it quietly checks whether Hirudo's payload is already installed. If not, it displays a fake in-app update prompt and offers the payload APK for installation as a second app. One analysed variant raises a blackhole VPN during installation, cutting the device's internet traffic while the payload is quietly deployed in the background.

Once the payload is active, it can intercept in-app purchases. When the dropper triggers a payment, the payload renders a fake checkout page over it using a transparent WebView. The page is branded with the victim's bank or e-wallet and supports eight languages. Any payment PIN the victim enters is captured and sent to the operators, while a forged payment-success message is returned to the dropper.

Beyond checkout fraud, Hirudo collects banking login credentials through bank-specific prompts as the user types. A full-screen fake pattern overlay captures the device unlock pattern, and in some builds the payload reads the real lock screen's PIN, password, or pattern input through Android Accessibility Services. The malware runs live screen viewing over WebRTC and activates front and rear cameras on demand.

Hirudo also intercepts SMS messages, scanning 90 days of history on first run and then monitoring configured bank and wallet senders going forward. This lets it steal one-time passwords used in two-factor authentication. The malware maintains a registry of 42 financial apps and has purpose-built replacements for eight Indonesian banking apps covering seven banks.

The banking app replacement process begins when Hirudo detects a target app through Accessibility, verifies its signing certificate, and displays a fake update prompt. It then opens Android's uninstaller for the genuine app without waiting for user confirmation and downloads the patched replacement in parallel. Because Android blocks installing a differently signed app as an update, Hirudo must remove the original first.

The patched replacement keeps the original package name and version but is signed with a public Android test key. A single line injected into the app's Application class loads a self-contained hooking engine built on YAHFA and Dobby, two open-source frameworks for replacing Java methods and hooking native functions. The engine only activates when a trigger file written by the RAT is present on the device.

With the engine running inside the banking app's own process, the app's security checks are turned against it. The hook substitutes the genuine signing certificate to hide the test-key signature, returns an empty Accessibility service list so the controlling service is invisible, and strips the screenshot-blocking flag to allow the banking screen to be viewed and recorded remotely.

Play Integrity requests from the patched app are relayed over plain HTTP to an operator-controlled server rather than being answered locally. The attestation keybox the engine carries is a publicly leaked one, and ThreatFabric confirmed that at least two of its certificates appear on Google's attestation revocation list as compromised. Server-side revocation checks can still detect its forgeries.

Hirudo's lures are distributed via Amazon CloudFront, with separate routes for each lure family and a dedicated host for the patched banking apps. The campaign uses OpenInstall for install attribution and ties lure branding to campaign groups via Meta Pixel IDs. An APK-processing panel used to rebuild the lures was reachable without authentication, with cloud storage buckets and credentials left exposed.

The banking app replacements focus on eight Indonesian apps across seven banks, but Hirudo's configured scope is broader. Credential targets named in the code span Indonesia, China, India, Mexico, Morocco, and Thailand, and the bundled fake checkout carries Malaysian bank and e-wallet branding.

A backend captured in August 2026 held thousands of credential and device records split across campaign groups. Records included lock-screen history and financial profiles with monthly income and risk-score fields. Operators annotated some entries as successfully phished, pointing to a structured workflow for converting stolen data into fraudulent transactions.

In summary, the presence of malware like Hirudo on a device can lead to multiple system infections, serious privacy issues, significant financial losses, and identity theft.

It has to be mentioned that malware developers often improve upon their software and methodologies. Hence, potential future iterations of Hirudo could have additional or different functionalities and features.

Threat Summary:
Name Hirudo banking malware
Threat Type Android malware, malicious application, Remote Access Trojan, banking trojan.
Detection Names Avast-Mobile (Android:Evo-gen [Trj]), Combo Cleaner (Android.Riskware.Agent.QCD), ESET-NOD32 (Android/Spy.Agent.DUH Trojan), Kaspersky (HEUR:Trojan-Spy.AndroidOS.Agent.akg), Full List (VirusTotal)
Symptoms The device is running slow, system settings are modified without user's permission, questionable applications appear, data and battery usage is increased significantly, browsers redirect to questionable websites, intrusive advertisements are delivered.
Distribution methods Lure apps disguised as shopping, adult video, and short drama applications; fake in-app update prompts; Amazon CloudFront distribution.
Damage Stolen banking credentials, device takeover, live screen viewing, camera access, SMS interception, replacement of genuine banking apps with patched copies that disable security checks, significant financial losses, identity theft.
Malware Removal (Windows)

To eliminate possible malware infections, scan your computer with legitimate antivirus software. Our security researchers recommend using Combo Cleaner.

Download Combo Cleaner

To use full-featured product, you have to purchase a license for Combo Cleaner. 7 days free trial available. Combo Cleaner is owned and operated by RCS LT, the parent company of PCRisk.com.

Android banking trojan examples

Hirudo is a notable example of how modern Android banking trojans have evolved beyond simple overlay attacks to incorporate app-replacement techniques and full remote device control. Other examples of Android banking trojans include RemControl, Rokarolla, and OverlayPhantom.

Malicious programs vary widely in design and purpose. Whether seeking financial gain, stealing personal data, or granting criminals persistent remote access to a device, all such threats should be removed as soon as they are discovered.

How did Hirudo infiltrate my device?

Hirudo reaches victims through lure apps that look like legitimate shopping, adult video, or short drama platforms. These apps are distributed via advertising networks and served through Amazon CloudFront. ThreatFabric noted that some download routes were still live as recently as October 2026.

After the lure app is installed, it displays a fake in-app update prompt and installs Hirudo's payload as a second application. Users should be cautious of any app that requests the installation of additional packages outside the official Google Play Store.

More generally, cybercriminals distribute malware through many channels: phishing messages, malicious advertisements, fake update prompts, and unofficial app stores. Staying alert to unexpected installation requests is one of the most effective steps users can take to avoid infection.

How to avoid installation of malware?

Download apps only from the official Google Play Store and verified developer websites. Always read user reviews and check the permissions an app requests before installing. Be especially wary of any app that prompts you to install additional software after launch, as this is a tactic commonly used by dropper-style malware.

Keep your Android operating system and all installed apps updated, since updates frequently include security patches that address known vulnerabilities. Using reputable mobile security software and running regular scans also reduces your risk. Avoid clicking links in unsolicited SMS messages, emails, or social media posts, as these can lead to pages serving malicious APKs.

Hirudo's fake checkout overlay, shown with Maybank branding, positioned transparently over the dropper's own order screen to capture payment PINs (source: ThreatFabric):

Hirudo fake checkout overlay page with Maybank branding

Quick menu:

Delete browsing history from the Chrome web browser:

Deleting web browsing history from Chrome in Android operating system (step 1)

Tap the "Menu" button (three dots on the right-upper corner of the screen) and select "History" in the opened dropdown menu.

Deleting web browsing history from Chrome in Android operating system (step 2)

Tap "Clear browsing data", select "ADVANCED" tab, choose the time range and data types you want to delete and tap "Clear data".

[Back to Table of Contents]

Disable browser notifications in the Chrome web browser:

Disabling browser notifications in the Chrome browser in Android operating system (step 1)

Tap the "Menu" button (three dots on the right-upper corner of the screen) and select "Settings" in the opened dropdown menu.

Disabling browser notifications in the Chrome browser in Android operating system (step 2)

Scroll down until you see "Site settings" option and tap it. Scroll down until you see "Notifications" option and tap it.

Disabling browser notifications in the Chrome browser in Android operating system (step 3)

Find the websites that deliver browser notifications, tap on them and click "Clear & reset". This will remove permissions granted for these websites to deliver notifications. However, once you visit the same site again, it may ask for a permission again. You can choose whether to give these permissions or not (if you choose to decline the website will go to "Blocked" section and will no longer ask you for the permission).

[Back to Table of Contents]

Reset the Chrome web browser:

Resetting Chrome browser to default in Android operating system (step 1)

Go to "Settings", scroll down until you see "Apps" and tap it.

Resetting Chrome browser to default in Android operating system (step 2)

Scroll down until you find "Chrome" application, select it and tap "Storage" option.

Resetting Chrome browser to default in Android operating system (step 3)

Tap "MANAGE STORAGE", then "CLEAR ALL DATA" and confirm the action by taping "OK". Note that resetting the browser will eliminate all data stored within. This means that all saved logins/passwords, browsing history, non-default settings and other data will be deleted. You will also have to re-login into all websites as well.

[Back to Table of Contents]

Delete browsing history from the Firefox web browser:

Delete browsing history from the Firefox in the Android operating system (step 1)

Tap the "Menu" button (three dots on the right-upper corner of the screen) and select "History" in the opened dropdown menu.

Delete browsing history from the Firefox in the Android operating system (step 2)

Scroll down until you see "Clear private data" and tap it. Select data types you want to remove and tap "CLEAR DATA".

[Back to Table of Contents]

Disable browser notifications in the Firefox web browser:

Disable browser notifications in the Firefox web browser in the Android operating system (step 1)

Visit the website that is delivering browser notifications, tap the icon displayed on the left of URL bar (the icon will not necessarily be a "Lock") and select "Edit Site Settings".

Disable browser notifications in the Firefox web browser in the Android operating system (step 2)

In the opened pop-up opt-in the "Notifications" option and tap "CLEAR".

[Back to Table of Contents]

Reset the Firefox web browser:

Resetting Firefox browser in the Android operating system (step 1)

Go to "Settings", scroll down until you see "Apps" and tap it.

Resetting Firefox browser in the Android operating system (step 2)

Scroll down until you find "Firefox" application, select it and tap "Storage" option.

Resetting Firefox browser in the Android operating system (step 3)

Tap "CLEAR DATA" and confirm the action by taping "DELETE". Note that resetting the browser will eliminate all data stored within. This means that all saved logins/passwords, browsing history, non-default settings and other data will be deleted. You will also have to re-login into all websites as well.

[Back to Table of Contents]

Uninstall potentially unwanted and/or malicious applications:

Removing unwanted/malicious applications from the Android operating system (step 1)

Go to "Settings", scroll down until you see "Apps" and tap it.

Removing unwanted/malicious applications from the Android operating system (step 2)

Scroll down until you see a potentially unwanted and/or malicious application, select it and tap "Uninstall". If, for some reason, you are unable to remove the selected app (e.g., you are prompted with an error message), you should try using the "Safe Mode".

[Back to Table of Contents]

Boot the Android device in "Safe Mode":

The "Safe Mode" in Android operating system temporarily disables all third-party applications from running. Using this mode is a good way to diagnose and solve various issues (e.g., remove malicious applications that prevent users you from doing so when the device is running "normally").

Booting Android device in Safe Mode

Push the "Power" button and hold it until you see the "Power off" screen. Tap the "Power off" icon and hold it. After a few seconds the "Safe Mode" option will appear and you'll be able run it by restarting the device.

[Back to Table of Contents]

Check the battery usage of various applications:

Checking the battery usage of various applications in the Android operating system (step 1)

Go to "Settings", scroll down until you see "Device maintenance" and tap it.

Checking the battery usage of various applications in the Android operating system (step 2)

Tap "Battery" and check the usage of each application. Legitimate/genuine applications are designed to use as low energy as possible in order to provide the best user experience and to save power. Therefore, high battery usage may indicate that the application is malicious.

[Back to Table of Contents]

Check the data usage of various applications:

Checking data usage of various applications in the Android operating system (step 1)

Go to "Settings", scroll down until you see "Connections" and tap it.

Checking data usage of various applications in the Android operating system (step 2)

Scroll down until you see "Data usage" and select this option. As with battery, legitimate/genuine applications are designed to minimize data usage as much as possible. This means that huge data usage may indicate presence of malicious application. Note that some malicious applications might be designed to operate when the device is connected to wireless network only. For this reason, you should check both Mobile and Wi-Fi data usage.

Checking data usage of various applications in the Android operating system (step 3)

If you find an application that uses a lot of data even though you never use it, then we strongly advise you to uninstall it as soon as possible.

[Back to Table of Contents]

Install the latest software updates:

Keeping the software up-to-date is a good practice when it comes to device safety. The device manufacturers are continually releasing various security patches and Android updates in order to fix errors and bugs that can be abused by cybercriminals. An outdated system is way more vulnerable, which is why you should always be sure that your device's software is up-to-date.

Installing software updates in the Android operating system (step 1)

Go to "Settings", scroll down until you see "Software update" and tap it.

Installing software updates in the Android operating system (step 2)

Tap "Download updates manually" and check if there are any updates available. If so, install them immediately. We also recommend to enable the "Download updates automatically" option - it will enable the system to notify you once an update is released and/or install it automatically.

[Back to Table of Contents]

Reset the system to its default state:

Performing a "Factory Reset" is a good way to remove all unwanted applications, restore system's settings to default and clean the device in general. However, you must keep in mind that all data within the device will be deleted, including photos, video/audio files, phone numbers (stored within the device, not the SIM card), SMS messages, and so forth. In other words, the device will be restored to its primal state.

You can also restore the basic system settings and/or simply network settings as well.

Resetting the Android operating system to its default (step 1)

Go to "Settings", scroll down until you see "About phone" and tap it.

Resetting the Android operating system to its default (step 2)

Scroll down until you see "Reset" and tap it. Now choose the action you want to perform:
"Reset settings" - restore all system settings to default;
"Reset network settings" - restore all network-related settings to default;
"Factory data reset" - reset the entire system and completely delete all stored data;

[Back to Table of Contents]

Disable applications that have administrator privileges:

If a malicious application gets administrator-level privileges it can seriously damage the system. To keep the device as safe as possible you should always check what apps have such privileges and disable the ones that shouldn't.

Disabling Android applications that have administrator privileges (step 1)

Go to "Settings", scroll down until you see "Lock screen and security" and tap it.

Disabling Android applications that have administrator privileges (step 2)

Scroll down until you see "Other security settings", tap it and then tap "Device admin apps".

Disabling Android applications that have administrator privileges (step 3)

Identify applications that should not have administrator privileges, tap them and then tap "DEACTIVATE".

Frequently Asked Questions (FAQ)

My Android device is infected with Hirudo malware, should I format my storage device to get rid of it?

Formatting is rarely necessary for malware removal. Running reputable mobile security software like Combo Cleaner should be sufficient to detect and remove Hirudo from your device without wiping your data.

What are the biggest issues that Hirudo malware can cause?

Hirudo can steal banking credentials, intercept one-time passwords from SMS messages, and replace genuine banking apps with patched copies that disable the apps' own security checks from within.

It also gives operators live remote control of the device, including screen viewing and camera access. Victims face the risk of significant financial losses, identity theft, and serious violations of their privacy.

What is the purpose of Hirudo malware?

Most malware attacks are profit-driven, and Hirudo is no exception. Its operators maintain a backend built to convert stolen credentials and device data into fraudulent transactions. That said, cybercriminal motivations can also include hacktivism, personal grudges, or geopolitical goals.

How did Hirudo malware infiltrate my Android device?

Hirudo is most likely installed via a lure app disguised as a shopping, video, or short drama platform. After launch, these apps display a fake in-app update prompt and install the Hirudo payload as a second application. Users may also encounter it through unofficial app stores or malicious advertisements.

Will Combo Cleaner protect me from malware?

Combo Cleaner is capable of detecting and eliminating the vast majority of known malware infections. Since sophisticated threats like Hirudo embed themselves deeply within the device, running a complete system scan is strongly recommended to ensure full removal.

Share:

facebook
X (Twitter)
linkedin
copy link
Tomas Meskauskas

Tomas Meskauskas

Expert security researcher, professional malware analyst

I am passionate about computer security and technology. I have an experience of over 10 years working in various companies related to computer technical issue solving and Internet security. I have been working as an author and editor for pcrisk.com since 2010. Follow me on Twitter and LinkedIn to stay informed about the latest online security threats.

▼ Show Discussion

PCrisk security portal is brought by a company RCS LT.

Joined forces of security researchers help educate computer users about the latest online security threats. More information about the company RCS LT.

Our malware removal guides are free. However, if you want to support us you can send us a donation.

Donate