20145325张梓靖 《网络对抗技术》 免杀原理与实践

20145325张梓靖 《网络对抗技术》 免杀原理与实践

  

实验内容

  • 使用msf编码器,veil-evasion,以及利用shellcode编程等免杀工具,来验证各种免杀方式的免杀强度
  • 通过组合各种技术实现恶意代码免杀,并运行在另一部机子上进行测试

基础问题回答

  1. 杀软是如何检测出恶意代码的?
    通过特征码:对已存在的流行代码特征的提取与比对
    通过行为:是否有更改注册表行为、是否有设置自启动、是否有修改权限等等

  2. 免杀是做什么?
    植入恶意代码,防止被杀毒软件检测出来,并能成功控制被植入机

  3. 免杀的基本方法有哪些?
    对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码,减少对系统的修改,多在内存里进行操作,多使用反弹式的连接

实验总结与体会

    在本次实验中,主要是对恶意代码进行免杀操作。可以看出,对于现在的杀毒软件来说,着重的是恶意代码的特征值与行为,一旦我们给出的恶意代码避免了被查杀的特征值、减少了对系统的一些行为,那么杀毒软件将无法判断此代码是病毒;更别说一些恶意代码捆绑到了有用的应用软件上,更甚是自己创造的一个新病毒。所以,对于杀毒软件的应用上,我们不能盲目的绝对相信,也还是需要自己去多积累些防毒杀毒的知识与方法,尽量做到有毒可知,有毒可删。

离实战还缺的技术或步骤

    虽说在实验中我们做出的很多恶意代码都能避免被杀毒软件的查杀,但是杀毒软件也在不断更新、扩充病毒库,所以如果想真正的进行实战的话,最好的方法就是自己去研究各个软件的源代码,寻找到漏洞,并且能够写出攻击该漏洞的恶意代码,同时还需要了解计算机是如何运作的、杀毒软件是如何查杀的方面的,来进一步的避免自己生成的恶意代码在半道上被“截获”。

实践过程记录

直接使用Msfvenom来生成恶意代码,并使用shikata_ga_nai对其再进行编码

  • 靶机:win7    杀毒软件:电脑管家    杀毒范围:所有盘

有一个风险,但它和我们刚生成的恶意代码无关

  • 靶机:win7    杀毒软件:电脑管家   杀毒范围:存储刚生成的恶意代码的F盘

存在10个风险,且我们生成的恶意代码被查出

为什么杀毒范围大了,很多病毒就查不出来了?说明这款杀毒软件可能有它的局限性,大范围的查找可能精确度、效率不高,所以以后还是多多一个盘一个盘的单独杀毒吧

  • 靶机:win7    杀毒软件:2345安全卫士   杀毒范围:存储刚生成的恶意代码的F盘

查出恶意代码

同样继续使用Msfvenom,但使用shikata_ga_nai对其再进行10次的编码

  • 靶机:win7    杀毒软件:电脑管家

当把生成的可执行文件一传到win7,电脑管家就自动对其进行检测并删除掉了

使用Veil-Evasion生成免杀的可执行代码

  • 这里选择的是用ruby进行编译的meterpreter的rev_tcp

同样的,一传送到win7上,就被电脑管家检测出并删除了

使用Msfvenom直接生成shellcode代码,并在靶机上,利用此shellcode进行编程,生成可执行代码

  • 靶机:win7    杀毒软件:电脑管家    杀毒范围:存储刚生成的可执行文件的E盘

未检测出恶意代码

  • 靶机:win7    杀毒软件:2345安全卫士   杀毒范围:存储刚生成的可执行文件的E盘

未检测出恶意代码

  • 尝试运行该可执行文件,查看是否能在msfconsole中进行连接,并控制靶机

成功控制靶机

  • 在Virscan检测该可执行软件的免杀强度

有12%的杀毒软件检测到该可执行文件为病毒,说明使用编程方式的病毒免杀强度还是挺高的

使用Msfvenom生成被shikata_ga_nai编译过的shellcode代码,并在靶机上,利用此shellcode进行编程,生成可执行代码

  • 靶机:win7    杀毒软件:电脑管家、2345安全卫士   杀毒范围:存储刚生成的可执行文件的E盘

未检测出恶意代码

  • 在Virscan检测该可执行软件的免杀强度

这次只有5%的杀毒软件检测出来了,说明对shellcode进行初次的再编译对于免杀来说还是很有必要的

使用Msfvenom生成被shikata_ga_nai编译过10次的shellcode代码,并在靶机上,利用此shellcode进行编程,生成可执行代码

  • 靶机:win7    杀毒软件:电脑管家、2345安全卫士   杀毒范围:存储刚生成的可执行文件的E盘

未检测出恶意代码

  • 在Virscan检测该可执行软件的免杀强度

同只用shikata_ga_nai编译一次的免杀效果是一样,那就可能可以说,无论我们用同一个编译器对shellcodea编译了多少次,只要杀毒软件认定该编译器生成的文件就是有问题,那么最终都会被查杀出来

posted @ 2017-03-21 20:10  20145325张梓靖  阅读(394)  评论(1编辑  收藏  举报