【译】一种完美的“监守自盗”型银行恶意软件分析
字数 1732 2025-08-25 22:58:56
巴西银行恶意软件分析与防御教学文档
1. 恶意软件概述
1.1 背景
巴西银行恶意软件近年来从简单工具发展为精细攻击工具,通过葡萄牙语垃圾邮件传播,主要针对巴西银行用户但可能扩散至全球。
1.2 攻击目标
- HSBC、Santander、Citibank等巴西银行用户
- 窃取在线银行账户凭证
- 隐蔽转移账户资金
2. 传播机制分析
2.1 初始感染载体
- 传播渠道:葡萄牙语垃圾邮件
- 恶意附件:JAR文件(Java恶意代码)
2.2 文件伪装技术
| 服务器文件名 | 本地重命名 | 类型 | 功能 |
|---|---|---|---|
| vm.png | [random].exe | EXE | 加载恶意DLL |
| vmwarebase.dll | vmwarebase.dll | DLL | 注入核心模块 |
| prs.png | [random].db | DLL | 核心功能模块 |
| gbs.png | [random].drv | DLL | 高级功能模块 |
| i.dk | i.dk | TXT | C&C配置 |
3. 技术实现细节
3.1 加载器模块(vmwarebase.dll)
- DLL劫持:利用VMware签署的合法文件vprintproxy.exe
- 注入流程:
- 解析C:\Users\public\Administrator\car.dat获取随机文件名
- 搜索匹配的.db文件(原prs.png)
- 使用CreateRemoteThread注入到explorer.exe和notepad.exe
- 清理操作:终止所有conhost.exe进程
3.2 核心功能模块(prs.png)
主要功能:
- 键盘记录
- 屏幕截图
- 屏幕锁定(替换为指定画面)
- 鼠标控制
- 持久化(注册表自启动)
- 系统工具禁用(taskmgr, regedit等)
- 文件删除
实现特点:
- 使用Delphi对象存储代码和数据
- 通过Timer对象实现多线程
- 表单中包含GUI部件存储关键信息
3.3 高级功能模块(gbs.png)
使用Themida加壳,实现:
- 进程保护:防止被任务管理器终止
- Hook清理:调用UnhookWindowsHookEx卸载已有hook
- 浏览器监控:
- 使用FindWindowW/GetWindow遍历窗口
- 针对不同浏览器(Chrome/Firefox/IE)采用不同URL获取方法
- 覆盖攻击:
- 匹配目标银行URL(硬编码列表)
- 根据注册表日期决定攻击流程
- 全屏透明窗口显示伪造的安全警告
4. C&C通信机制
4.1 配置存储
- 加密文件:i.dk
- 加密方式:AES-256
- 内容:C&C服务器地址和配置参数
4.2 钓鱼技术
- 内置多个银行相关位图
- 根据访问的银行网站显示对应警告
- 典型消息:"无法与[银行]安全模块同步,请稍后再试"
5. 检测与防御方案
5.1 检测指标
-
文件特征:
- C:\Users\public\Administrator\car.dat
- 随机命名的.db/.drv文件
- i.dk配置文件
-
进程行为:
- vprintproxy.exe加载异常DLL
- explorer/notepad进程异常模块
- 频繁的窗口遍历操作
-
网络特征:
- 与已知C&C地址通信
- 异常AES加密流量
5.2 防御措施
-
技术防护:
- 禁用不必要的Java执行
- 监控DLL加载行为
- 检测进程注入行为
- 拦截已知C&C地址
-
用户教育:
- 警惕葡萄牙语邮件附件
- 不信任"安全模块同步失败"类警告
- 使用硬件安全令牌而非软件2FA
-
应急响应:
- 检查并删除相关注册表项
- 扫描并删除恶意文件
- 重置所有银行凭证
6. 关联分析
该恶意软件与以下已知威胁相关:
- Talos小组2017年5月分析的银行木马
- Trusteer 1月份报告的类似版本
- 采用巴西恶意软件常见技术但更复杂
7. 总结
该银行恶意软件展示了高度复杂的技术实现,包括:
- 多阶段模块化设计
- 合法文件伪装
- 高级注入技术
- 针对性钓鱼攻击
- 强大的反检测机制
防御需要多层防护策略,结合技术控制和用户意识提升。