Ursnif银行木马详细分析报告
字数 1537 2025-08-20 18:18:04

Ursnif银行木马分析与防御指南

一、样本概述

Ursnif(又称Gozi)是一款著名的银行木马,最早出现于2007年,主要针对金融行业。2010年其源代码泄露后,衍生出多种变种,功能不断增强。本分析基于2018年发现的最新变种样本。

样本基本信息

  • MD5: D236F9AAD941974C2B44BF7DEBD2A19B
  • C2地址: http://195.123.237.123
  • 解压密码: infected

二、技术分析

1. 初始加载过程

  1. 加壳与脱壳

    • 样本使用UPX加壳
    • 脱壳后显示真实恶意代码
  2. 环境准备

    • 获取精确文件时间信息
    • 加载kernel32.dll和ntdll.dll
    • 通过GetModuleFileNameA获取文件路径
  3. 内存操作

    ; 典型内存操作代码
    call GetCurrentProcess
    push 0x40
    push 0x1000
    push 0xF4240
    push 0
    call VirtualAllocEx
    

2. 进程注入技术

样本采用Process Hollowing技术注入恶意代码:

  1. 通过CreateProcessA创建挂起状态的进程
  2. 使用GetThreadContext获取进程上下文
  3. 分配内存并写入恶意数据
  4. 通过SetThreadContext修改入口点
  5. 使用ResumeThread恢复执行

3. 多阶段Payload加载

  1. Payload1

    • 负责解密.bss段数据
    • 判断操作系统架构(32/64位)
    • 解密并加载Payload2
  2. Payload2(核心功能模块):

    • 包含银行木马主要恶意功能
    • 采用多层解密技术隐藏真实代码

4. 核心恶意功能

  1. 信息收集

    ; 获取系统信息示例
    call GetUserNameA
    call GetComputerNameA
    
  2. 键盘记录

    • 设置Windows钩子(SetWindowsHookEx)
    • 记录所有键盘输入
    • 完成后卸载钩子(UnhookWindowsHookEx)
  3. 剪贴板监控

    • 获取剪贴板数据
    • 特别关注金融相关的复制操作
  4. 屏幕截图

    • 捕获用户屏幕
    • 可能针对特定窗口或全屏
  5. C2通信

    • 解密出C2地址:195.123.237.123
    • 建立命名管道收集数据
    • 将窃取信息发送到远程服务器

三、防御措施

1. 检测指标(IOC)

  • 文件哈希

    • MD5: D236F9AAD941974C2B44BF7DEBD2A19B
  • 网络指标

    • C2地址: 195.123.237.123
    • 相关域名需监控

2. 技术防护

  1. 进程监控

    • 监控可疑的Process Hollowing行为
    • 特别关注挂起状态创建的进程
  2. API钩取检测

    • 检查SetWindowsHookEx等敏感API调用
    • 监控键盘记录相关活动
  3. 内存保护

    // 示例内存保护代码
    VirtualProtect(lpAddress, dwSize, PAGE_READONLY, &oldProtect);
    
  4. 网络流量分析

    • 检测异常HTTP请求
    • 特别关注金融数据的出站传输

3. 企业防护策略

  1. 终端防护

    • 部署行为检测的EDR解决方案
    • 启用内存保护功能
  2. 邮件安全

    • 加强钓鱼邮件检测
    • 金融部门需特别培训
  3. 网络分段

    • 金融系统与其他网络隔离
    • 限制出站连接
  4. 多因素认证

    • 关键系统强制MFA
    • 避免依赖单一认证因素

四、分析与取证指南

  1. 内存取证

    • 使用Volatility分析进程注入
    • 搜索可疑的内存分配模式
  2. 网络取证

    • 分析HTTP流量中的异常请求
    • 提取C2通信特征
  3. 磁盘取证

    • 查找UPX加壳的可执行文件
    • 检查近期创建的可疑文件
  4. 注册表取证

    • 检查Run键中的持久化条目
    • 查找可疑的钩子注册

五、总结与预测

Ursnif作为长期活跃的银行木马家族,结合了多种高级技术:

  1. 技术特点

    • 多阶段加载规避检测
    • 内存驻留避免文件落地
    • 针对金融交易的关键节点
  2. 发展趋势

    • 可能与其他恶意软件(如Emotet)协同
    • 针对新型金融平台扩展功能
    • 采用更多无文件技术
  3. 防御建议

    • 定期更新威胁情报
    • 实施纵深防御策略
    • 金融行业需特别加强防护

本分析报告提供了Ursnif银行木马的详细技术细节和防御方案,安全团队可根据这些信息构建针对性的防护措施。

Ursnif银行木马分析与防御指南 一、样本概述 Ursnif(又称Gozi)是一款著名的银行木马,最早出现于2007年,主要针对金融行业。2010年其源代码泄露后,衍生出多种变种,功能不断增强。本分析基于2018年发现的最新变种样本。 样本基本信息 : MD5: D236F9AAD941974C2B44BF7DEBD2A19B C2地址: http://195.123.237.123 解压密码: infected 二、技术分析 1. 初始加载过程 加壳与脱壳 : 样本使用UPX加壳 脱壳后显示真实恶意代码 环境准备 : 获取精确文件时间信息 加载kernel32.dll和ntdll.dll 通过GetModuleFileNameA获取文件路径 内存操作 : 2. 进程注入技术 样本采用 Process Hollowing 技术注入恶意代码: 通过CreateProcessA创建挂起状态的进程 使用GetThreadContext获取进程上下文 分配内存并写入恶意数据 通过SetThreadContext修改入口点 使用ResumeThread恢复执行 3. 多阶段Payload加载 Payload1 : 负责解密.bss段数据 判断操作系统架构(32/64位) 解密并加载Payload2 Payload2 (核心功能模块): 包含银行木马主要恶意功能 采用多层解密技术隐藏真实代码 4. 核心恶意功能 信息收集 : 键盘记录 : 设置Windows钩子(SetWindowsHookEx) 记录所有键盘输入 完成后卸载钩子(UnhookWindowsHookEx) 剪贴板监控 : 获取剪贴板数据 特别关注金融相关的复制操作 屏幕截图 : 捕获用户屏幕 可能针对特定窗口或全屏 C2通信 : 解密出C2地址:195.123.237.123 建立命名管道收集数据 将窃取信息发送到远程服务器 三、防御措施 1. 检测指标(IOC) 文件哈希 : MD5: D236F9AAD941974C2B44BF7DEBD2A19B 网络指标 : C2地址: 195.123.237.123 相关域名需监控 2. 技术防护 进程监控 : 监控可疑的Process Hollowing行为 特别关注挂起状态创建的进程 API钩取检测 : 检查SetWindowsHookEx等敏感API调用 监控键盘记录相关活动 内存保护 : 网络流量分析 : 检测异常HTTP请求 特别关注金融数据的出站传输 3. 企业防护策略 终端防护 : 部署行为检测的EDR解决方案 启用内存保护功能 邮件安全 : 加强钓鱼邮件检测 金融部门需特别培训 网络分段 : 金融系统与其他网络隔离 限制出站连接 多因素认证 : 关键系统强制MFA 避免依赖单一认证因素 四、分析与取证指南 内存取证 : 使用Volatility分析进程注入 搜索可疑的内存分配模式 网络取证 : 分析HTTP流量中的异常请求 提取C2通信特征 磁盘取证 : 查找UPX加壳的可执行文件 检查近期创建的可疑文件 注册表取证 : 检查Run键中的持久化条目 查找可疑的钩子注册 五、总结与预测 Ursnif作为长期活跃的银行木马家族,结合了多种高级技术: 技术特点 : 多阶段加载规避检测 内存驻留避免文件落地 针对金融交易的关键节点 发展趋势 : 可能与其他恶意软件(如Emotet)协同 针对新型金融平台扩展功能 采用更多无文件技术 防御建议 : 定期更新威胁情报 实施纵深防御策略 金融行业需特别加强防护 本分析报告提供了Ursnif银行木马的详细技术细节和防御方案,安全团队可根据这些信息构建针对性的防护措施。