六、UPX的修改
UPX可以说是免费的最经典的压缩壳。我门来修改一下,OD载入。修改前,如下
004CE240 复> 60 pushad
004CE241 BE 00504700 mov esi,复件_(2).00475000
004CE246 8DBE 00C0F8FF lea edi,dword ptr ds:[esi+FFF8C000]
004CE24C C787 0CA70800 A5>mov dword ptr ds:[edi+8A70C],59AD25>
004CE256 57 push edi
004CE257 83CD FF or ebp,FFFFFFFF
004CE25A EB 0E jmp short 复件_(2).004CE26A
004CE25C 90 nop
004CE25D 90 nop
004CE25E 90 nop
004CE25F 90 nop
004CE260 8A06 mov al,byte ptr ds:[esi]
修改后如下
004CE240 复> 60 pushad
004CE241 BE 00504700 mov esi,复件_(2).00475000
004CE246 8DBE 00C0F8FF lea edi,dword ptr ds:[esi+FFF8C000]
004CE24C C787 0CA70800 A5>mov dword ptr ds:[edi+8A70C],59AD25>
004CE256 57 push edi
004CE257 83CD FF or ebp,FFFFFFFF
004CE25A 77 0E ja short 复件_(2).004CE26A
004CE25C 73 0C jnb short 复件_(2).004CE26A
004CE25E 72 0A jb short 复件_(2).004CE26A
004CE260 8A06 mov al,byte ptr ds:[esi]
卡巴扫描,不再报毒。
七、NSPACK1.1的修改
看了一下这个和3.6版本不是一个样子的,所以这个也修改下。这个最简单一个指令卡巴就不发出那难听的叫声了。OD载入,如下
004CF600 复> 9C pushfd
004CF601 60 pushad
004CF602 68 07F64C00 call 复件_(4).004CF607
004CF607 5D pop ebp
修改如下
004CF600 复> 9C pushfd
004CF601 60 pushad
004CF602 68 07F64C00 push 复件_(4).004CF607
004CF607 5D pop ebp
八、堀北压缩(KBYS)0.28的修改
这个壳可以和UPX相媲美的压缩壳,但是没有UPX那么著名,只要是它压缩过的,卡巴大叔们都一路KILL。简单修改下,卡巴大叔安静了。OD载入,前四行如下
00401000 复> E8 F8C10C00 push 复件_(5).004CD1FD
00401005 68 0B104000 call 复件_(5).0040100B ; 入口地址
0040100A \. C3 retn
0040100B $ C3 retn
修改如下
[color=#ff0000] 00401000 复> E8 F8C10C00 call 复件_(5).004CD1FD
00401005 68 0B104000 push 复件_(5).0040100B ; 入口地址
0040100A \. C3 retn
0040100B $ C3 retn
以上是列举了八种壳,都是通过壳头的简单修改,就使得卡巴这个号称虚拟脱壳杀毒很强的世界顶级杀软沉默了,当然我们抛开它目前的主动防御杀毒,单从文件查杀上做了一次测试,
从中似乎能分析出卡巴对于脱壳,也似乎是象特征码那样,将壳的特征入库了,然后在利用脱壳引擎把壳脱掉去杀毒。如果这样,那许多壳的特征卡巴只放在了壳的头部,尤其这种压缩形式的壳是这样的,对于某些加密壳,壳头怎样修改都无用。以上也仅仅是一种猜测。
编者:作者通过简单的修改,使一个被杀的下载者逃过了卡巴斯基的查杀。其实,现在很多黑客都会通过修改木马的服务端来躲避杀毒软件的查杀。本文是以卡巴斯基为例子,相信大多数知名的杀毒软件都会遇到这类难题。编者认为杀毒软件对于一个壳不要简单只识别壳的头部来进行识别,取复合的壳特征码,这样会增加查杀力度。另外从KBYS这个压缩壳上也可以看出一个缺陷,卡巴通杀了加这个壳的可执行文件,但是似乎并未进行脱壳后的再查杀,所以只要让这个壳免杀,那加了壳的文件也就免杀了,杀的不彻底。另外,修改的过程中发现对于一些加密壳卡巴的查杀力度较大,这似乎对于不同种类的壳卡巴有不同的态度,但是纠其作为杀毒软件来说,应该是一次性的彻底取特征码。
上一页 [1] [2] [3]