恶意代码分析技术
字数 1920 2025-08-23 18:31:18

恶意代码分析技术教学文档

一、恶意代码概述

恶意代码(Malicious Code)也称为恶意软件(Malware),指任何以某种方式对用户、计算机或网络造成破坏的软件,包括:

  • 计算机病毒
  • 木马程序
  • 蠕虫病毒
  • 内核套件(Rootkit)
  • 勒索软件(Ransomware)
  • 间谍软件(Spyware)

二、恶意代码分析方法

1. 静态分析

在不运行恶意代码的情况下对其进行分析的技术。

静态分析基础技术

  • 检查可执行文件但不查看具体指令
  • 可以确认文件是否为恶意软件
  • 提供功能信息
  • 可能生成简单的网络特征码

优点:简单快速
缺点:对复杂恶意代码效果有限,可能遗漏重要行为

静态分析工具

(1) StudyPE+x64
  • 分析PE文件信息
  • 显示文件类型(EXE)、大小、MD5值
  • 检测编写语言(如C++)
  • 可检测加壳情况(如UPX壳)
  • 查看导入表(调用的函数)
(2) Strings.exe
  • 微软官方命令行工具
  • 提取程序中的所有字符串信息
  • 通过敏感字符串定位分析程序
  • CTF中可能用于提取flag
(3) 脱壳工具
  • UPX脱壳:freeupx工具
    • 操作:Action → Decompress checked files
  • 通用脱壳:linxerUnpacker
    • 自动识别多数常见壳并进行脱壳
(4) 资源查看器 Restorator
  • 分析加壳和捆绑的恶意程序
  • 可发现隐藏的exe文件
  • 识别特征字符串(如"MZ"、"This program cannot be run in DOS")
  • 导出功能可提取隐含文件

2. 动态分析

通过运行恶意代码并观察系统行为进行分析。

动态分析基础技术

  • 需要建立安全环境
  • 观察系统行为以移除感染或生成检测特征码
  • 所有程序运行时在内存中都是"裸奔"状态

动态分析工具

(1) Process Explorer
  • 需以管理员身份运行
  • 查看程序的子进程
  • 分析调用的DLL、启动参数和位置
  • 通过程序签名判断(注意可能有伪造签名)
  • 可自定义显示的数据项
(2) Process Monitor
  • 实时监听系统活动
  • 使用Filter功能筛选关键操作
    • 如网络连接监听
  • 避免逐行查看提高效率
(3) IDA Pro
  • 交互式反汇编工具
  • 静态反编译软件
  • 按F5显示伪代码进行分析
  • 对比原始代码和伪代码
(4) 在线沙盒 - 微步云沙箱
  • 模拟文件执行环境
  • 收集静态和动态行为数据
  • 结合威胁情报云快速发现未知威胁
  • 功能:
    • 多维检测
    • 优化综合判定逻辑
    • 权限体系升级(支持隔离样本)
    • URL网址分析(钓鱼模型识别)

三、恶意代码分析实例

1. 样本分析:lab01-01.exe

静态分析发现:

  • 导入函数:
    • FindFirstFile
    • FindNextFile
    • CopyFile
  • 功能推测:搜索文件系统和复制文件

关联DLL分析:lab01-01.dll

  • 导入函数:
    • CreateMutex(创建互斥量)
    • OpenMutex(打开互斥量)
    • WS2_32.dll(网络通信库)
  • 行为推测:
    • 避免重复感染(互斥量)
    • 存在网络连接行为

Strings分析:

  • lab01-01.exe:
    • "kerne132.dll"(伪装系统文件)
    • 结合CopyFile函数,推测将Lab01-01.dll拷贝到系统目录伪装成kernel32.dll
  • lab01-01.dll:
    • IP地址"127.26.152.13"
    • 结合网络库,推测为C&C服务器地址

2. 勒索病毒分析

勒索病毒特点:

  • 锁定系统或文件进行敲诈
  • 使用强加密算法加密文件
  • 传播途径:
    • 钓鱼邮件
    • 程序木马
    • 网页挂马
  • 后果:
    • 几乎所有格式文件被加密
    • 生成勒索提示文件
    • 数据恢复代价大且可能性低

Locky勒索软件分析:

  1. 传播方式:钓鱼邮件(伪装成付款记录或发票)
  2. 载体:包含恶意宏的Word文档
  3. 行为:
    • 下载并运行勒索软件
    • 加密特定扩展名文件
    • 修改桌面壁纸、弹窗显示勒索信息
    • 要求使用Tor浏览器访问特定网站支付赎金

分析步骤:

  1. 开启Wireshark捕获网络流量
  2. 打开钓鱼邮件并运行附件
  3. 观察:
    • 从远端服务器下载勒索软件的过程
    • 2-3分钟后弹出勒索信息
    • 要求下载Tor浏览器进入暗网支付

注意:勒索病毒几乎无法解密,因其使用可靠加密算法,相当于黑客锁住电脑但不给钥匙。

四、安全注意事项

  1. 必须在虚拟环境中进行分析
  2. 确保物理机不受影响
  3. 了解各种病毒原理有助于分析
  4. 样本分析时注意无危害样本也可能有风险

五、总结

恶意代码分析需要:

  • 综合运用静态和动态分析技术
  • 熟练使用各类分析工具
  • 建立安全的分析环境
  • 持续学习病毒原理和新技术

通过多角度分析,才能全面了解恶意代码的特征和行为,有效防御和清除威胁。

恶意代码分析技术教学文档 一、恶意代码概述 恶意代码(Malicious Code)也称为恶意软件(Malware),指任何以某种方式对用户、计算机或网络造成破坏的软件,包括: 计算机病毒 木马程序 蠕虫病毒 内核套件(Rootkit) 勒索软件(Ransomware) 间谍软件(Spyware) 二、恶意代码分析方法 1. 静态分析 在不运行恶意代码的情况下对其进行分析的技术。 静态分析基础技术 检查可执行文件但不查看具体指令 可以确认文件是否为恶意软件 提供功能信息 可能生成简单的网络特征码 优点 :简单快速 缺点 :对复杂恶意代码效果有限,可能遗漏重要行为 静态分析工具 (1) StudyPE+x64 分析PE文件信息 显示文件类型(EXE)、大小、MD5值 检测编写语言(如C++) 可检测加壳情况(如UPX壳) 查看导入表(调用的函数) (2) Strings.exe 微软官方命令行工具 提取程序中的所有字符串信息 通过敏感字符串定位分析程序 CTF中可能用于提取flag (3) 脱壳工具 UPX脱壳:freeupx工具 操作:Action → Decompress checked files 通用脱壳:linxerUnpacker 自动识别多数常见壳并进行脱壳 (4) 资源查看器 Restorator 分析加壳和捆绑的恶意程序 可发现隐藏的exe文件 识别特征字符串(如"MZ"、"This program cannot be run in DOS") 导出功能可提取隐含文件 2. 动态分析 通过运行恶意代码并观察系统行为进行分析。 动态分析基础技术 需要建立安全环境 观察系统行为以移除感染或生成检测特征码 所有程序运行时在内存中都是"裸奔"状态 动态分析工具 (1) Process Explorer 需以管理员身份运行 查看程序的子进程 分析调用的DLL、启动参数和位置 通过程序签名判断(注意可能有伪造签名) 可自定义显示的数据项 (2) Process Monitor 实时监听系统活动 使用Filter功能筛选关键操作 如网络连接监听 避免逐行查看提高效率 (3) IDA Pro 交互式反汇编工具 静态反编译软件 按F5显示伪代码进行分析 对比原始代码和伪代码 (4) 在线沙盒 - 微步云沙箱 模拟文件执行环境 收集静态和动态行为数据 结合威胁情报云快速发现未知威胁 功能: 多维检测 优化综合判定逻辑 权限体系升级(支持隔离样本) URL网址分析(钓鱼模型识别) 三、恶意代码分析实例 1. 样本分析:lab01-01.exe 静态分析发现: 导入函数: FindFirstFile FindNextFile CopyFile 功能推测:搜索文件系统和复制文件 关联DLL分析:lab01-01.dll 导入函数: CreateMutex(创建互斥量) OpenMutex(打开互斥量) WS2_ 32.dll(网络通信库) 行为推测: 避免重复感染(互斥量) 存在网络连接行为 Strings分析: lab01-01.exe: "kerne132.dll"(伪装系统文件) 结合CopyFile函数,推测将Lab01-01.dll拷贝到系统目录伪装成kernel32.dll lab01-01.dll: IP地址"127.26.152.13" 结合网络库,推测为C&C服务器地址 2. 勒索病毒分析 勒索病毒特点: 锁定系统或文件进行敲诈 使用强加密算法加密文件 传播途径: 钓鱼邮件 程序木马 网页挂马 后果: 几乎所有格式文件被加密 生成勒索提示文件 数据恢复代价大且可能性低 Locky勒索软件分析: 传播方式:钓鱼邮件(伪装成付款记录或发票) 载体:包含恶意宏的Word文档 行为: 下载并运行勒索软件 加密特定扩展名文件 修改桌面壁纸、弹窗显示勒索信息 要求使用Tor浏览器访问特定网站支付赎金 分析步骤: 开启Wireshark捕获网络流量 打开钓鱼邮件并运行附件 观察: 从远端服务器下载勒索软件的过程 2-3分钟后弹出勒索信息 要求下载Tor浏览器进入暗网支付 注意 :勒索病毒几乎无法解密,因其使用可靠加密算法,相当于黑客锁住电脑但不给钥匙。 四、安全注意事项 必须在虚拟环境中进行分析 确保物理机不受影响 了解各种病毒原理有助于分析 样本分析时注意无危害样本也可能有风险 五、总结 恶意代码分析需要: 综合运用静态和动态分析技术 熟练使用各类分析工具 建立安全的分析环境 持续学习病毒原理和新技术 通过多角度分析,才能全面了解恶意代码的特征和行为,有效防御和清除威胁。