Ourren

关注技术,记录生活.

Practical Malware Analysis Part1总结

| 留言

0x1 题外话
        从去年看到这本书目录的时候就就期待这本书,前段时间一直比较忙没机会阅读这本书,现在可以每天抽点时间来阅读这本好书了,以此做下笔记监督自己,总结出一套适合自己的恶意代码分析方案。
        总体来说,这本书从最基础的恶意代码分析开始到高难度的技巧分析,概括了恶意代码的各个方面。虽然原来自己也有一些分析恶意代码,但是看了这本书之后才发现作者思维的缜密和广度,不得不佩服。
0x2 Part0 简介
       本书第0部分主要针对恶意代码的目的、分析方法和恶意代码类型进行阐述,可以对这个技术进行一个整体的认识。
       恶意代码的分析方法主要有:
1)初级静态分析
2)初级动态分析
3)高级静态分析
4)高级动态分析
       恶意代码分析中需要注意的几个细节:
1)不要过于纠结细节。
2)不同的样本可能会需要不同的工具进行分析,灵活更换工具。
3)试着从编写者角度考虑,分析过程本来就是一个猫捉老鼠的游戏。
(接下来的章节就是从分析方法种类进行章节讲解。)
0x3 Part1 初级分析
    初级分析主要分为初级静态分析和初级动态分析。先总结下静态分析需要从哪些方面进行关注:杀毒软件查杀、文件MD5、编程语言、加壳与否、输入/出表关键函数、字符串、资源这些方面进行分析,一般步骤如下:
1)可以上传到virustotal网站进行在线扫描,看是否是较老的样本了。
2)查看文件MD5、hash值,谷歌看看。
3)PEID查看文件是否编程语言、加壳与否、输入表和输出表关键函数(涉及到文件、注册表、网络等方面API函数)。
4)用string.exe查看文件中的字符串。
5)如果有资源文件,可以用Resource Hacker查看是否有额外的PE文件等。
       通过以上的分析大概确定文件的大致功能,具体的操作需要结合动态分析了。下面讨论下初级动态分析的方法:
       初级动态分析需要从文件操作、网络活动、注册表操作进行监控分析。可以采用sandbox进行分析,但是推荐采用虚拟机快照方式进行分析,主要工具如下:
分析步骤:
1)运行Process Explorer、procmon、Wireshark程序。
2)利用Regshot抓取第一次注册表快照,利用ApateDNS把所有域名链接全部转为本地,并用NC监听80和443端口。
3)运行样本程序。
4)通过ApateDNS查看网络情况、Regshot抓取第二次快照并对比分析。
5)结合Process Explorer、procmon和静态分析结果进行详细分析。
这个只是个大体过程,在实际分析中肯定还有一些其他的技巧,可以结合作者在每个part后面的lab进行练习。