动态行为分析
教程参考自《恶意代码分析实战》
程序来自:http://www.nostarch.com/malware.htm
若样本经过了高级加密,使用静态特征分析将得不到太多有价值的信息,这时候就需要我们使用动态行为分析技术了,这种技术也叫行为监控。
Lab 3-1
本节实验使用样本Lab03-01.exe。
导入函数和字符串
查看导入表,只有一个ExitProcess,该样本应该是被加密过,通过导入表得不到什么信息。
样本被加密过的,但在字符串表中我们却发现了很多可视化的字符串,接下来我们就使用动态行为分析技术来看看这些字符串背后的恶意行为。
Process Explorer
运行样本后,使用ProcExp查看进程信息,点击View->Lower Pane View->Handles,可以在下方的窗口中发现该进程创建了一个名为WinVMX32的互斥量。
点击View->Lower Pane View->DLLs,可以查看该进程导入了哪些DLL,如下图中的红色框,我们发现了该进程导入了几个与socket有关的DLL,那么就可以猜测该进程发起了网络连接。
Process Monitor
运行程序前先配置ProcMon的规则,我配置了以下3个过滤规则(用于筛选出我们关心的恶意行为):
- 进程名为Lab03-01.exe
- 写注册表的操作
- 创建文件的操作