带正常数字签名的后门样本分析
字数 2202 2025-08-29 22:41:02

带正常数字签名的后门样本分析教学文档

1. 样本概述

该样本是一个使用正常数字签名的高级后门程序,具有以下特点:

  • 使用合法的数字签名绕过基础安全检测
  • 采用模块化设计,关键功能通过外部文件动态加载
  • 使用多层加密技术隐藏恶意行为
  • 具备持久化、权限提升和C2通信能力

2. 样本基本信息

2.1 文件信息

  • 编译时间:2025年4月28日
  • 编程语言:C/C++
  • PDB路径
    • D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor.pdb
    • D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor_Run.pdb
    • D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor_Run_Config.pdb

2.2 哈希值

  • SHA256:
    • 0b6318af44ad2e434d7cfce95e8eeba2357c226355478a6cfdfbe464d9e5e467
    • ddb7299bbdf779c986537f25475d539ad560ba0f098dcb73d2a4a05bda4e7592
    • 510bcbab8b6234e60cec511a7f4664ada573a8bb303adb798c209c9e541a4b83

3. 技术分析

3.1 执行流程

  1. 权限检查

    • 检查是否以管理员权限运行
    • 如果不是,可能尝试提权操作
  2. 文件操作

    • 生成恶意文件压缩包并解压
    • 启动Run.exe恶意程序
  3. 模块加载

    • 读取Modules/dxpi.txt文件
    • 读取collalautriv.xml获取VirtualAlloc函数名并获取其地址
  4. 内存操作

    • 使用VirtualAlloc分配内存空间
    • 将加密数据读入内存并解密
  5. 持久化

    • 创建目录:C:\Program Files (x86)\WindowsPowerShell\Update
    • 在该目录下生成恶意文件
  6. 配置读取

    • 读取TaskServer.ini配置文件
    • 读取msgDb.dat加密数据并解密
  7. C2通信

    • 获取远程服务器C2地址
    • 与远程服务器建立通信
    • 发送网络心跳包维持连接

3.2 关键技术点

3.2.1 动态函数加载

  • collalautriv.xml读取API函数名
  • 动态获取函数地址,避免直接导入表暴露恶意行为

3.2.2 多层加密

  • 使用至少两层加密:
    1. 文件级加密(dxpi.txt, msgDb.dat)
    2. 内存中的ShellCode加密

3.2.3 模块化设计

  • 恶意功能分散在多个文件中:
    • 主程序
    • Run.exe
    • dxpi.txt
    • collalautriv.xml
    • TaskServer.ini
    • msgDb.dat

3.2.4 持久化技术

  • 在系统目录创建隐藏文件夹
  • 可能通过以下方式实现持久化:
    • 注册表启动项
    • 计划任务
    • 服务安装

3.2.5 C2通信

  • 使用加密通信通道
  • 心跳机制保持连接
  • 可能支持的功能:
    • 命令执行
    • 文件传输
    • 屏幕捕获
    • 键盘记录

4. 检测与防御

4.1 检测指标

4.1.1 文件系统指标

  • 以下目录的异常文件创建:
    • C:\Program Files (x86)\WindowsPowerShell\Update
  • 以下文件的出现:
    • Run.exe
    • dxpi.txt
    • collalautriv.xml
    • TaskServer.ini
    • msgDb.dat

4.1.2 网络指标

  • 与以下PDB路径相关的网络通信:
    • HoldingHands-develop项目相关的连接

4.1.3 行为指标

  • 进程执行链异常:
    • 主程序 → Run.exe
  • 异常的VirtualAlloc调用模式
  • 读取自身目录下的配置文件

4.2 防御措施

  1. 数字签名验证

    • 不仅验证签名有效性,还需验证证书颁发者的可信度
    • 检查证书是否被吊销
  2. 行为监控

    • 监控可疑的文件创建模式
    • 监控异常的进程执行链
  3. 内存保护

    • 检测异常的VirtualAlloc使用
    • 监控内存中的ShellCode解密行为
  4. 网络防护

    • 检测和阻止与未知C2服务器的通信
    • 分析网络心跳包的异常模式
  5. 配置加固

    • 限制PowerShell目录的写入权限
    • 启用受控文件夹访问

5. 分析工具建议

  1. 静态分析

    • PE分析工具:PEStudio, Detect It Easy
    • 签名验证:Sigcheck
  2. 动态分析

    • 沙箱:AnyRun, CAPE
    • 行为监控:Process Monitor, Process Hacker
  3. 内存分析

    • Volatility
    • Rekall
  4. 网络分析

    • Wireshark
    • Fiddler
  5. 逆向工程

    • IDA Pro
    • Ghidra
    • x64dbg

6. 总结

该后门样本展示了现代恶意软件的典型特征:

  1. 滥用合法数字签名绕过基础防御
  2. 采用模块化设计提高隐蔽性
  3. 使用多层加密技术对抗分析
  4. 具备完整的攻击链能力

防御此类威胁需要多层安全防护:

  • 基于签名的检测
  • 行为分析
  • 内存保护
  • 网络监控
  • 终端防护的深度集成
带正常数字签名的后门样本分析教学文档 1. 样本概述 该样本是一个使用正常数字签名的高级后门程序,具有以下特点: 使用合法的数字签名绕过基础安全检测 采用模块化设计,关键功能通过外部文件动态加载 使用多层加密技术隐藏恶意行为 具备持久化、权限提升和C2通信能力 2. 样本基本信息 2.1 文件信息 编译时间 :2025年4月28日 编程语言 :C/C++ PDB路径 : D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor.pdb D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor_Run.pdb D:\Workspace\HoldingHands-develop\HoldingHands-develop\Door\x64\Release\BackDoor_Run_Config.pdb 2.2 哈希值 SHA256: 0b6318af44ad2e434d7cfce95e8eeba2357c226355478a6cfdfbe464d9e5e467 ddb7299bbdf779c986537f25475d539ad560ba0f098dcb73d2a4a05bda4e7592 510bcbab8b6234e60cec511a7f4664ada573a8bb303adb798c209c9e541a4b83 3. 技术分析 3.1 执行流程 权限检查 : 检查是否以管理员权限运行 如果不是,可能尝试提权操作 文件操作 : 生成恶意文件压缩包并解压 启动 Run.exe 恶意程序 模块加载 : 读取 Modules/dxpi.txt 文件 读取 collalautriv.xml 获取 VirtualAlloc 函数名并获取其地址 内存操作 : 使用 VirtualAlloc 分配内存空间 将加密数据读入内存并解密 持久化 : 创建目录: C:\Program Files (x86)\WindowsPowerShell\Update 在该目录下生成恶意文件 配置读取 : 读取 TaskServer.ini 配置文件 读取 msgDb.dat 加密数据并解密 C2通信 : 获取远程服务器C2地址 与远程服务器建立通信 发送网络心跳包维持连接 3.2 关键技术点 3.2.1 动态函数加载 从 collalautriv.xml 读取API函数名 动态获取函数地址,避免直接导入表暴露恶意行为 3.2.2 多层加密 使用至少两层加密: 文件级加密(dxpi.txt, msgDb.dat) 内存中的ShellCode加密 3.2.3 模块化设计 恶意功能分散在多个文件中: 主程序 Run.exe dxpi.txt collalautriv.xml TaskServer.ini msgDb.dat 3.2.4 持久化技术 在系统目录创建隐藏文件夹 可能通过以下方式实现持久化: 注册表启动项 计划任务 服务安装 3.2.5 C2通信 使用加密通信通道 心跳机制保持连接 可能支持的功能: 命令执行 文件传输 屏幕捕获 键盘记录 4. 检测与防御 4.1 检测指标 4.1.1 文件系统指标 以下目录的异常文件创建: C:\Program Files (x86)\WindowsPowerShell\Update 以下文件的出现: Run.exe dxpi.txt collalautriv.xml TaskServer.ini msgDb.dat 4.1.2 网络指标 与以下PDB路径相关的网络通信: HoldingHands-develop 项目相关的连接 4.1.3 行为指标 进程执行链异常: 主程序 → Run.exe 异常的 VirtualAlloc 调用模式 读取自身目录下的配置文件 4.2 防御措施 数字签名验证 : 不仅验证签名有效性,还需验证证书颁发者的可信度 检查证书是否被吊销 行为监控 : 监控可疑的文件创建模式 监控异常的进程执行链 内存保护 : 检测异常的 VirtualAlloc 使用 监控内存中的ShellCode解密行为 网络防护 : 检测和阻止与未知C2服务器的通信 分析网络心跳包的异常模式 配置加固 : 限制PowerShell目录的写入权限 启用受控文件夹访问 5. 分析工具建议 静态分析 : PE分析工具:PEStudio, Detect It Easy 签名验证:Sigcheck 动态分析 : 沙箱:AnyRun, CAPE 行为监控:Process Monitor, Process Hacker 内存分析 : Volatility Rekall 网络分析 : Wireshark Fiddler 逆向工程 : IDA Pro Ghidra x64dbg 6. 总结 该后门样本展示了现代恶意软件的典型特征: 滥用合法数字签名绕过基础防御 采用模块化设计提高隐蔽性 使用多层加密技术对抗分析 具备完整的攻击链能力 防御此类威胁需要多层安全防护: 基于签名的检测 行为分析 内存保护 网络监控 终端防护的深度集成