Seizmann/govv-banking-trojan-analysis
GitHub: Seizmann/govv-banking-trojan-analysis
对 GOVV 三阶段 Android 银行木马的完整静态逆向分析,包含加密方案还原、C2 协议文档、YARA 规则和 IOC 指标。
Stars: 0 | Forks: 0
# GOVV Android 银行木马 — 完整静态分析
## 🚨 TL;DR
一种复杂的 **3 阶段 Android 银行木马**,通过孟加拉国的 **Facebook 广告**进行分发,主要针对 **bKash** 移动金融账户。该恶意软件结合了基于 VPN 的流量拦截、Accessibility Service 滥用、短信 OTP 窃取以及完整的远程访问木马 (RAT) 功能集。单次感染就导致受害者 bKash 账户中的约 **BDT 20,000** 被未经授权转移。
| 属性 | 值 |
|----------|-------|
| **恶意软件家族** | GOVV / ShellA |
| **类型** | Dropper → 银行木马 → RAT |
| **传播途径** | Facebook 广告 ("World Cup Live Free TV") |
| **主要目标** | bKash (孟加拉国 MFS) |
| **次要目标** | Nagad, Rocket, 手机银行应用 |
| **外部包名** | `com.mmv.jnkh.rql7.tc8szt0d` |
| **Payload 包名** | `com.d9fe4v4.pmpgv.eai.uszaw` |
| **阶段** | 3 (Stub → 注入 DEX → 银行 APK) |
| **置信度** | 95% |
| **分析类型** | 仅静态分析(未执行) |
| **分析日期** | 2026-06-24 |
## 📁 仓库结构
```
govv-banking-trojan-analysis/
├── README.md ← This file (overview + quick summary)
├── ANALYSIS.md ← Full technical writeup
├── IOCs.md ← All indicators of compromise
├── TIMELINE.md ← Incident & infection timeline
├── MITIGATIONS.md ← Protection tips for users & defenders
├── static-analysis/
│ ├── manifest.txt ← AndroidManifest.xml (decoded)
│ ├── permissions.txt ← All declared permissions
│ ├── findings.md ← Static analysis findings summary
│ └── decompiled-classes/ ← Key class structure excerpts
├── dynamic-analysis/
│ ├── c2-communication.md ← C2 protocol documentation
│ └── mitmproxy-log.txt ← (placeholder — not captured)
├── malware-samples/
│ ├── SHA256-hashes.txt ← Hashes only, NO binaries
│ ├── yara-rules.yar ← YARA detection rules
│ └── virustotal-links.txt ← VirusTotal report links
└── LICENSE ← CC0 1.0
```
## 🔗 快速链接
- [完整技术分析 →](ANALYSIS.md)
- [入侵指标 →](IOCs.md)
- [攻击时间线 →](TIMELINE.md)
- [如何保护自己 →](MITIGATIONS.md)
- [YARA 检测规则 →](malware-samples/yara-rules.yar)
## 💀 攻击链(概述)
```
[Facebook Ad]
"World Cup Live Free TV" APK
│
▼
[Stage 1: Stub APK] com.mmv.jnkh.rql7.tc8szt0d
App Name: "GOVV" (invisible Unicode chars)
• attachBaseContext() → decrypts NhxxcPuLOx (XOR+GZIP)
• Injects payload.dex via ClassLoader hijacking
• Extracts b.apk bundle from lAsFuQPphUK asset
│
▼
[Stage 2: Injected DEX] com.shell.a
• Shows fake "Google Play Installing..." WebView
• Silently installs b.apk
• Starts PpVpn → routes ALL traffic (0.0.0.0/0)
│
▼
[Stage 3: Banking Trojan] com.d9fe4v4.pmpgv.eai.uszaw
• Requests Accessibility Service (fake tutorial)
• Intercepts SMS OTP
• Overlays banking apps with fake UI
• Full RAT: keylogger, screen capture, crypto miner
│
▼
[Impact]
bKash PIN + OTP captured → BDT 20,000 stolen
```
## 🛡️ 发现的主要功能
| 功能 | 已确认 |
|-----------|-----------|
| VPN 流量拦截 (100%) | ✅ |
| 银行应用覆盖攻击 | ✅ |
| 短信 OTP 窃取 | ✅ |
| 键盘记录 | ✅ |
| 实时屏幕流传输 | ✅ |
| 摄像头录像 | ✅ |
| 麦克风录音 | ✅ |
| GPS 位置跟踪 | ✅ |
| 加密货币矿工 | ✅ |
| DoS 引擎 | ✅ |
| 远程 shell / Telnet | ✅ |
| 恢复出厂设置功能 | ✅ |
| 手机克隆 | ✅ |
| 通讯录和短信外发 | ✅ |
| 摄像头麦克风指示灯隐藏 | ✅ |
| 开机持久化 | ✅ |
| 自我更新机制 | ✅ |
## 🔒 加密方案(逆向)
该恶意软件使用了 **3 层加密** 栈:
```
# Layer 1: Java Random XOR + GZIP
SEED = 3017671131121758624 # 0x29DF7E6ADE0B0FA0
def decrypt_asset(asset_bytes):
skip_header(24) # fixed 24-byte header
enc_len = read_int_BE() # big-endian length
xor_decrypted = java_random_xor(enc_data, SEED)
return gzip.decompress(xor_decrypted)
# Layer 2: Repeating-key XOR (用于 DEX 字符串)
def decrypt_string(ciphertext, key):
return bytes(c ^ key[i % len(key)] for i, c in enumerate(ciphertext))
# Layer 3: 来自 C2 的 Runtime key (用于 .bt overlay files)
# 无法静态解密 — key 通过 rckey 从 C2 服务器发送
```
## 📊 样本哈希
| 文件 | SHA256 |
|------|--------|
| 外部 Stub APK | `cee63a18cf8f25fad52a8184fbc3a617618cba3760d55528aa02975cc140d61d` |
| 第 3 阶段银行 APK (b.apk) | `449524566579de83d8a810bb06de985ed5a17ac533909968d5629d30bcb9bbe3` |
| 解密后的 Payload DEX | `5f229ccf7c30d914aba8970a65cca750c35519e8912a750825e8422e5b6c9152` |
## 📢 报告
此事件已报告至:
- [ ] bKash 安全团队
- [ ] 孟加拉国银行网络安全部门
- [ ] CERT-BD (BGD e-GOV CIRT)
- [ ] VirusTotal(已提交哈希)
- [ ] Facebook(已举报广告)
## 📖 参考
- [VirusTotal 报告](https://www.virustotal.com) *(通过哈希搜索)*
- [MITRE ATT&CK Mobile — T1417: 输入捕获](https://attack.mitre.org/techniques/T1417/)
- [MITRE ATT&CK Mobile — T1430: 位置跟踪](https://attack.mitre.org/techniques/T1430/)
- [MITRE ATT&CK Mobile — T1406: 混淆文件](https://attack.mitre.org/techniques/T1406/)
- [Android VPN 服务滥用](https://developer.android.com/reference/android/net/VpnService)
*分析在 Linux 上使用 androguard、Python 和自定义解密脚本完成。在此过程中未执行任何恶意软件。*
标签:Android安全, DAST, 云安全监控, 域名枚举, 威胁情报, 开发者工具, 恶意软件分析, 逆向工具, 静态分析