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

Posted sairen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《恶意代码分析实战》之基础步骤相关的知识,希望对你有一定的参考价值。

静态分析:

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 进行对比,看恶意代码是否对系统进行了改变,有的会在注册表项HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun的位置创建一个值,这是常见的持久化机制。
6 运行恶意代码前 使用ApateDNS监听特定的端口,并给出虚假的DNS响应。
7.Wireshark 嗅探数据,嗅探密码

















以上是关于《恶意代码分析实战》之基础步骤的主要内容,如果未能解决你的问题,请参考以下文章

《恶意代码分析实战》-第三章 动态分析基础技术

恶意代码分析实战3-2

恶意代码分析实战3-2

恶意代码分析实战——Lab03-01.exe基础动态分析篇

恶意代码分析实战3-1

恶意代码分析实战3-1