20145215《网络对抗》Exp3 免杀原理与实践

20145215《网络对抗》Exp3 免杀原理与实践

基础问题回答

  1. 杀软是如何检测出恶意代码的?
    • 基于特征来检测:恶意代码中通常会有一段有较明显特征的代码也就是特征码,若是杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序看成恶意软件。
    • 基于行为来检测:经过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,并且比较特殊。因此当一个程序在运行时,杀毒软件会监视其行为,若是发现了这种特殊的行为,则会把它当成恶意软件。
  2. 免杀是作什么?
    • 个人理解就是经过一些技术手段,使安插在宿主主机中的后门软件不被杀毒软件所发现。
  3. 免杀的基本方法有哪些?
    • 加壳:就是至关于把你的后门代码封装起来,可是如今大部分公开的壳都能被杀毒软件查出来,因此加这些壳还不如不加;
    • 加花指令:就是加一段垃圾代码,可是并不影响程序的正常执行,加了花指令后,使一些杀毒软件没法正确识别木马程序,从而达到免杀的效果;
    • 再编译:若是有源代码可使用其余语言从新编写再编译,或者利用已有的shellcode构造payload从新编译生成;
    • 修改行为:尽可能少作能被杀毒软件直接检测到的敏感行为,可使用反弹式链接,或者减小对系统注册表之类的修改。

实践内容

目录

使用msf生成后门程序的检测

  1. 直接将上周作实验时用msf生成的后门文件放在virscan.org中进行扫描,扫描结果以下:

    git

  2. 从图中能够看出,报毒率仍是挺高的,39款杀软中就有21款扫描出病毒,基本上也就是说如今主流的杀软都能杀出来。因此,咱们能够猜测若是在使用msf时对它多编码几回,是否是后门代码就不那么容易被扫出来呢?咱们能够测试一下,假设编码10次(具体指令实验指导上都有,在此就不一一赘述):
    github

  3. 将生成的文件放到网站上扫描一下:
    shell

  4. 能够发现不管编码多少次都是同样,因此想要利用编码次数来达到免杀效果显然是不行的。数组

使用veil-evasion生成后门程序的检测

  1. 我一开始用的是本身装的kali系统,因此要先安装veil-evasion,结果发现下载速度都要慢哭了,并且装了一段时间后还报出了错误:
    安全

  2. 后面又想到了一个办法,在github上找到了这个软件源,想用git clone把它克隆下来而后安装,结果速度依然慢哭,没办法,仍是乖乖用了老师的kali,启动evail-evasion,设置好回连的IP地址和端口号后,生成后门文件:
    网络

  3. 放到网站上扫描一下:
    性能

  4. 比以前用msf生成的文件报毒率要更低,放到Win7的主机中扫描一下,被360杀毒查出来了:
    测试

利用shellcode编写后门程序的检测

  1. 先使用msf生成一个C语言格式的shellcode:
    网站

  2. 利用shellcode编写一个C语言后门程序,编译运行后,在kali上测试其是否可用:

    编码

  3. 程序运行后被360杀毒很快就查出来了,说明360杀毒仍是挺强的:

  4. 放到网上的扫描结果是有12%的软件能扫出来,报毒率比用veil-evasion又要低一些:

第一次尝试:将shellcode逆序

  1. 直接利用shellcode写的C语言程序仍是不能实现免杀,若是咱们将shellcode先进行逆序操做获得另一个数组,而后以后再把它逆序回来,这样是否是能躲过杀软的追杀呢?从新编写代码,编译运行,依旧能被扫出来:

  2. 放到网上的结果,比以前的免杀率要稍微高一些:

第二次尝试:将shellcode与字母进行异或

  1. 若是将shellcode与字母进行异或,至关因而改变了其特征码,这样的结果又会如何?测试结果是没有被360杀毒扫出来:

  2. 网站上免杀率较以前又有了小幅度提高:

第三次尝试:将shellcode逆序和异或结合

  1. 既然进行异或能够实现免杀,若是将异或与逆序相结合是否是免杀率会更高呢?理论上应该是这样,编写代码运行后,首先个人win7系统上的360杀毒没有扫描出来:

  2. 放到网站上,免杀率仍是没有改变,依旧能被3个杀软扫出来,或许其中仍是包含必定的敏感行为:

  3. 为测试后门程序的免杀性能,我还将这个程序传到了室友win10的系统上,依旧没有被扫描出来,证实其应该在大部分的计算机上仍是可用的:

  4. 接着回连测试一下,证实其功能依旧能正常使用:

离实战还缺些什么技术或步骤

  1. 首先,如何将后门程序植入靶机还须要必定的技术,目前咱们实验中是直接用nc指令传到咱们靶机的,可是在实战中,靶机不可能会这么容易让咱们的后门程序植入,固然,咱们也能够考虑利用钓鱼网站来达到这一目的。
  2. 杀毒软件的病毒库在不断地更新,或许咱们今天用的技术过几天就用不了了,因此最好仍是可以根据漏洞直接本身来写代码,而不是用软件来生成,另外还要对杀毒软件的杀毒原理进行更深层次的分析,以避免来达到更好的效果。

实验总结与体会

  • 以前咱们大多数时候可能都过分依赖于杀毒软件,以为只要装了杀软就基本上不用愁了。诚然,在不少时候杀毒软件仍是能帮咱们扫出不少病毒,可是经过此次实验咱们也能够发现要想制做出免杀的病毒其实也并不难,所以,关键仍是要提升本身的安全意识,除了杀软以外,咱们也能够利用配置防火墙,监控注册表、端口等一些行为来保障咱们计算机的安全。
  • 目前咱们作的免杀后门仍是比较基础,离真正实际应用仍是有必定的距离,不过如今的实验也为咱们以后更深刻的研究打下了良好的基础,整体来说,此次实验仍是很是有趣的,在不断探索中,慢慢实现了本身的目标。
相关文章
相关标签/搜索