活学活用木马免杀之花指令篇

网络安全

提到免杀,就不得不说“花指令”,它也是常用的免杀方法之一,免杀效果很好,。由于操作较复杂,很多菜鸟对它都敬而远之。其实简单的加花指令免杀并不难,下面我们就来学习如何快速用花指令免杀。

一、什么是花指令

所谓花指令,我们可以把它理解为一些程序中的无用代码或垃圾代码,有了这些代码程序照样运行,没有这些代码也不影响程序运行。

花指令就是几句汇编指令,让汇编语言进行一些跳转,就像我们平时拐弯抹角说的一些话。说通俗点就是说杀毒软件是从头到脚按顺序来查找病毒,如果我们把病毒的头和脚颠倒位置,那么杀毒软件就找不到病毒了。这样杀毒软件就不能正常判断病毒木马文件的构造,加大了杀毒软件查杀木马病毒的难度。

二、用垃圾代码弄“晕”杀软

虽然大家都知道添加花指令是非常不错的免杀方法,但是有一个非常实际的问题就是如何编写花指令。虽然对于那些有汇编基础的用户来说,编写花指令并不是什么难事,但是对于菜鸟来说还是很麻烦、很困难的,因此只能从网上寻找别人公布出来的花指令代码或花指令添加器。可是这些公布出来的相关消息虽然可以直接使用,同时很快也会被杀毒软件添加到病毒库中,所以即便是短时间里能够起到免杀的效果,也会很快被查杀。

那么菜鸟应该怎么办呢?其实只需要对花指令进行一些变形,就可以轻松躲过杀毒软件的检测。通过已经公布的花指令添加器,将花指令代码添加到程序内部,再通过程序OllyDBG对添加的花指令进行修改。

三、揭秘花指令免杀步骤

首先运行加花工具《花蝴蝶》,首先点击“浏览”按钮选择需要免杀的程序。接着在“选择花衣服”列表中任意选择一个花指令,这里我就选择第一个“蝴蝶三号”,然后点击“穿衣”按钮即可成功加花(图1)。

51-网络7.jpg
图1

下面使用程序OllyDBG载入服务端程序,结果程序自动就停留在添加的这段花指令面前。现在我们就开始动手对这段花指令进行修改了。

1.替换法

替换法就是将花指令原有的一句或多句汇编代码,用其他功能相同的汇编代码进行替换。需要注意的是,替换和被替换的指令功能一定要相同,否则就会导致程序运行出错。

这里我们就将入口点的汇编代码“mov eax, 004C6001”和jmp eax进行如下替换,选择这两句汇编代码后点击右键菜单中的“汇编”命令,依次在“汇编”窗口用“push 004C6001”和retn替换以前的代码即可(图2)。

51-网络6.jpg
图2

程序修改完成后需要进行文件的保存。选择右键菜单中的“复制到可执行文件”,接着在它的子菜单中选择“选择”命令,然后程序会弹出一个新窗口,同样在新窗口中点击鼠标右键,选择其中的“保存文件”命令后在弹出的窗口就可以将我们修改的程序进行保存了(图3)。

51-网络5.jpg
图3

2.添加法

添加法就是在原有的花指令中再加入一些汇编代码,使得这段花指令有些锦上添花的味道。需要注意的是,添加的指令也要保持堆栈平衡,否则同样会导致程序运行出错。

首先我们在程序的入口点向上查找,会发现有很多nop语句。nop语句在汇编代码中的意思为无任何意义,我们选择其中的两句后点击右键中的“汇编”命令,依次在“汇编”窗口写入两句新的代码,即push 2008和push -2008(图4)。最后按照上面的方法对程序文件进行保存就可以了。

51-网络4.jpg
图4

3.移位法

移位法就是将原有的花指令顺序进行一些调整,比如将前后代码进行互换,或者将第三句和第四句代码互换。总之移位互换法的操作灵活性是比较强的,只要改变顺序就可以让杀毒软件识别不出来。

我们还是从程序的入口点向上查找,可以发现push eax和pop eax这两句汇编代码,我们就将它们的位置互换一下来达到免杀。我们首先选择push eax这句汇编代码,点击右键中的“汇编”命令,在“汇编”窗口写入pop eax这句代码(图5)。下面按照同样的方法将pop eax替换为push eax即可,最后对修改的程序文件进行保存就可以了。

51-网络3.jpg
图5

4.去除法

去除法就是将原来花指令中某些汇编代码删除,使得这段花指令变得更加的简单实用。但还需要注意的是,要去除后保留的花指令代码也要保持堆栈平衡。

这里我们就将移位法中使用过的push eax和pop eax去除,选择这两句汇编代码后点击鼠标右键。选择“二进制”菜单中的“使用 NOP 填充”命令,将push eax和pop eax的两行代码填充掉也就完成了删除花指令的操作,最后还是按照老样子进行保存就可以了。

花指令代码既然可以添加,我们也可以去除其中的花指令,从而让程序回到原来的样子。运行“花指令清除器”后,添加可能被加花的可疑程序,点击“清除”按钮就可以了(如图6)。接着利用最新病毒库的杀毒软件进行查杀,即可检测出该可疑程序是否为木马程序。当然大家也可以借助于杀毒软件的主动防御功能,对这些怀疑是木马程序的可疑程序进行拦截操作。

51-网络2.jpg
图6

总结

每种不同的免杀方法都有相应的适用对象,因此必须针对不同的文件选择不同的免杀方法,比如今天所说的加花方法对图片文件就不能起到任何作用。同样每种免杀方法都有自己的弊端,主要这些不足之处被发觉,那么免杀也就消失殆尽了。所以说没有那种免杀方法是十全十美的,要免杀就必须综合使用多种方法才行。