一、基础问题回答
(1)杀软是如何检测出恶意代码的?
1.静态分析方法就是在不运行恶意代码的情况下,利用分析工具对恶意代码的静态特征和功能模块进行分析的方法。静态分析工具包括 ollyDump(GigaPede2009)、 W32DASM(URSoftware2009)、IDAPro(DataReseue2009)和HIEw(Suslikov2009)等。利用静态分 析方法,可以分析出恶意代码的大致结构,可以确定恶意代码的特征字符串、特征代码段等,还可以得到恶意代码的功能模块和各个功能模块的流程图。静态分析方 法是目前最主要的代码分析方法,被广泛应用于恶意代码分析和软件安全测评工作中。恶意代码和其它正常代码(benignsoftware)一样,本质上来 说也是由计算机指令和非指令的数据构成的,根据分析过程是否考虑构成恶意代码的计算机指令的语义,可以把静态分析方法分成基于代码特征的分析方法和基于代 码语义的分析方法两种类型。
1)基于代码特征的分析方法
2)基于代码语义的分析方法
静态分析方法的优点在于:
(1)静态分析方法不需要真实执行可执行文件,因此可以分析不能运行的中间形式的二进制代码(Intermediate Binary Code);
(2)由于无需实际执行代码,因此静态分析时恶意代码不会危害系统安全;
(3)静态分析方法可以在可执行文件执行之前对整个代码的流程有个全局掌握;
(4)不受具体进程执行流程的制约,可以对代码进行详尽的细粒度的分析。
2 动态分析方法
动态分析方法通过在可控环境中运行恶意代码,全程监控代码的所有操作,观察其状态和执行流程的变化,获得执行过程中的各种数据。使用最广泛的可控环境就是 “虚拟机” (Virtualizers),此环境和用户的计算机隔离,代码在被监控环境中的操作不会对用户计算机有任何的影响。根据分析过程中是否需要考虑恶意代码 的语义特征,将动态分析方法分为外部观察法和跟踪调试法两种。
1)外部观察法
外部观察法是利用系统监视工具观察恶意代码运行过程中系统环境的变化,通过分析这些变化判断恶意代码功能的分析方法。
2)跟踪调试法
跟踪调试法是通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能的技术。
(2)免杀是做什么?
使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀。
(3)免杀的基本方法有哪些?
方法一:直接修改特征码的十六进制法
1.修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.
2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能
否正常使用.
方法二:修改字符串大小写法
1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.
方法三:等价替换法
1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.
如果和我一样对汇编不懂的可以去查查8080汇编手册.
方法四:指令顺序调换法
1.修改方法:把具有特征码的代码顺序互换一下.
2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行
方法五:通用跳转法
1.修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.
文件免杀方法:
1.加冷门壳
2.加花指令
3.改程序入口点
4.改木马文件特征码的5种常用方法
5.还有其它的几种免杀修改技巧
实践总结与体会
了解了免杀的基本原理,知道了相关免杀方法,即使安装了杀毒软件以及防火墙,还是不能完全的保证电脑是安全的,所以在日常电脑使用当中要更加得小心。
离实战还缺些什么技术或步骤?
免杀工具,而且就算生成免杀程序,不知道怎么悄悄植入靶机中。
实践过程记录
使用veil-evasion免杀平台
使用Veil生成python文件
传到virscan扫描发现有1/39款杀软识别出它是恶意代码,有可能是一个新病毒
用360查杀是安全的