Practical malware analysis Part1 总结
                                                       --youstar 2012.03.23

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 进行练习。

Practical malware analysis part1 总结

  • 1.
    Practical malware analysisPart1 总结 --youstar 2012.03.23 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 文件等。
  • 2.
    通过以上的分析大概确定文件的大致功能,具体的操作需要结合动态分析了。下面讨论 下初级动态分析的方法: 初级动态分析需要从文件操作、网络活动、注册表操作进行监控分析。可以采用sandbox 进行分析,但是推荐采用虚拟机快照方式进行分析,主要工具如下: 分析步骤: 1) 运行 Process Explorer、procmon、Wireshark 程序。 2) 利用 Regshot 抓取第一次注册表快照,利用 ApateDNS 把所有域名链接全部转为本 地,并用 NC 监听 80 和 443 端口。 3) 运行样本程序。 4) 通过 ApateDNS 查看网络情况、Regshot 抓取第二次快照并对比分析。 5) 结合 Process Explorer、procmon 和静态分析结果进行详细分析。 这个只是个大体过程,在实际分析中肯定还有一些其他的技巧,可以结合作者在每个 part 后面的 lab 进行练习。