病毒分析基本流程
预分析
这个阶段主要在于收集样本信息。
静态分析
分析样本是由什么语言编译的,分析出对应的调用约定,有无现成的符号表,签名文件等,为后续分析减少困难。
如果有壳,要知道是什么壳,一般病毒的壳都是强壳,我还不会分析。
分析导入表,如果壳隐藏了,只有后续看。大致看出有没有干文件操作,有没有干网络操作,有没有干驻留操作(注册表和服务)。判断出病毒类型。之后在对应的逻辑中仔细分析。
动态分析
在线沙箱中检测/虚拟机中检测。沙箱可以直接分析,如果是自己的虚拟机,则需要打开一个可以检测进程的(ARK)工具,获取样本的所有操作,尤其是:是否有文件创建和写入?网络连接的ip是多少?网络中读取的内容是什么?注册了哪些服务和注册表?Hook了哪些模块,用了哪些API等等。
分析
打开程序,根据预分析的内容定位关键位置然后具体分析。
跟CTF的逆向题差不多。
评论