病毒分析必备工具及基本流程
2011-11-03 22:15
363 查看
快毕业了也应该给自己定个明确的方向,对于病毒分析这方面的知识确实还是感兴趣的,这里收集了一些资料,给大家分享一下。
以下来自乌龟,略有改动
先说说硬件:
条件允许的情况下,2条不同网络运营商提供的线路,2台或以上的电脑,具体配置自己感觉满意就行
虽然用虚拟机也可以,但难免某些恶意代码有虚拟机检测机制,所以能用真机就尽量用了
必备工具:
Windows XP(别嫌弃老,老有老的好处,轻便+省事)
IDA Pro(虽然市面上还有别的反汇编工具,一是因为IDA强大,二是因为反病毒行业必备,如果哪位兄弟非要用别的,面试时被BS千万别说没提醒过。另外Hex-rays的反编译插件确实很强大,但是太贵了没闲钱买,不过有破解版的,另一方面养成自己动手丰衣足食的好习惯后其实也不差那个插件)
OllyDbg(同上,行业必备。但说实话,个人很少用,不是说它不好,而是IDA的注释太重要了,能静态IDA的绝不调试,即便实在要调试,能用IDA自带的调试器搞定的就直接搞定了,实在不行再换OD)
WinDbg(同上,行业必备,调试驱动利器,大多驱动直接用IDA静态也就够了。我一般用它来调试内核)
Wireshark(截数据包必备利器。和前者一样,个人很少用,也不是说它不好,只是分析时我很少会真让恶意代码彻底跑起来,有需要或是静态逆出来,或是直接从调试器里抓出来了)
还有一些小软件,个人比较喜欢,但不是必须的
010 Editor,DeDe,Ghost,Hiew,LordPE,WinHex,c32等
除此之外还需要一些监测小软件,其实有很多免费的或共享的,但出于减少被恶意代码忽悠的考虑,所以个人觉得能写的还是自己写好,就算不能写,也尽量选个不知名的。
主要有:系统变化监测、API监测、Rootkit监测
其他用于测试的备用软件:
各类服务器(HTTP, SMTP, FTP, IRC等等)
各类常见IM(QQ,MSN,YAHOO等等)
Microsoft Office(各个版本的安装文件)
Adobe Acrobat Reader(各个版本的安装文件)
Adobe Flash Player(各个版本的安装文件)
最后提一下恶意代码样本的基本分析流程(不包含特征码提取):
1. 恢复系统镜像(避免在已感染的环境下被其他信息误导)
2. 快速查看是否有可疑字符串
3. 快速查看代码入口地址是否有被感染痕迹
4. 运行,监测并记录系统变化以确定是否是恶意代码
5. 如果需要的话,用IDA静态分析
6. 如果需要的话,写一些辅助脚本或代码协助分析
7. 如果需要的话,用调试器调试
8. 如果需要的话,对相关域名,服务器,邮件地址等做背景调查
9. 文档化相关内容
10. 备份所有相关文件
当然,对于在杀软工作的人来说,通常还会需要提取特征码(一般是在静态分析之前),也可能会需要写修复工具,但那些工作细节不同公司会有不同的要求和流程,这里就不多做讨论了。
以下来自乌龟,略有改动
先说说硬件:
条件允许的情况下,2条不同网络运营商提供的线路,2台或以上的电脑,具体配置自己感觉满意就行
虽然用虚拟机也可以,但难免某些恶意代码有虚拟机检测机制,所以能用真机就尽量用了
必备工具:
Windows XP(别嫌弃老,老有老的好处,轻便+省事)
IDA Pro(虽然市面上还有别的反汇编工具,一是因为IDA强大,二是因为反病毒行业必备,如果哪位兄弟非要用别的,面试时被BS千万别说没提醒过。另外Hex-rays的反编译插件确实很强大,但是太贵了没闲钱买,不过有破解版的,另一方面养成自己动手丰衣足食的好习惯后其实也不差那个插件)
OllyDbg(同上,行业必备。但说实话,个人很少用,不是说它不好,而是IDA的注释太重要了,能静态IDA的绝不调试,即便实在要调试,能用IDA自带的调试器搞定的就直接搞定了,实在不行再换OD)
WinDbg(同上,行业必备,调试驱动利器,大多驱动直接用IDA静态也就够了。我一般用它来调试内核)
Wireshark(截数据包必备利器。和前者一样,个人很少用,也不是说它不好,只是分析时我很少会真让恶意代码彻底跑起来,有需要或是静态逆出来,或是直接从调试器里抓出来了)
还有一些小软件,个人比较喜欢,但不是必须的
010 Editor,DeDe,Ghost,Hiew,LordPE,WinHex,c32等
除此之外还需要一些监测小软件,其实有很多免费的或共享的,但出于减少被恶意代码忽悠的考虑,所以个人觉得能写的还是自己写好,就算不能写,也尽量选个不知名的。
主要有:系统变化监测、API监测、Rootkit监测
其他用于测试的备用软件:
各类服务器(HTTP, SMTP, FTP, IRC等等)
各类常见IM(QQ,MSN,YAHOO等等)
Microsoft Office(各个版本的安装文件)
Adobe Acrobat Reader(各个版本的安装文件)
Adobe Flash Player(各个版本的安装文件)
最后提一下恶意代码样本的基本分析流程(不包含特征码提取):
1. 恢复系统镜像(避免在已感染的环境下被其他信息误导)
2. 快速查看是否有可疑字符串
3. 快速查看代码入口地址是否有被感染痕迹
4. 运行,监测并记录系统变化以确定是否是恶意代码
5. 如果需要的话,用IDA静态分析
6. 如果需要的话,写一些辅助脚本或代码协助分析
7. 如果需要的话,用调试器调试
8. 如果需要的话,对相关域名,服务器,邮件地址等做背景调查
9. 文档化相关内容
10. 备份所有相关文件
当然,对于在杀软工作的人来说,通常还会需要提取特征码(一般是在静态分析之前),也可能会需要写修复工具,但那些工作细节不同公司会有不同的要求和流程,这里就不多做讨论了。
相关文章推荐
- 病毒分析必备工具及基本流程
- Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
- 反病毒工具之病毒诊断程序(更新版增加智能行为分析功能)
- Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
- 【Nutch2.2.1源代码分析之5】索引的基本流程 分类: H3_NUTCH 2014-08-25 14:18 1042人阅读 评论(0) 收藏
- MonoRail学习笔记四:MonoRail基本流程分析
- Kubernetes编排工具-helm源码分析(模板解析流程)
- RetroScope工具:执行流程分析
- MySQL源码分析——代码结构与基本流程
- USB设备Firmware基本流程分析
- 统计分析工具的基本要求
- 建站必备SEO工具和网站分析工具
- 极客技术专题【004期】:Web开发人员的必备工具 - Emmet (Zen Coding)基本使用
- 【Nutch2.2.1源代码分析之5】索引的基本流程
- 理解RxJava(一)基本流程源码分析
- 对数作为基本的分析工具
- 主叫基本呼叫流程分析
- xen io tapdisk2基本流程分析
- RxJava基本流程和lift源码分析
- 知识点小结——版本调试——内存分析工具——设备调试流程——打包ipa文件——单例模式