`
wuzijingaip
  • 浏览: 319427 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

样毒软件的运行

阅读更多
随着黑客圈子逐渐向商业化靠拢,以及杀毒厂商间的互相竞争愈演愈烈,导致新出现的免费且好用的木马越来越少,除此之外,木马的生存期也在逐渐缩短!而另一方面,新出现的攻击手法越来越少,使得学习黑客技术的我们不得不考虑怎样摆脱或改善现有环境。

因此,免杀技术逐渐火热起来,而作为一个黑客技术初学者,掌握免杀技术更是迫在眉睫!

这篇文章就带领你由杀毒软件原理开始,逐步砸实基础,从而晋升为免杀高手,为以后的黑客生涯铺平道路。

对于免杀,也许大家或多或少都有些了解,但是大家对杀毒软件又有多少了解呢?也许正因为是你对杀毒软件了解不足,所以才造成一些看似比较奇怪的问题,例如无法精确的定位出特征码,或者每次定位的特征码都不一样等等。

如果我们对杀毒软件若能有一个大体的了解,就会使一些问题迎刃而解,从而做到更加有效率的进行免杀。



一、杀毒软件原理基础

一个杀毒软件的构造的复杂程度要远远高于木马或病毒,所以其原理也比较复杂。而且鉴于现在木马病毒越来越向系统底层发展,杀毒软件的编译技术也在不断向系统底层靠近。例如现在的“主动防御”技术,就是应用RING0层的编译技巧。这里我简单为大家介绍一下基本构成。

一个杀毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们结为一体,如图1。





扫描器是杀毒软件的核心,用于发现病毒,一个杀毒软件的杀毒效果好坏就直接取决于它的扫描器编译技术与算法是否先进,而且杀毒软件不同的功能往往对应着不同的扫描器,也就是说,大多数杀毒软件都是由多个扫描器组成的。而病毒库存储的特征码形式则取决于扫描器采用哪种扫描技术。它里面存储着很多病毒所具有的独一无二的特征字符,我们称之为“特征码”。特征码总的分来只有两个,文件特征码与内存特征码。文件特征码存在于一些未执行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特征码,也都有可能被查杀。而内存特征码仅仅存在于内存中已运行的应用程序。而虚拟机则是最近引进的概念,它可以使病毒在一个由杀毒软件构建的虚拟环境中执行,与现实的CPU、硬盘等完全隔离,从而可以更加深入的检测文件的安全性。

简单的说,杀毒软件的原理就是匹配特征码。当扫描得到一个文件时,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如果有,则报毒病查杀,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。



二、基于文件扫描的杀毒技术

基于文件的杀毒技术可以分为“第一代扫描技术”、“第二代扫描技术”与“算法扫描”这三种方法,对于免杀爱好者来说,要对每一种方法烂熟于心,才能成为高手!但做为一个初学者来说了解一下即可。这里我们就简单介绍一下其中两种种方法,详细的技术原理如果各位得这有兴趣的话可以自己研究。

1、通配符扫描技术

  通配符扫描技术属于是第一代扫描技术的一个分支,对于“通配符”,可以理解为具有一定意义的符号,例如DOS命令里的*号就是任意长度的任意字符的意思,而且通配符在不同的领域也里可以代表不同的意思。

现在杀毒软件中简单的扫描器常常支持通配符,因为鉴于字符串扫描技术的执行速度与特征码长度限制等问题,使得其逐渐退出历史舞台,取而代之的是通配符扫描技术,通配符扫描技术以同样简单的原理与技术却实现了更为强大的功能。

扫描器中的通配符一般用于跳过某些字节或字节范围,以至于现在有些扫描器还支持正则表达式!

下面我们通过一个例子来讲解通配符扫描技术的原理。

例如我们的病毒库中有这样一段特征码:

0400 B801 020E 07BB ??02 %3 33C9 8BD1 419C

上面的特征码可以解释为:

1、尝试匹配04,如果找到则继续,否则跳出。

2、尝试上一匹配目标后匹配00,如果找到则继续,否则跳出。

3、尝试上一匹配目标后匹配B8,如果找到则继续,否则跳出。

4、尝试上一匹配目标后匹配01,如果找到则继续,否则跳出。

5、尝试上一匹配目标后匹配02,如果找到则继续,否则跳出。

6、尝试上一匹配目标后匹配0E,如果找到则继续,否则跳出。

7、尝试上一匹配目标后匹配07,如果找到则继续,否则跳出。

8、尝试上一匹配目标后匹配BB,如果找到则继续,否则跳出。

9、忽略此字节。

10、尝试上一匹配目标后匹配02,如果找到则继续,否则跳出。

11、在接下来的3个位置(字节)中尝试匹配33,如果找到则继续,否则跳出。

12、尝试上一匹配目标后匹配C9,如果找到则继续,否则跳出。

13、尝试上一匹配目标后匹配8B,如果找到则继续,否则跳出。

14、尝试上一匹配目标后匹配D1,如果找到则继续,否则跳出。

15、尝试上一匹配目标后匹配41,如果找到则继续,否则跳出。

16、尝试上一匹配目标后匹配9C,如果找到则继续,否则跳出。

这种扫描技术通常支持半字节匹配,这样可以更精确地匹配特征码,一些早期的加密病毒用这种方法都比较容易检测出来。

其实现在的一些特征码仍然在使用类似此种方法的特征码表达技术,因此掌握这些知识会对我们以后的免杀有所帮助,同样可以使我们在定位特征码时更加了解自己正在做什么,以及做的是否正确等等,这对于我们来说非常重要。

2、智能扫描

智能扫描属于第二代扫描技术的一个分支,这种方法是在一种病毒变异工具包出现之后提出的。智能扫描法会忽略检测文件中象NOP这样的无意义指令。而对于文本格式的脚本病毒或宏病毒,则可以替换掉多余的例如空格、换行符或制表符等空白字符,这一切替换动作在扫描缓冲区就会执行,从而大大提高了扫描器的检测能力。

3、近似精确识别法

近似精确识别法同样是属于第二代扫描技术的一个分支,但是相比起来应用的更为广泛,这种扫描技术包含了两种方式与若干种方法,在这里不可能一一介绍,下面将主要介绍两种方法的代表。

方法一:多套特征码

该方法采用两个或更多个字符串集来检测每个病毒,如果扫描器检测到其中一个特征符合,那么就会警告发现变种,但并不会执行下一步操作(例如清除病毒体或删除文件)。如果多个特征码全部符合,则报警发现病毒,并执行下一步操作。

方法二:效验和

    对于校验和,也许有些朋友会想到文件校验和比对的方法,这个方法的思路是将每一个无毒的文件生成一个校验和,等待下次扫描时在进行简单的校验和比对即可,如果校验和有所变化,在进行进一步的扫描,这样有利于提升扫描器的效率,但是严格地说,这并不算是扫描技术。

效验和扫描技术利用的最为到位的就是比较出名的KAV(卡巴斯基)了,它的第二代扫描器就采用了密码效验和技术,并且没有使用任何搜索字符串技术。关于效验和是一个复杂的概念,简单的说就是通过对病毒中的某一段代码的计算,从而得出一个值(例如123XY4),与MD5加密有些相似,当然这样说不完全正确。

但KAV采用的是一种由卡巴斯基发明的一种叫做密码效验和的特殊算法,这种算法通常会产生两个值。而且病毒库的查询采用了特征码分类思想,例如扫描EXE文件时只调用与EXE文件有关的病毒库,而根据EXE文件的位置不同(例如文件头、入口点)又分为不同的子库,这样有利于提高扫描速度。



三、由此得出的一些经验

首先我们应该明白第一个例子介绍的通配符“0400 B801 020E 07BB ??02 %3 33C9 8BD1 419C”代表的肯定不是一个字节。也就是说,杀毒软件厂商定位的特征一般都是数十字节,所以我们定位特征码时就要避免定位过于精确,一般保证在10字节以内就足够了!因为如果特征码定位的过于精确,会为我们以后的修改操作带来很大不必要的麻烦。我们可以简单的想一下,是修改一个字节的方法多,还是修改10字节的方法多?

而由智能扫描我们也可以得出一个结论,就是不要将杀毒软件想的太傻,例如属于智能扫描的一个分支——启发式扫描,它会将一些异常改动计算到可能性的“权值”里,如果一个文件的可疑改动过多,就会导致报毒,这样我们所做的一些工作就起到了相反的作用,是典型的画蛇添足。所以,修改木马文件时也要掌握一个度的问题,不要修改的过多,但还要保证自己的木马免杀时间够长,这就要明白那些更改会被归为可疑修改,而那些则不会。但是掌握这些是需要一定的PE文件结构基础知识的,对于PE文件,我会在下篇文章详细介绍。

而最后的就是卡巴斯基的密码校验和扫描技术了,恐怕这在业内也是第一次提出来,各位看官有福了!

对于密码校验和的更深层次的知识,这里我们不再细谈,我们只谈他对免杀带来什么样的影响。首先,特殊的扫描方法必然会导致特殊的特征码,所以密码校验和的真正特征码通常体积都比较大,通过脚本木马的一些实验,卡巴斯基7.0对字母的大小写不是很敏感,此外对文件代码的变动也不是很敏感。也就是说,只要包含特征码的这行代码在卡巴斯基的校验和取样范围之内,那么它就会报毒,而如果你将其移出这个范围,那么肯定会导致文件不能正常运行,唯一的办法就是更改代码结构。

如果大家注意总结与思考,会发现一些免杀方面的模糊概念完全可以用本文介绍的知识解释通,例如什么“隐含特征码”等等。

这篇文章不知道大家看着怎么样,我想无论你是刚要入门的新手,还是有一些经验的老手,本文都会提供给你许多你不曾知道的知识。由此也可以看出基础的重要性,正是因为基础的不同,才造成技术的高低。我想授人予鱼不如授人予渔,所以这篇文章偏重于理论,没有什么实例,但是相信会给你带来一些帮助。如果你想成为免杀高手,那么就期待下一篇吧……
  • 大小: 31.5 KB
分享到:
评论

相关推荐

    360杀毒软件(免费,无需注册查毒软件)

    360安全卫士是当前功能最强、效果最好、最受用户欢迎的上网必备安全软件。...此外,360安全卫士自身非常轻巧,还可以优化系统,大大加快电脑运行速度,同时还拥有下载、升级和管理各种应用软件的独特功能。

    u盘防毒工具

    u盘防毒软件 可以防止进入u盘的病毒自动运行

    江民杀毒软件破解2009

    下载后解压缩后直接运行,选择使用天数,本软件适用于WIN2000.

    如何查杀运行状态下的EXE、DLL病毒

    这样做,杀毒软件可能会报告某些文件在受读写保护无法清理,但带毒运行的实际目的不在于完全清除病毒,而是在于把CIH下次开机时候的破坏减到最低,以防它再次开机破坏主板的BIOS硬件,那么就会黑屏,让你的下一步...

    基于MindSpore实现的ResNet-50毒蘑菇识别python源码+运行截图

    基于MindSpore的ResNet-50毒蘑菇识别python源码 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该...

    收集局域网电脑硬件及软件的信息

    2011-10-11 17:09:27 各位搞IT的兄弟姐妹们: 你们辛苦了!小弟之前老是被那些打盗版的“白撞”骚扰,一直都想随时知道公司内所有电脑的硬件...注意:因为本程式有读取注册表数值的过程,所以有些防毒软件会阻止运行。

    U盘防拷贝加密软件(仅供个人学习交流使用,禁止商用)

    3、股票软件内部公式加密,可正常运行软件; 4、普通文档加密,允许他人查看,但是不能编辑和复制,不能另存为; 5、软件的加密(不希望别人复制软件,但同时又可以正常使用软件); 6、不同的用户使用优盘上不同的...

    日语五十音学习与测试软件 免安装版

    二,本软件使用易语言编写,有可能会被一些防毒软件误报,这是由于易语言特殊的运行方式造成的(百度百科_易语言 词条有祥细描述),大可放心使用。如有顾虑,请选择其它你认为可靠的软件。 三,作者技术不精,设计...

    某站8000元APP封装系统源码app误报毒app可上传+自动实现5分钟随机更换包名和签名+视频安装教程

    自动覆盖原下载路径,可以解决因为签名包名和报毒软件相同造成的误报毒; 上传打包好的apk可以是封装的,也可以是原生的~ 上传apk的如果有加固就不能使用此功能 本程序所有功能逻辑均没有第三方介入,完全程序...

    笔记本电池修复软件,,

    然后关机,拔出笔记本电源插头,再开机,运行程序,这时候软件显示是放电。一定时间后放电结束,等到电脑自动关机为止,然后再插上笔记本电源,开机运行程序,显示充电,结束后再关机,拔出电源,在开机运行,程序...

    黑莓手机截屏软件BBScreen

    黑莓截屏工具, 我的是7290,我的机子上没杀毒软件。 windows告诉我这个软件没以后什么认证之类的,不过运行着没发现问题。 自己查毒吧 。

    日语五十音学习与测试软件_第2版免安装_新增原型汉字显示

    二,本软件使用易语言编写,有可能会被一些防毒软件误报,这是由于易语言特殊的运行方式造成的(百度百科_易语言 词条有祥细描述),大可放心使用。如有顾虑,请选择其它你认为可靠的软件。 三,作者技术不精,...

    RogueKiller(流氓软件杀手) v13.3.1.0.zip

    RogueKiller是一款专业的流氓软件查杀软件。软件的主要作用是扫瞄用户电脑上正在执行的应用程序并删除那些...于是作者写了这款软件,可以清除注册表里不必要的垃圾,并可以高效的执行杀毒和查毒任务。 RogueKiller截图

    百度杀毒软件

    百度杀毒是百度公司与计算机反病毒专家卡巴斯基合作出品的全新杀毒软件,集合了百度强大的云端计算、海量数据学习能力与卡巴斯基反病毒引擎专业能力,一改杀毒软件卡机臃肿的形象,竭力为用户提供轻巧不卡机的产品...

    祝福用的软件很好用的放心没毒

    下载工具,大概几十K吧,很不错,一但运行电脑屏幕上会有雪花落下很好玩的哦

    局域网监控软件,用在局域网的监控工具非常好用

    本人自己使用过,非常简单好及,我用人格保证会用鼠标的人都会使用本软件,360安拦干截软件的安装请选择通过,我用360杀毒安装过程没有发现毒。其他杀毒软件有没有就不知道 了。请大家放心使用。人格保证!!!!...

    拒绝病毒 让闪存从此“百毒不侵”

     如果你的电脑可能感染了病毒,但又要从闪存上读取资料,你只要在把闪存插入电脑的USB接口之前运行该软件,选择“USB写入保护开启”,然后关闭软件,再插入闪存就可以了。这时插入的闪存处于写保护状态,只能读取不...

    基于Python深度学习ResNet网络实现毒蘑菇识别系统源码.zip

    基于Python深度学习ResNet网络实现毒蘑菇识别系统源码.zip基于Python深度学习ResNet网络实现毒蘑菇识别系统源码.zip基于Python深度学习ResNet网络实现毒蘑菇识别系统源码.zip基于Python深度学习ResNet网络实现毒蘑菇...

    自制c#版<iframe>查杀软件

    可以双击readweb.exe直接运行。 用人格担保无病毒,但是还是建议使用前先进行查毒,防止因为其它原因感染病毒。 软件功能: 可以根据用户设定的正则表达式进行相应字符串的查找,并且会提示用户是否对查找...

Global site tag (gtag.js) - Google Analytics