1.病毒分析的基本工具方法
整体的思维:利用一些工具来监控程序调用了哪些API或行为
~1.对于监控API
~~1.apilog18pub http://www.softpedia.com/get/Programming/Other-Programming-Files/API-Logger.shtml
~~2.Api Monitor x86 x64都有 (强力推荐!!!)
~2.使用行为监控工具
~~1.SysTracer(已有x64版 但不推荐)
~~2.ProcMon
~~3.网络的可以使用Smsniff x86 x64 或 SockMon
知道大体的行为,就可以下断 + 静态慢慢分析了
1 先整体,后局部,从文件对比入手(文件大小,ultral Edit 简单对比,IDA bindiff 流程观察)。
2 观察PE文件各个“段结构”,“大小”,“属性”(PEinfo 等对比工具)。
3 明确待分析文件是由什么编程工具编写,查明EOP异同点。
4 当简单分析后,无法发现明显代码流程劫持的情况下,可以特别关一
下这几个API的调用的变化,exit, _exit, ExitProcess。
5 碰到混淆的的循环功能代码时,要多从大的文件感染特性上判断,找
思路。
6 分析时,主要观察内存变化(段的属性,是否被重新填充),寄存器的变化,eax ,ecx,esi,edi 。
EPO:
http://dudeaap.bokee.com/5535366.html
1. EPO存在的意义
EPO 是为了对付杀毒软件的启发式查毒而诞生的。原先病毒只是简单地修改PE的入口,他很容易被杀
毒软件的启发式扫描识别,然后被杀。但杀毒软件不可能对PE文件的所有部分进行启发式扫描,大部分只
是对PE入口处的代码进行启发式检查。EPO正是利用了这一点,通过把入口置于PE中某个不不显眼的位置
,来减少被查杀的可能性。
除了对抗反病毒产品的检测外,由于其执行时的随机性,对反静态分析和反动态跟踪都有影响。
2. 如果病毒的代码不从入口处开始, 那它一定是入口模糊技术(EntryPoint Obscuring 简写EPO)吗?
这要看对EPO进行怎样的精确定义。
通过引入表感染的病毒就比较边缘化,把它归到EPO中或常规的感染中都不太合适,但都有理由。但
是,实际上,它确实也不修改被感染入口以及入口处代码。
3. 病毒的入口在什么地方?
整体的思维:利用一些工具来监控程序调用了哪些API或行为
~1.对于监控API
~~1.apilog18pub http://www.softpedia.com/get/Programming/Other-Programming-Files/API-Logger.shtml
~~2.Api Monitor x86 x64都有 (强力推荐!!!)
~2.使用行为监控工具
~~1.SysTracer(已有x64版 但不推荐)
~~2.ProcMon
~~3.网络的可以使用Smsniff x86 x64 或 SockMon
知道大体的行为,就可以下断 + 静态慢慢分析了
1 先整体,后局部,从文件对比入手(文件大小,ultral Edit 简单对比,IDA bindiff 流程观察)。
2 观察PE文件各个“段结构”,“大小”,“属性”(PEinfo 等对比工具)。
3 明确待分析文件是由什么编程工具编写,查明EOP异同点。
4 当简单分析后,无法发现明显代码流程劫持的情况下,可以特别关一
下这几个API的调用的变化,exit, _exit, ExitProcess。
5 碰到混淆的的循环功能代码时,要多从大的文件感染特性上判断,找
思路。
6 分析时,主要观察内存变化(段的属性,是否被重新填充),寄存器的变化,eax ,ecx,esi,edi 。
EPO:
http://dudeaap.bokee.com/5535366.html
1. EPO存在的意义
EPO 是为了对付杀毒软件的启发式查毒而诞生的。原先病毒只是简单地修改PE的入口,他很容易被杀
毒软件的启发式扫描识别,然后被杀。但杀毒软件不可能对PE文件的所有部分进行启发式扫描,大部分只
是对PE入口处的代码进行启发式检查。EPO正是利用了这一点,通过把入口置于PE中某个不不显眼的位置
,来减少被查杀的可能性。
除了对抗反病毒产品的检测外,由于其执行时的随机性,对反静态分析和反动态跟踪都有影响。
2. 如果病毒的代码不从入口处开始, 那它一定是入口模糊技术(EntryPoint Obscuring 简写EPO)吗?
这要看对EPO进行怎样的精确定义。
通过引入表感染的病毒就比较边缘化,把它归到EPO中或常规的感染中都不太合适,但都有理由。但
是,实际上,它确实也不修改被感染入口以及入口处代码。
3. 病毒的入口在什么地方?