为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

病毒特征码查找

2017-09-01 13页 doc 137KB 64阅读

用户头像

is_358746

暂无简介

举报
病毒特征码查找病毒特征码查找 1. 病毒特征码查找+修改法(即: 文件特征码的定位) 2.病毒内存特征码查找+修改法(即:内存特征码的定位) 3. 文件的加壳(最直接也是最方便的方法) 4.文件的入口点加1法(也很方便) 5.文件的加花指令法(这个前提是软件没有加壳.也很好,普遍性强!) 6.释放出的DLL文件的修改法 就这几种吧,其实我也不确定.好了~我就把这些技术一一讲解吧~ 第一各是文件的特征码查找+修改法~这个的有点很多~但是也有缺点,那么我现说有点吧.恩.这个的优点比较直接,那就是针对性非常强,意思就是说如果你对一...
病毒特征码查找
病毒特征码查找 1. 病毒特征码查找+修改法(即: 文件特征码的定位) 2.病毒内存特征码查找+修改法(即:内存特征码的定位) 3. 文件的加壳(最直接也是最方便的方法) 4.文件的入口点加1法(也很方便) 5.文件的加花指令法(这个前提是软件没有加壳.也很好,普遍性强!) 6.释放出的DLL文件的修改法 就这几种吧,其实我也不确定.好了~我就把这些技术一一讲解吧~ 第一各是文件的特征码查找+修改法~这个的有点很多~但是也有缺点,那么我现说有点吧.恩.这个的优点比较直接,那就是针对性非常强,意思就是说如果你对一木马进行了这种免殺,那么可以长达10天内某种杀毒软件查不出来,呵呵,强悍吧~但是针对性太强了,意思就是你一次只能针对一种杀毒软件.而且过程很漫长~大概要20分钟左右吧~ 你要很有耐心~这个大概就是缺点吧~我这里说下大概的步骤~下次写文章的时候详细说~”用CLL特征码定位器的手动定位出大概的特征码范围,然后在用自动定位定位出精确的病毒特征码,然后在把特征码部位全部填充为0.~就是这样~别看过程简单~作起来很麻烦的~” 第二个是病毒内存特征码查找+修改法,这个根上面的一样~只是查杀对象不同~ 第三个是文件的加壳,这个我想大家都会吧~我只把要注意的事项简明一下好了:首先要有个好的壳~还有就是木马必须没加壳~如果加了壳就脱壳~) 第四个是文件的入口点加1法,这个方法的原理我不怎么了解,但是我可以说出大概的过程:利用修改入口点工具查看入口点~然后把地址加1就可以了~比如一个程序的入口点是081E32 那么我们只要修改成 081E33 就可以了~这就是入口点加1,简单吧~我记得一个朋友写过一个教程叫什么 5秒钟打造免殺鸽子 吧~我看了~就是用 这个方法~ 第五个是文件的加花指令法,我先介绍下~什么花指令吧; 花指令,就是一些程序的跳转指令,他的存在可以避过杀毒软件的追杀~而软件自身也不会被破坏~这个就是花指令的好处.再来讲讲怎么添加花指令吧:首先用OD载入一个无壳的软件~找到0区域(意思就是全部是0的地方,也就是没有符号和代码的地方,一般是4个0),然后加入花指令就OK了~全部完成时间大概就是3分钟~相当的快~而且普遍性强!非常强~我记得上次玩免殺鸽子的时候~搞了1个多月~金山都没杀出来..强悍吧! 第六个是释放出的DLL文件的修改法,怎么说呢?这个其实算是跟病毒特征码查找+修改法一样的~只是这个麻烦些~就哪鸽子打个比方吧~鸽子服务端再运行后会生成3个文件,这3个文件的后缀都是DLL的~这个就是DLL文件.知道了吧~他的修改其实就是免殺~跟第一个一样的~ 好了~介绍了这么多了~相信大家也都懂了吧~这个是我第一次写文章~如果哪里又不懂的地方~请提出来~我会虚心的接受的~我的下一篇文章是各种免殺技巧的详细介绍与方法~可以让广大免殺菜鳥走向高手之路!谢谢 木马免杀原理详解 文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-1-31 首先来简单了解一下杀毒软件查杀病毒的原理~当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。其中前一个比较方法古老~又分为文件查杀和内存查杀~杀毒软件公司拿到病毒的样本以后~定义一段病毒特征码到病毒库中~然后与扫描的文件比对~如果一致则认为是病毒~内存查杀则是载入内存后再比对~第二个比较新~它利用的原理是某些特定的病毒会有某些特定的行为~来监测病毒。 免杀常用的工具: 1、Ollydbg 调试器简称OD~ 2、动态追踪工具 3、peid 查壳工具 4、PEditor PE文件头编辑工具 5、CCL~伯乐~MYCCL 特征码定位器 6、oc 地址转换器 7、reloc 修改EP段地址工具 8、zeroadd 加区工具 9、Uedit32 十六进制编辑器 免杀方法 一.文件免杀 1.加花 2.修改文件特征码 3.加壳 4.修改加壳后的文件 二.内存免杀 修改特征码 三.行为免杀 加花 加花是文件免杀的常用手段~加花原理就是通过添加花指令,一些垃圾指令,类似加1减1之类废话,让杀毒软件检测不到特征码。 加花可以分为加区加花和去头加花。 一般加花工具使用加区加花~当然也是可以手工加的~就是先用zeroadd添加一个区段~然后在新加区段里写入花指令~然后跳转到原入口, 去头加花,是先NOP,汇编里的空操作,掉程序的入口几行~然后找到下方0000区~写入NOP掉的代码和一些花指令~再通过JMP,汇编里的无条件跳转,跳到原入口。 举个例子说明一下去头加花: 图1 这是PcShare服务端入口处的一段代码~原入口地址是00403D7D~因为是演示我就用两句最简单的垃圾代码~花指令可以自己去找或者自己写 push eax;eax寄存器压入堆栈 pop eax;eax寄存器弹出堆栈 图2 先将入口两句用NOP填充~然后找到一段0000区记下新入口地址0040443C 图3 写入刚刚NOP掉的入口两句和花指令还有跳转到原入口的指令 图4 把修改好的代码保存~用PEditor把入口地址修改为新入口0040443C就完成了~代码执行时从新入口开始~先执行花指令然后跳转到原入口执行真正程序~很简单吧,其实花指令可以加在头后同样也可以加在头后~也就是可以先执行花指令~然后再是入口~免杀效果是不一样的:大家可以试一下。加区加花很相似~主要是怕程序的0000区不足~先用工具新加一个区~在新区里写入花指令~其他的和去头加花一样~就不演示了。 加花以后一些杀毒软件就认不出了~但有些比较强悍的杀毒~比如司机大叔,卡巴斯基,可能还是能查出来~这时就要定位特征码然后修改了~要修改首先必须知道特征码在哪 里~所以需要先定位特征码~这是个难点~特别是复合特征码的定位。 特征码定位 特征码定位主要有两种方法:第一 直接替换法,第二 二叉数法, 直接替换法是最早开始出现的一种特征码定位方法~按一定的字节数逐个替换原代码并保存~比如木马总共100字节~可以先把0-10个字节用0替换~保存~然后用杀毒软件扫描~不被查杀说明特征码已经被覆盖掉了~如果还被查杀则替换10-20字节~再保存~扫描……直到找出特征码。替换法的优点是容易理解~速度快,对文件特征码而言,~特征码定位工具伯乐以及CCL的手动方式就是利用的替换法原理~文件特征码定位经常使用的就是这种方法。但是对于内存特征码的定位这种方法就不太实用了~每次替换以后都要载入内存再扫描~如果木马较大~替换生成的文件会非常多~每个都要载入内存花费太多时间~除此之外它还有一个非常大的局限性~就是只能确定只有一处特征码的情况,某种特定情况下的多特征码也是适用的~下面的第3种情况将有讲述,~杀毒软件还有别的定位特征码的机制~比如有的杀毒的定义了a,b两处特征码,三处或者更多原理是一样的~为了讲解方便~以下均以两处为例,~只要a,b有一个存在便报毒~只有加大替换范围直到两处同时被替换才不报毒~如 果两处距离比较远~定义出的范围将非常粗糙~很明显直接替换法将不再合适~这时第二种方法就有用武之地了。 二叉数法使用的原理是一半一半定位~CCL的自动方式就是运用的这个原理。将待检测段一分为二~分别替换并生成两个文件A和B~其中A是原文件后半部分被0替换后生成的~B是前半部分被0替换的~杀毒开始查杀生成文件,如果是内存特征码定位则先载入内存再扫描内存,~有4种情况 (1)A存在~B被删:这种情况说明A文件中特征码已经被替换掉~因此将A的被替换部分一分为二~起始偏移为A的偏移~再进行检测, (2)A被删~B存在:这种情况说明B文件中特征码已经被替换掉~因此将B的被替换部分一分为二~起始偏移为B的偏移~再进行检测, (3)A存在~B存在:这种情况说明没法定位A和B中有没有特征码~因此分别对A和B再一分为二进行检测, (4)A被删~B被删:这种情况说明两个区段都存在特征码~因此分别对A和B再一分为二进行检测。 对A再分时会将原来的B区段填充为0~相当于去除B区段的影响~只考虑A,同理对B再分时会将原来的A区段填0~相当于去除A区段的影响~只考虑B。 第,1,,2,对应的是只有一处特征码的情况~比较容易理解, 第,3,对应的是定义了a~b两处特征码的情况~但是和前面提到的那种不同~杀毒软件为避免误判~定义了a,b两处特征码~要ab同时存在时才报毒~假设a~b分别存在于A~B中~a,b不同时存在~杀毒对A~B均不报警~接下来该如何判断呢,举个例子说明一下 木马原来是…a……b…~第一次替换以后A:…a…000000~B:000000…b…~现在ab不同时存在~A~B都不被杀~则分别对A~B再次一分为二~…a……b000~…a…000…~000……b…~…a000…b…~再次扫描就可以找到两处特征码的位臵~如果还是不行~再继续分……直到全部找到,其实这种类型的多特征码直接替换也是可以定位的~甚至效果更好~按一定位数替换~然后扫描~只要替换了一个特征码就不再报毒~所以不报毒的便是特征码被覆盖的~不管有几处都可以定位出~而且修改时也只要修改任意一处就可以了。 第,4,种对应的情况也是杀毒定义了多处特征码~就是上面提到的那种情况~只要有一处符合就认定是病毒。还是以a,b两处特征码为例~第一次替换后的结果同,3,~两部分分开考虑~互不影响~相当于分解成两个单个特征码的情况~第二次替换后变成000000…b000~000000…000…~000… 000000~…a000000000~依此类推~直到精确定位出所有特征码~如果有N处特征码就相当于分解成N个单特征码来定位~现在N一般小于等于3~这种情况定位出的所有特征码必须全部修改了才能免杀。 二叉数法是个很不错的思路~可以解决大部分的问~但是不是无懈可击呢,回答是否定的:可恶的杀毒软件还有一个杀手锏~就是复合特征码~给我们定位特征码带来了很大的麻烦。复合特征码的定位机制是~先定义出N个特征码~只要里面某些同时出现便认为是病毒。举个简单例子说明一下:木马原来是…a1…b1…c1…a2…b2…c2…,a1,a2一样~加标号只是为了后面描述方便,~只要abc同时出现就认为是病毒~这该如何定位呢,原理不是很难~也是利用替换再查杀的方法~先从后往前用0替换~替换精度假设为每次替换量增加1000字节~开始一直显示是病毒~直到替换到地址13140040,为叙述方便随便说的一个地址,时替换的字节达到15000个~即…a1…b1…00000000~两个c都被替换掉了~此时显示不是病毒~由此可知~特征码c1就在13140040后面1000字节内~减小替换字节数比如改为替换14900字节~即精度改为每次替换减小100字节~还是无毒则减为替换14800字节~不断重复……直到精确定位出c1的位臵,如果改为从前往后替换~则可以定位出a2的位臵,其他特征码的定位可以利用已经定位到的c1,a2~把其中一个用0 替换了比如c1,从后往前就可以定位出c2,直到定位出所有特征码~其实原理并不复杂~但是要真正手动操作起来却是非常麻烦的~我们可以利用MYCCL~它用的原理与之类似~具体操作可以看MYCCL的操作帮助。还有一种方法更科学~原理是一样~但是替换的字节数不是等量增加的~而是以2的n-1次方增加的~第一次替换1字节~第二次2字节~第三次4字节……减小时也按照这种规律~这种替换方法有点类似于二叉数法~可以更快定位出特征码的位臵~我想这也是MYCCL在复合特征码定位方面应该改进的地方吧。 复合特征码虽好~大家也不用害怕~认为所有杀毒都来个复合特征码我们就要累死了~定义复合特征码需要单个特征码几倍的病毒库~不方便用户的升级~所以除了特别流行的病毒~定义复合特征码的也不是很多。 定位特征码有些经验可以告诉大家~文件特征码的定位一般用直接替换法~可以借用CCL的手动定位,内存特征码定位~一般用二叉数法~可以用CCL自动定位。对于EXE文件如果文件较小~可以两种方法结合~先用直接替换法生成~可以用伯乐这个工具,为什么不用CCL呢~因为伯乐生成的是EXE文件可以看出图标的模样,~找到还能正常运行的~那些图标都变了的说明PE头已经损坏了~就不要试了~然后载入内存~再扫描内存~如果既能正常运行又不被杀~恭 喜你:成功了:定位出了大体范围~再用CCL自动定位~很快就可以完成。如果文件较大~用伯乐生成的文件太多~也不方便~还是用CCL定位~对于DLL文件也只能老老实实用CCL定位了。 特征码修改 特征码修改可能需要一点汇编的知识~光盘里有常用的汇编语法介绍~修改主要有直接修改法和跳转修改法。 直接修改法利用的是等效指令替换~比如 add eax,0c等效于sub eax,-0c 或者指令顺序的改变不影响执行的效果~比如 add eax,0c;eax寄存器加上0c再赋给eax add ebx,05;ebx寄存器加上05再赋给ebx 等效于 add ebx,05;ebx寄存器加上05再赋给ebx add eax,0c;eax寄存器加上0c再赋给eax 还有一种是如果特征码是ASCII码~可以直接修改大小写~小写字母换成大写~大写的换成小写。 图5 SOFTWARE\Borland可以改成sofTwAre\BOrlaND 大家可以学习一下最基础的汇编语法~并不难~对特征码修改你将会有更深的理解。 跳转修改法比较简单~主要原理就是把特征码的那段NOP掉~然后把NOP掉的语句写入空白的0000区~再通过JMP跳转连接起来~让杀毒找不到特征码~从而达到免杀的目的。 举个例子 图6 假设选中的13143C58到13143C5C是特征码~当然这段可 以用直接修改法修改~这里说下如何跳转 首先NOP掉4行特征码 图7 在下面找到一段0000区记下地址1314CECF 图8 写入NOP掉的特征代码和跳转到特征代码后续语句的代码 图9 最后到NOP掉的原特征码段加入一句代码JMP 1314CECF跳到新加的代码区 图10 完成:这样便把特征码的位臵改变了~又不影响代码的执行~只要特征码定位准了~绝对免杀: 注意:文件地址指二进制文件的实际偏移地址~内存偏移指相对虚拟地址,RVA,~一般等于文件偏移地址加基地址(感谢楚茗大哥的指点),通过定位特征码得出的是实际偏移地址~载入内存以后~地址会变化~不再是文件特征码定位时 的地址了~所以修改特征码不能忘记把定位出的地址转换为对应内存地址~这里可以借助一个小工具oc.exe确定~然后再进行修改~WinHex,Uedit这类16进制编辑器打开显示的地址是文件地址~而OD这类动态汇编调试工具打开显示则的是内存地址。 加壳 不用说了~用工具大家都会~加壳的原理是给原程序加上一段保护程序~有保护和加密功能~运行加壳后的文件是先运行壳再运行真实文件从而起到保护作用。我想提醒大家的是~再好的壳用的人多了~还是会被杀的~所以可以努力学好E文~自己到国外的网站找加壳工具~比较好。这可是我压箱底的经验~一般人我不告诉他: 修改加壳后的文件 加壳以后程序入口处会有一段特殊代码~可以自己用OD打开不同加壳工具加过壳的文件~可以发现不同的壳开头那段代码是不同的~也可以说成是壳的特征代码吧~对于常用的壳杀毒软件可以脱掉壳再查杀~也就是所谓的穿壳技术~为了避免杀毒软件认出是加的哪种壳我们可以加双壳~或者自己修改开头那段代码~从而让杀毒看不出是什么工具加的壳~这里我只讲一种修改方法~可以参照去头添加花指令~在空白区域加入一段别的壳的特征头~然后JMP跳到原入口~ 这样杀毒就会误判加壳工具~从而达到免杀的效果~其实方法是多样只要愿意思考总能想出应对的方法。 还有一种修改壳的方法就是修改EP段的入口~用Peid查一下加过壳的木马~可以发现EP段的地址~也就是区段入口~通过修改EP入口地址可以达到免杀的效果~利用的工具是reloc,国内好象没提供下载的~我在国外网站找到的,放在光盘里了~具体使用方法自己去问google。 行为免杀 这种杀毒的代是绿鹰PC万能精灵。一般说来木马在运行以后会复制到系统目录下然后运行~原文件可能会自动删除~现在的木马一般是插入进程来访问网络的~在进程里可以看到被插入的进程~设臵开机启动也是木马必须做的可以写入注册表~加入服务~写入驱动等等~这些便是木马特有的行为。我们可以用注册表监控~文件修改监控的工具比如木马辅助查找器记录修改的文件、注册表~推测杀毒可能监控的是哪个行为从而对应修改行为来达到行为免杀。还有一个一般的方法~行为杀毒是不会查杀系统的启动项的~我们可以把木马的启动项替换成非系统必须的开机自启动项就可以成功免杀了。至于其他的方法~大家可以自己再研究。 至于网上流传的入口加1~就是用PEditor将木马入口地址+1~有时也是可以达到免杀的效果~好象是瑞星比较吃 这个~还有个小窍门可以告诉大家~要让自己的免杀木马尽量久的不被查到~最好选择比较老的木马来做~对新木马~杀毒盯的紧会经常更新病毒库~而老的呢……不用说了吧。 : 一般免杀步骤是先定义内存特征码~修改内存特征码~加花指令做文件免杀~如果还被某些杀毒查杀则定义文件特征码~修改特征码~接下来是行为免杀~然后加壳~再修改壳。内存免杀一般只要做瑞星的就可以了~其他的杀毒软件没有真正意义上的内存杀毒~比如卡巴斯基的内存扫描就是文件快速扫描~一般加入花指令,稍微学点汇编~折腾些垃圾代码是很简单的,以后就可以躲过金山~瑞星~江民的文件查杀~万一有不过的就要定位特征码再修改~卡巴的文件查杀是很牛的~加了壳也几乎都能可以查出来~一般都要定位特征码再修改~对于诺顿这种喜欢把特征码定位在PE头的只要用北斗之类工具加个壳~把PE头改得一塌糊涂,当然也可以手工修改PE头~不过比较麻烦~不容易说清楚~而且需要了解一些PE文件的结构知识~想知道的可以联系我~论坛ID:幽游,~它就不认识了~如果还想把免杀做好点~可以把自己的服务和注册表键值改成非系统必须的~那么绿鹰这类行为查杀的笨蛋就成盲人了:要是你是不折不扣完美主义者~可以再修改一下加壳后的文件~把免杀进行到底: 这篇文章主要讲了免杀的原理和理论上的方法以及一些个人的心得~并没有太多演示~因为我个人感觉~理解原理才是最重要的~只有这样你自己才可能有突破~想出更多免杀的方法~只要理解了原理免杀根本就不是难事:文中有很多地方是个人的理解~如果有不对的地方还请高手指正。最后希望杀毒软件有更多先进优秀的杀毒方法~更好地保护计算机的安全~也给我们一些挑战~还有国内的杀毒赶快发展起来~成为世界一流的杀毒软件~特别是金*~不要让我们做免杀的时候再把你忽略不计…… 暑假写了拿去混稿费的~已经很久了发出来也无所谓了~一些总结~没有太高深的知识~不喜欢隐藏帖子~觉得写的不错主动回帖支持下~如果是技术性的讨论就更好了:
/
本文档为【病毒特征码查找】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索