《恶意代码分析实战》之基础步骤

静态分析:

1,virus total反病毒引擎搜索
2,MD5计算哈希值
3,用PEid检测是否加壳,并进行脱壳操做
4,stringe.exe查看恶意代码的字符串,从中能够看到是否含有特殊的网址,IP地址,特殊的导入函数,好比读写文件,赋值文件,自启动,记录键盘的函数。。。
5,用Dependency Walker 查看导入函数,能够猜出这个恶意代码大体的功能。若是导入函数表过于简介,说明多是加壳事后的文件
6,用PEview 查看文件头和分节,能够查看到文件的时间戳,可是时间戳能够做假。
7,用Resource Hacker查看资源节。浏览器

动态分析(需在虚拟机中运行)
1,沙箱中运行(可是有的恶意代码会设置sleep函数,进行休眠一天后再执行,有的恶意代码会检测是否在一个虚拟环境中)
2.dll文件不能直接启动,须要查看dll文件是否有可疑的导入函数,如'"Install"运行命令行:
C:\>rundll32.exe xxxx.dll, Install
3. 用Process Monitor监视打开恶意代码后的进程,先设置过滤功能,在其中监视相关的进程名和特殊的操做好比:writefile, SetWindowsHookEx
4.运行进程浏览器 Process Explorer 新进程显示为绿色。双击可疑进程后 用verify 检查是否有微软的签名认证(可是若是使用 process replacement 进程替换技术,此法就会失效)。用该双击后窗口中的strings 能够检查Image(磁盘的镜像) 和Memory(内存) 检查磁盘和内存中的镜像是否有较大的不一样,若是很大不一样极可能用了 进程替代技术。
5 运行恶意代码前 打开Regshot 进行1st shot并保存其快照,运行恶意代码后等待一段时间,再2nd shot 进行第二次快照,并用compare 进行对比,看恶意代码是否对系统进行了改变,有的会在注册表项HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的位置建立一个值,这是常见的持久化机制。
6 运行恶意代码前 使用ApateDNS监听特定的端口,并给出虚假的DNS响应。
7.Wireshark 嗅探数据,嗅探密码函数

相关文章
相关标签/搜索