sai-teja-girimaji/bfsi-banking-trojan-detections
GitHub: sai-teja-girimaji/bfsi-banking-trojan-detections
一个将银行木马威胁情报转化为多平台检测规则的开源项目,覆盖Banana RAT、TrickMo和TCLBANKER三类恶意软件。
Stars: 0 | Forks: 0
# bfsi-银行木马检测
[](https://github.com/sai-teja-girimaji/bfsi-banking-trojan-detections/actions/workflows/validate-sigma.yml)





## 概述
本存储库将三个银行木马威胁情报转化为可部署的检测规则。每个威胁均来自威胁预警源,其指标通过 **Google Threat Intelligence(GTI / VirusTotal)** 进行丰富,最终检测逻辑以三种形式发布:
- **Sigma** — 供应商中立源规则(规范检测逻辑)。
- **Microsoft Sentinel** — ARM 分析规则模板(KQL),包含实体映射、MITRE 元数据、动态告警标题和事件分组。
- **Google SecOps / Chronicle** — 基于 UDM 的 YARA-L 2.0 规则,以及参考列表。
此处所有内容均为 **防御性** 内容:用于识别攻击者活动,供 SOC 检测和威胁狩猎。IOC 已去敏。
## 涵盖的威胁
| # | 威胁 | 行为者/操作者 | 平台 | 主要地理区域 | 严重性 |
|---|--------|------------------|----------|-------------------|----------|
| 1 | **Banana RAT** | SHADOW-WATER-063(经济动机) | Windows | 巴西(银行 + 加密货币) | 高 |
| 2 | **TrickMo(Coper 血统)** | 未归属团伙 | Android | 法国、意大利、奥地利 | 高 |
| 3 | **TCLBANKER** | 未归属(巴西操作者) | Windows (.NET) | 巴西(59 个金融域名) | 高 |
### 1. Banana RAT — *SHADOW-WATER-063*
一个出于经济动机的行为者使用 Banana RAT 银行木马攻击巴西金融机构和加密货币平台。通过钓鱼诱饵和恶意批处理文件投递,随后执行 **PowerShell 无文件加载**,从行为者 C2 拉取分段载荷(`st.txt`、`payload.php`)。能力:银行覆盖层、二维码拦截、键盘记录、剪贴板窃取和远程访问。
### 2. TrickMo(Coper 血统)
一个 Android 银行木马变种,针对银行、金融科技、钱包和身份验证器应用用户。其特点为采用 **基于 TON 的 C2**、运行时加载模块、SSH 隧道和 SOCKS5 代理的重新设计架构,将受感染手机转变为网络跳板。以伪装成热门应用(如 `TikTok18.apk`)的侧载 APK 形式分发。
### 3. TCLBANKER
一个高级 **.NET 银行木马**,使用环境门控执行来逃避沙箱,攻击 59 个巴西金融域名。利用 WPF 覆盖层框架进行实时社会工程,通过伪装成 Logitech 插件的二进制文件(`screen_retriever_plugin.dll`)进行 **DLL 侧载**,并通过劫持 WhatsApp 和 Outlook 会话进行自我传播。
## 存储库结构
```
bfsi-banking-trojan-detections/
├── README.md
├── sigma/ # vendor-neutral source rules
│ ├── banana_rat_powershell_c2.yml
│ ├── trickmo_apk_sideload.yml
│ ├── tclbanker_dll_sideload.yml
│ ├── fin_c2_domains_dns.yml
│ ├── banana_rat_c2_ip.yml
│ └── fin_known_hashes.yml
├── sentinel/ # ARM analytics-rule templates (KQL)
│ ├── 01-banana-rat-powershell-c2.json
│ ├── 02-trickmo-apk-sideload.json
│ ├── 03-tclbanker-dll-sideload.json
│ ├── 04-c2-domains-dns.json
│ ├── 05-banana-rat-c2-ip.json
│ └── 06-known-hashes.json
├── chronicle/ # Google SecOps YARA-L 2.0 rules
│ ├── 01_banana_rat_powershell_c2.yaral
│ ├── 02_trickmo_apk_sideload.yaral
│ ├── 03_tclbanker_dll_sideload.yaral
│ ├── 04_fin_c2_domains_dns.yaral
│ ├── 05_banana_rat_c2_ip.yaral
│ ├── 06_fin_known_hashes.yaral
│ └── reference_lists/
│ └── fin_bt_hashes.txt
├── iocs/
│ └── iocs.csv # defanged indicators + GTI verdicts
└── attack-navigator/ # MITRE ATT&CK Navigator layer JSONs
├── enterprise-coverage.json
└── mobile-coverage.json
```
## 检测规则
| 规则 | 检测内容 | 日志源(Sentinel / Chronicle) | 置信度 |
|------|-----------------|-----------------------------------|------------|
| `banana_rat_powershell_c2` | PowerShell 从 C2 拉取 Banana RAT 载荷 | DeviceProcessEvents / PROCESS_LAUNCH | 高 |
| `trickmo_apk_sideload` | 通过代理下载 TikTok 主题 APK | CommonSecurityLog / NETWORK_HTTP | 中(狩猎) |
| `tclbanker_dll_sideload` | 伪造 `screen_retriever_plugin.dll` 侧载 | DeviceImageLoadEvents / module load | 高 |
| `fin_c2_domains_dns` | 解析 3 个 C2/分段域名 | DnsEvents / NETWORK_DNS | 高 |
| `banana_rat_c2_ip` | 出站到 Banana RAT C2 IP | DeviceNetworkEvents / NETWORK_CONNECTION | 高 |
| `fin_known_hashes` | 8 个已知样本哈希中的任意一个 | union / file+process sha256 | 高 |
每条规则都包含作者、描述、参考资料、严重性和 ATT&CK 元数据。
Sentinel 规则额外包含 **实体映射**(主机、账户、IP、URL、DNS、文件、文件哈希、进程)、`alertDetailsOverride` 用于动态标题、`customDetails`(预警 + 威胁行为者),以及基于所有实体的事件分组。
## MITRE ATT&CK 覆盖范围
图例:✅ 由本存储库规则检测 · ⬚ 威胁已记录但尚覆盖(狩猎缺口)。
### Banana RAT(SHADOW-WATER-063)
| 技术 | 名称 | 战术 | 覆盖 |
|-----------|------|--------|:------:|
| T1059.001 | PowerShell | 执行 | ✅ |
| T1105 | 入口工具传输 | 命令与控制 | ✅ |
| T1071.001 | Web 协议(C2 域名) | 命令与控制 | ✅ |
| T1571 | 非标准端口 / 直接 C2 IP | 命令与控制 | ✅ |
| T1204.002 | 恶意文件(哈希) | 执行 | ✅ |
| T1566 | 钓鱼 | 初始访问 | ⬚ |
| T1053.005 | 计划任务 | 持久化 | ⬚ |
| T1056.001 | 键盘记录 | 收集 | ⬚ |
| T1115 | 剪贴板数据 | 收集 | ⬚ |
| T1055 | 进程注入 | 防御规避 | ⬚ |
### TrickMo(Coper)
| 技术 | 名称 | 战术 | 覆盖 |
|-----------|------|--------|:------:|
| T1566 / T1660(移动) | 钓鱼(APK 投递) | 初始访问 | ✅ |
| T1204.002 | 恶意文件(哈希) | 执行 | ✅ |
| T1572 | 协议隧道(SSH) | 命令与控制 | ⬚ |
| T1090 | 代理(SOCKS5) | 命令与控制 | ⬚ |
| T1417 | 输入捕获 | 收集 | ⬚ |
| T1513 | 屏幕捕获 | 收集 | ⬚ |
### TCLBANKER
| 技术 | 名称 | 战术 | 覆盖 |
|-----------|------||:------:|
| T1574.002 | DLL 侧载 | 防御规避 | ✅ |
| T1036.001 | 无效代码签名 | 防御规避 | ✅ |
| T1071.001 | Web 协议(C2 域名) | 命令与控制 | ✅ |
| T1204.002 | 恶意文件(哈希) | 执行 | ✅ |
| T1497 | 沙箱规避 | 防御规避 | ⬚ |
| T1055 | 进程注入 | 防御规避 | ⬚ |
| T1113 | 屏幕捕获 | 收集 | ⬚ |
### 交互式 ATT&CK Navigator 层
在 [MITRE ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 中可视化覆盖范围
— 选择 **Open Existing Layer → Upload from local** 并选择以下文件。
| 层 | 矩阵 | 内容 |
|-------|--------|----------|
| [`attack-navigator/enterprise-coverage.json`](attack-navigator/enterprise-coverage.json) | 企业 | Banana RAT + TCLBANKER — 检测到 7 个技术,1 个部分/狩猎,16 个已记录缺口 |
| [`attack-navigator/mobile-coverage.json`](attack-navigator/mobile-coverage.json) | 移动 | TrickMo / Coper — 14 个已记录 TTP,全部为检测缺口(需要 MTD/EMM 遥测) |
颜色图例:🟩 由存储库规则检测 · 🟧 狩猎级启发式 · 🟥 已记录 TTP,检测缺口。
## IOC 来源与丰富
**来源管道:** 威胁预警源 → IOC 提取 → **GTI/VirusTotal** 判定检查 → 检测编写。以下指标已去敏。
| 指标 | 类型 | 威胁 | GTI 判定 | 备注 |
|-----------|------|--------|-------------|-------|
| `24.199.90.58` | IPv4 | Banana RAT | 🔴 13/91 恶意 | DigitalOcean;载荷主机(`/payload.php`、`/st.txt`) |
| `162.141.111.227` | IPv4 | Banana RAT | 🔴 13 恶意 + 3 可疑 | LACNIC/巴西;C2 |
| `c.windowsk-cdn[.]com` | 域名 | Banana RAT | 🔴 17 恶意 | 标记为 **DGA**;NRD 2026-04-19 |
| `38dfeb…06e39d8f` | SHA256 | Banana RAT | 🔴 21/61(`trojan.boxter`) | PowerShell 下载器(`st.txt`) |
| `d7545b…6a70cdaa` | SHA256 | Banana RAT | ⚪ 来自预警源 | 未单独重新验证 |
| `01889a…63aa8c21` | SHA256 | TrickMo | 🔴 21 恶意(banker/dropper) | `TikTok18.apk`;伪造华为证书 |
| `143c0e…0119c026` | SHA256 | TrickMo | 🔴 18 恶意(`trojan.coper`) | `data.apk` |
| `arquivos-omie[.]com` | 域名 | TCLBANKER | 🔴 19 恶意 + 3 可疑 | NRD 2026-04-15;使用 Cloudflare 前置 |
| `doccompartilhe[.]com` | 域名 | TCLBANKER | 🔴 19 恶意 + 3 可疑 | 多厂商恶意分类 |
| `701d51…4995b626` | SHA256 | TCLBANKER | 🔴 46/71;Elastic YARA 匹配 | 伪造 "Logitech Inc" 签名 |
| `8a174a…eb537059` | SHA256 | TCLBANKER | ⚪ 来自预警源 | 未单独重新验证 |
| `668f93…52342f40` | SHA256 | TCLBANKER | ⚪ 来自预警源 | 未单独重新验证 |
| `63beb7…2d900394` | SHA256 | TCLBANKER | ⚪ 来自预警源 | 未单独重新验证 |
完整机器可读指标(含首次出现时间、ASN、注册商)位于 [`iocs/iocs.csv`](iocs/iocs.csv)。
## 快速开始
### Microsoft Sentinel
```
for f in sentinel/*.json; do
az deployment group create -g \
--template-file "$f" --parameters workspaceName=
done
```
模板假设使用 Defender XDR(MDE)表 + DNS 和 CEF 连接器。如果您的遥测数据不同,请替换为 `SecurityEvent`/Sysmon 等效项。
### Google SecOps / Chronicle
1. 从 `chronicle/reference_lists/fin_bt_hashes.txt` 创建一个 **STRING** 类型参考列表 `fin_bt_hashes`。
2. 导入每个 `chronicle/*.yaral` 规则并设置为 Live(并根据需要添加告警)。
### Sigma(转换为任意后端)
```
sigma convert -t -p sigma/*.yml
```
## 验证状态
| 项目 | 状态 |
|------|--------|
| Sentinel ARM 模板 | JSON 验证通过 |
| KQL 反斜杠/转义 | 已确认往返无误 |
| Chronicle YARA-L 语法 | 按照 YARA-L 2.0 编写;请在您的租户中验证 |
| IOC 判定 | 2026-05-25 经 GTI 检查(见表格了解重新验证范围) |
## 免责声明
仅供 **防御性安全和检测工程** 使用。规则为起点:请根据自身数据验证并在生产环境中启用前调整阈值。对特定环境的完整性或适用性不作任何担保。
## 许可证
MIT — 参见 [`LICENSE`](LICENSE)。
*情报来自威胁预警源;指标通过 Google Threat Intelligence 丰富。检测内容作为检测工程输出撰写。*
标签:AI合规, Android, ATT&CK框架, Banana RAT, BFSI, DSL, Google SecOps, IOC, KQL, Microsoft Sentinel, SHADOW-WATER-063, Sigma规则, TCLBANKER, TrickMo, YARA-L, 多人体追踪, 奥地利, 威胁情报, 安全运营, 巴西, 开发者工具, 开源检测, 恶意软件, 意大利, 扫描框架, 检测即代码, 检测规则, 法国, 目标导入, 网络资产发现, 金融威胁, 金融欺诈, 银行业木马, 银行金融服务