windows样本分析之基础静态分析-四
字数 2097 2025-08-25 22:59:09
Windows样本分析之基础静态分析(四)
目标
- 样本鉴定黑白(判断是否为恶意软件)
- 样本行为粗略判断
- 相关信息收集
- 建立自己的分析流程步骤
原理
鉴黑白方法
特征码检测
- 检测已知病毒:杀毒软件将分析过的病毒中的特征部分提取成特征码
- 特征类型包括:
- 文件特征
- 字符特征
- 指令特征等
启发检测
- 检测未知病毒:通过检测病毒运行过程中的API调用行为链
相关信息收集要点
- 编译时间:判断样本出现的时间
- 文件类型:命令行程序、GUI程序或其他类型
- 网络行为:是否有网络连接
- 关联文件:是否有相关文件
- 壳情况:是否加壳
感染行为分析(简单分析)
- 特征API:不同种类的病毒样本根据其特性会调用特定的API函数
算法流程
鉴黑白步骤
-
文件特征检测
- 使用VirusTotal检测(通过SHA-1搜索)
- 查看是否有厂商已进行黑白判断
- 使用文件SHA-1/MD5进行Google搜索,查看是否有相关检测报告
-
字符特征检测
- 使用strings/pestdio工具打印字符串
- 根据特征字符串(如IP地址、敏感词句、API符号等)进行Google搜索
-
加壳/混淆判断
- 使用PEID/DIE工具查看文件是否加壳
- 通过strings判断:如果字符串数量稀少、存在LoadLibrary等少量API符号,需留意
-
链接检测
- 运行时链接检测:恶意样本通常采用LoadLibrary进行运行时链接
信息收集方法
- 使用PEStudio查看文件头的时间戳
- 使用PEStudio查看文件头的文件类型
- 使用DIE/PEID查壳情况或检查string表和API特征
样本初步行为判断
- 使用pestdio查看导入表的API调用和字符串信息进行判断
实践案例1:Lab01-03.exe
鉴黑白结果
- VirusTotal检测率:60/69
- 确认为病毒样本
信息收集
| 信息类型 | 内容 |
|---|---|
| 时间戳 | Thu Jan 01 08:00:00 1970 |
| 文件类型 | 32位命令行型可执行文件 |
| 壳特征 | 加壳 |
壳特征分析
- 黑样本+少导入函数=加壳样本
- 检测到FSG壳
- 注意:没有找到自动脱FSG1.0的脱壳工具,后续分析暂时中止
实践案例2:Lab01-04.exe
鉴黑白结果
- VirusTotal检测率:51/64
- 判定为病毒样本
- 从病毒名猜测应为下载者
信息收集
| 信息类型 | 内容 |
|---|---|
| 时间戳 | Sat Aug 31 06:26:59 2019 |
| 文件类型 | 32位GUI型可执行文件 |
| 壳特征 | 未加壳 |
时间戳分析
- 样本在VT首次上传时间为2011年
- 时间戳是伪造的
感染行为分析(简单分析)
-
资源加载
- 使用FindResourceA、LoadResource API函数
- 资源节中包含exe文件,应该是加载恶意模块
-
远程下载样本、隐藏样本
- 将下载后的样本隐藏于临时目录或系统目录
- 可能隐藏当前样本于临时目录或系统目录
-
程序启动
- 使用WinExec API来启动下载的程序或资源中的程序
-
远程线程注入
- 可能想加载恶意DLL
- 暂时未看见陌生的DLL字符,需进一步分析
小结
主机行为
- 加载资源中的模块
- 隐藏以及执行该样本或远程样本
- 远程DLL注入
网络行为
- 从http://www.practicalmalwareanalysis.com/updater.exe下载恶意样本
衍生物1:resource.bin
鉴黑白结果
- VirusTotal检测率:52/73
- 判定为病毒样本
- 根据家族名判断为下载者
信息收集
| 信息类型 | 内容 |
|---|---|
| 时间戳 | Sun Feb 27 08:16:59 2011 |
| 文件类型 | 32位GUI型可执行文件 |
| 壳特征 | 未加壳 |
时间戳分析
- 宿主样本的上传时间和此时间戳相近
- 此时间戳应为文件的真实编译时间
感染行为分析(简单分析)
- 从API判断是远程下载并执行的操作
- 从字符串信息可见具体从http://www.practicalmalwareanalysis.com/updater.exe下载并执行
- 出现\winup.exe、\system32\wupdmgrd.exe文件,但无相关API依据,无法判断
小结
主机行为
- 执行远程下载的样本
网络行为
- 远程下载样本
衍生物2:updater.exe
- 因网址失效,未能下载进行分析
总结
- 在Lab01-04.exe的导入表中没有相关网络操作API
- 可能是运行时链接或动态链接隐藏了相关API调用
- 根据解释,资源中的模块具体进行了网络行为,导致Lab01-04.exe中只有字符串表中有相关符号
- 需要进一步学习相关知识
关键点总结
- 静态分析是恶意软件分析的基础
- 特征码和启发式检测是判断样本性质的重要手段
- 时间戳、文件类型和壳信息是基本信息收集的关键
- API调用分析是判断样本行为的重要依据
- 资源节中的内容可能包含重要信息
- 网络行为分析需要结合多个角度