记一次某病毒样本分析
字数 1379 2025-08-23 18:31:09
某病毒样本分析教学文档
1. 样本背景
- 攻击现象:终端软件在用户未操作情况下自主批量发送压缩附件
- 主题伪装:以"财务"为主题诱导用户点击
- 文件伪装:使用某游戏图标进行伪装(免费版exe)
2. 静态分析
2.1 主要函数分析
-
sub_140003F70函数:
- 功能:检测是否安装钉钉、微信等软件
- 注意事项:虚拟机调试时需要安装这些软件才能进入if分支
-
sub_140003570函数:
- 功能:拼接恶意网站的PNG字符串,为后续下载做准备
-
sub_140003210函数:
- 功能:下载某xxxx.png并写入到2024.png
- 文件路径:C:\Users\Public\Downloads\2024.png
-
sub_140003B90函数:
- 功能:执行PNG的内容
2.2 白+黑技术
- 发现位置:C:\Users\Administrator\AppData\Local\OneDrive\cache\
- 文件组成:
- exe文件:沙箱检测无毒(白程序)
- dll文件:报毒
- bb.jpg:疑似shellcode文件
- Run目录下的快捷方式:指向外部exe程序,添加图标增加迷惑性
3. 动态分析
3.1 调试要点
-
调试准备:
- 需要安装钉钉或微信客户端
- 需要联网满足下载需求
-
关键断点:
- VirtualAlloc断点:分析内存分配
- CreateRemoteThread断点:分析远程线程创建
-
下载行为:
- 拼接v7[]数组获取PNG下载地址
- 创建2024.png文件
- 下载bb.jpg(用于检测受害主机传播能力)
3.2 进程注入分析
-
explorer.exe异常:
- 进程持续外链恶意IP
- 通过ProcessHacker可确认注入成功
-
注入流程:
- 遍历进程匹配explorer.exe
- 获取PID值
- 申请内存空间(VirtualAllocEx)
- 写入内存(WriteProcessMemory)
- 创建远程线程(CreateRemoteThread)
4. DLL分析
4.1 静态分析技巧
-
文件处理:
- 原始DLL大小470M,因填充大量空字符导致
- 使用HEX工具去除空字符,保留有效内容(缩减至几KB)
-
关键函数:
- DllMain:入口函数
- sub_180002268:
- 获取bb.jpg位置信息
- 读取文件内容
- sub_180001F5C:
- 寻找explorer.exe进程PID信息
4.2 动态验证
- 目录位置与实际病毒位置一致
- 进程遍历与PID获取验证
- 内存操作验证
5. 威胁情报
- 外链IP:通过微步可查询相关IP及域名信息
- 传播方式:通过社交软件(钉钉、微信)传播
6. 防护建议
-
处置措施:
- 删除恶意文件
- 检查并终止异常进程
- 检查启动项
-
预防措施:
- 加强安全意识培训
- 不轻易打开不明附件
- 定期检查系统异常行为
- 使用安全软件进行防护
-
检测要点:
- 监控Downloads目录异常文件
- 监控explorer.exe异常网络连接
- 检查OneDrive缓存目录异常文件
7. 分析技巧总结
-
调试技巧:
- 环境准备要充分(安装必要软件)
- 关键API断点设置
- 结合静态和动态分析
-
文件分析:
- 注意文件大小异常
- 使用HEX工具处理填充数据
- 关注文件实际内容而非表面特征
-
行为分析:
- 关注下载行为
- 关注进程注入行为
- 关注持久化机制