
You are solely responsible for any actions or activities related to the material on this website. Some of the content here may be harmful or dangerous if misused. If you do not fully understand any material on this site, please leave. Before accessing or using these materials in any way, review the laws that apply in your province or country. All materials are provided for educational and research purposes only.
Ringkasan
Hirudo adalah Android banking trojan baru yang dipublikasikan oleh ThreatFabric pada 14 Oktober 2026. Berbeda dengan banking malware pada umumnya yang menampilkan overlay palsu di atas aplikasi asli, Hirudo mengambil pendekatan yang lebih agresif: menghapus aplikasi bank asli dan menggantinya dengan salinan yang sudah di-patch — salinan yang terlihat dan berfungsi identik, namun diam-diam menonaktifkan semua security check bawaan bank dari dalam proses aplikasi itu sendiri.
- Target utama: 8 aplikasi banking dari 7 bank di Indonesia
- Target tambahan: Credential targets di China, India, Mexico, Morocco, dan Thailand
- Kapabilitas: Credential theft, device takeover, screen & camera capture, SMS theft
- Distribusi: Dropper apps (shopping, adult-video, short-drama) via Amazon CloudFront dan Meta Ads
Arsitektur: Two-Stage Design
Hirudo menggunakan desain dua tahap — dropper dan payload — yang memisahkan komponen distribusi dari komponen malicious.
Stage 1: Dropper (Lure App)
Korban menginstall aplikasi yang terlihat legitimate, seperti:
| Lure App | Tipe | Package Name |
|---|---|---|
| Shopora | Shopping app | com.agbbh.kjdrttt |
| 1V1 X | Adult-video app | com.onev.vip |
| KoiShort | Short-drama app | com.koishort.app |
| ZoyaTV | Short-drama app | com.zoyatv.app |
Lure apps ini fungsional — memuat konten asli via WebView (storefront, katalog video, drama pendek) sehingga pengalaman terlihat legitimate. Di balik layar, dropper menjalankan rutinitas startup:
- Mengumpulkan data promotion-tracking
- Mengambil konfigurasi campaign
- Mengecek apakah payload (Hirudo RAT) sudah terinstall dengan Accessibility service dan notification access aktif
Jika payload belum ada, dropper menampilkan prompt fake in-app “update” dan menawarkan APK payload untuk instalasi.
Stage 2: Payload (Hirudo RAT)
Payload diinstall sebagai aplikasi kedua yang terpisah. Satu dropper shopping yang dianalisis bahkan membuat blackhole VPN selama proses instalasi — memutus traffic IPv4 perangkat sementara payload diinstall di background, kemungkinan untuk menghindari deteksi Play Protect.
1
2
3
4
5
6
7
8
9
10
11
12
13
[Dropper Startup]
│
├── Load konten legitimate (WebView)
├── Collect promotion-tracking data
├── Fetch campaign configuration
├── Cek: Hirudo RAT sudah terinstall?
│
├── [Tidak] → Tampilkan fake "Update Available"
│ → Install payload APK
│ → (Opsional) Raise blackhole VPN
│
└── [Ya] → Cek Accessibility & Notification access
→ Mulai operasi banking-app replacement
Teknis: Banking App Replacement
Ini adalah inti dari Hirudo yang membuatnya unik. Alih-alih overlay, Hirudo mengganti aplikasi bank yang sebenarnya.
Proses Replacement
Karena salinan patched di-sign dengan public test key (bukan certificate bank asli), Android tidak menerima instalasi sebagai update normal. Hirudo menggunakan Accessibility service abuse untuk:
- Membuka uninstaller dan menghapus aplikasi bank asli
- Memandu installer untuk menginstall salinan yang sudah di-patch
- Salinan patched mempertahankan package name dan versi yang sama dengan aplikasi asli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Banking App Replacement]
│
├── Hirudo RAT mendeteksi bank app target terinstall
├── Menggunakan Accessibility service untuk:
│ ├── Uninstall aplikasi bank asli
│ └── Install salinan patched (signed dengan test key)
│
├── Salinan patched:
│ ├── Package name sama
│ ├── Versi sama
│ ├── Kode bank hampir 100% utuh
│ └── + 1 baris injected di Application class
│ └── Load hooking engine dari bundled assets
│
└── Korban membuka "bank app" seperti biasa
→ Tidak ada perbedaan visual
→ Semua security check sudah di-bypass
Hooking Engine: YAHFA + Dobby
ThreatFabric melakukan reverse-engineering pada satu patched build dan menemukan bahwa operator hanya menambahkan satu baris di Application class. Baris ini memuat hooking engine self-contained dari bundled asset files setiap kali aplikasi diluncurkan.
Engine ini menggunakan dua framework open-source:
- YAHFA (Yet Another Hook Framework for ART) — untuk hooking Java methods
- Dobby — untuk hooking native functions
Kombinasi ini memberikan kontrol mendalam atas seluruh application stack.
Catatan penting: Hook hanya aktif setelah RAT utama menulis shared trigger file ke perangkat. Jadi patched app yang idle hampir tidak menunjukkan aktivitas mencurigakan.
Hook Behavior
Setelah diaktifkan, engine mengubah hasil security check bank:
| Security Check | Perilaku Normal | Perilaku Setelah Hook |
|---|---|---|
| Signature Check | Mengembalikan certificate bank asli | Hook mengembalikan certificate bank asli, menyembunyikan test-key signature |
| Accessibility Check | Menampilkan daftar Accessibility services aktif | Hook mengembalikan list kosong — service malicious tidak terlihat |
| Screen Protection | FLAG_SECURE memblokir screenshot | Hook menghapus flag — attacker bisa view dan record layar |
| Key Attestation | Verifikasi device integrity | Hook re-sign attestation certificates dengan bundled keybox |
| Play Integrity | Request ke Google servers | Hook relay request via plain HTTP ke server attacker |
Play Integrity relay yang ditemukan menggunakan endpoint:
1
hxxp://43[.]225[.]157[.]157:8766/request_token
ThreatFabric mengonfirmasi bahwa setidaknya dua certificate dalam bundled keybox yang bocor sudah ada di Google’s attestation revocation list.
Kapabilitas RAT
Selain banking app replacement, Hirudo adalah full-featured RAT:
- Credential Theft — Mengumpulkan banking passwords dan payment PINs melalui fake payment/authentication screens
- Device Unlock Capture — Full-screen fake pattern overlay untuk menangkap pola unlock perangkat
- SMS Theft — Mengumpulkan SMS dari bank dan wallet yang ditargetkan
- Live Remote Control — Screen sharing dan remote control via WebRTC
- Camera Access — Akses kamera perangkat secara remote
- Fake Checkout — Transparent WebView menampilkan halaman checkout palsu saat dropper memicu pembayaran
Distribusi & Infrastruktur
Hirudo didistribusikan seperti aplikasi legitimate — menggunakan infrastruktur iklan nyata:
- APK malicious di-serve dari Amazon CloudFront dengan route terpisah untuk setiap lure family
- Campaign tracking menggunakan OpenInstall untuk atribusi dan Meta Pixel IDs
- Halaman distribusi menampilkan tombol install ala Play Store
- Beberapa download route masih aktif hingga Oktober 2026
Operator juga memiliki APK-processing panel (dapat diakses tanpa autentikasi) yang membangun “shell” dan payload APK menjadi lure dan patched banking app. Storage bucket dan credential sempat terekspos.
Backend: Operasi Fraud Skala Besar
Data backend yang ditangkap pada Agustus 2026 mengungkap operasi yang cukup matang:
- Ribuan credential entries dari campaign shopping dan short-drama
- Device records lengkap
- Lock-screen history
- Financial profiles dengan field monthly-income dan risk-score
- Record yang diannotasi sebagai “phished” — menunjukkan workflow yang dirancang untuk monetisasi data curian
Targeting
Indonesia (Target Utama)
8 patched banking apps mencakup 7 bank Indonesia. Ini adalah satu-satunya negara dimana banking-app replacement sudah di-deploy secara aktif.
Target Lainnya (Dalam Kode)
Registry RAT mencantumkan 42 financial apps sebagai credential targets, mencakup:
| Negara | Status |
|---|---|
| Indonesia | Replacement aktif (8 apps, 7 bank) |
| China | Credential targets dalam kode |
| India | Credential targets dalam kode |
| Mexico | Credential targets dalam kode |
| Morocco | Credential targets dalam kode |
| Thailand | Credential targets dalam kode |
| Malaysia | Branding bank & wallet di fake checkout |
Arsitektur yang modular menunjukkan bahwa replacement engine, lure framework, dan backend tidak terikat pada bank tertentu dan bisa dengan mudah diperluas ke region lain.
Deteksi
Sinyal Deteksi
- App Signature Change — Deteksi event dimana signature banking app berubah ke public test key (sinyal paling kuat)
- Timeline Correlation — Korelasikan: lure installation → fake update prompt → accessibility use → banking app uninstall/install → external communication
- Network Indicators — Traffic ke CloudFront routes, MQTT endpoints, dan Play Integrity relay destinations
- Accessibility Abuse — Monitoring Accessibility service yang tidak dikenal mengontrol uninstall/install flow
Hunting Queries
1
2
3
4
5
6
7
8
9
10
11
# Cek installed packages yang mencurigakan (via ADB)
adb shell pm list packages | grep -E "(agbbh|onev|koishort|zoyatv|zk7qpx|r9nkvx)"
# Cek signature banking app (contoh)
adb shell dumpsys package <banking.package.name> | grep -A5 "Signatures"
# Monitor network connections ke known C2
adb shell netstat -an | grep -E "(134\.122\.153\.136|43\.225\.157\.157)"
# Cek Accessibility services aktif
adb shell settings get secure enabled_accessibility_services
⚠ Penting: Prioritaskan keputusan server-side karena sinyal lokal di perangkat bisa di-spoof oleh hook. Jangan hanya bergantung pada keputusan yang dibuat di dalam aplikasi.
Mitigasi
Untuk Pengguna
- Jangan install APK dari sumber tidak resmi
- Jangan percaya in-app update yang meminta install aplikasi terpisah
- Hentikan proses jika banking app tiba-tiba di-uninstall dan diinstall ulang
- Aktifkan Google Play Protect
- Periksa permissions yang diminta — terutama Accessibility service dan Notification access
Untuk Administrator / SOC
- Restrict APK sideloading melalui MDM
- Verifikasi Play Integrity server-side, binding check ke session dan protected action
- Kombinasikan dengan attestation-key revocation checks
- Implementasikan transaction-risk controls
- Monitor traffic ke IOC network indicators
Untuk Banking App Developer
- Implementasikan server-side integrity verification — jangan hanya bergantung pada local checks
- Gunakan runtime application self-protection (RASP) yang sulit di-hook
- Deteksi hooking framework (YAHFA/Dobby) di runtime
- Bind Play Integrity check ke server-side session
Timeline
| Tanggal | Event |
|---|---|
| Juni 2026 | Halaman distribusi “1v1 vip” diarsip dengan Meta Pixel IDs |
| Agustus 2026 | ThreatFabric menangkap data backend — ribuan credential entries terekspos |
| September - Oktober 2026 | Beberapa CloudFront download routes masih aktif |
| 14 Oktober 2026 | ThreatFabric mempublikasikan laporan lengkap |
Indicator of Compromise (IOC)
Sample Hashes (SHA-256)
1
2
3
4
5
6
f796eb9ecf516e4f1fafcf89200d9f7d8ddd234f705e63f1bc8fc3ef583f0248 com.agbbh.kjdrttt (Shopora - shopping dropper)
0097a0406be20544e98e981075427f40789db40fe4a53b1b4523383a945328b7 com.onev.vip (1V1 X - adult-video dropper)
2e45277acfde3fb704179476b08f428f66a03670bbdbf2e8ec79c0b0333c009b com.koishort.app (KoiShort - casino/drama dropper)
d51f2bd7ffb49c224d8eaec2c8ca1c8ab9fce2fd5fdceea01eb54296c2f47b4d com.zoyatv.app (ZoyaTV - drama dropper)
425cd7072b5e9386ac94e97fe272980b6ef36240df6b5d77b371ab7378004c83 com.zk7qpx.mv9wlt (Hirudo RAT - July build)
b2270c29b3d0a49a716730d6ef108cffec0b1a4b159dd02e93333fb85e492b99 com.r9nkvx.qw2mpl (Hirudo RAT - v7.8.166)
Network Indicators
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# C2 Infrastructure
134.122.153.136:8085 (HTTP API)
134.122.153.136:18085 (HTTP API)
134.122.153.136:1883 (MQTT broker)
134.122.153.136:1884 (MQTT broker)
43.225.157.157:8766 (Play Integrity relay)
134.122.153.68:8080 (APK-processing panel)
134.122.153.92:8080 (APK-processing panel)
18.139.79.161 (APK source host / app-management console)
# Domains
www[.]helloharmonyos[.]com (Lure registration & channel config)
jiekou[.]baojingtextile[.]cn (RAT configuration API)
# CloudFront Distribution
d3s06yhcwfnwcx[.]cloudfront[.]net (1V1 X download)
d21gcldn8gp80l[.]cloudfront[.]net (KoiShort - casino route)
dydjjnnjg7jeb[.]cloudfront[.]net (KoiShort - drama route)
d3q4tlm7pw29zr[.]cloudfront[.]net (Patched banking apps)
Referensi
- ThreatFabric — Hirudo: From Fake Updates to Patched Banking Apps
- BleepingComputer — Hirudo Android malware replaces banking apps to evade security checks
- The Hacker News — Hirudo Android Trojan Uses Patched Banking Apps to Bypass Their Built-In Security Checks
- Security Affairs — Hirudo Android Trojan Replaces Banking Apps to Steal Credentials
- PCRisk — Hirudo Android Trojan Swaps Banking Apps For Self-Blinding Clones
- SecurityWeek — Novel Android RAT ‘Hirudo’ Replaces Banking Apps With Trojanized Copies