登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

A1Pass的风清月朗居

追随技术的巅峰,突破欲望的枷锁!我,是技术与精神的享乐者!

 
 
 
 
 

日志

 
 

木马免杀入门  

2008-07-28 07:48:04|  分类: 思绪燃星火——技 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

题记:这是我一年前应邀为《黑客X档案》07年合订本的小手册写的文章,很适合初学的朋友,高手飘过……

转载请注明版权:http://a1pass.blog.163.com/ 与 《黑客X档案》

作者:A1Pass

 

    大家好,今天我带领大家学习一些关于木马免杀的相关入门知识。本篇文章的主要目的就是带领那些想学习免杀技术的朋友进入这个神秘领域,使大家读完这篇文章后可以将自身技术水平提高一个层次。但是俗话说得好:‘师傅领进门,修行在个人’,所以这里我讲的一些免杀方法他的免杀效果可能不是很好。因为是带领初学者入门,所以讲的主要是免杀思路与一些免杀工具的使用技巧,但是我会在文章结尾介绍一下主流的免杀思路,以便于各位刚刚入门的朋友自学与提高。

    提起免杀,我们不得不说说杀毒软件的杀毒原理,知己知彼,才能百战百胜吗!让我们先一起看看我们的木马是怎么被杀的吧。

 

一.杀毒原理

通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,首先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。

搞明白这些后,下一步一般会研究这个病毒的文件结构,然后找出与众不同的地方,将其定义为特征码。用这种方式定义出来的特征码叫做文件特征码。由于文件特征码都存储在硬盘的文件里,所以我们做免杀时只要将未运行的文件做一下处理就可以了。我们黑客把这种针对文件特征码的免杀工作叫做“文件免杀”。

特征码还有一个分支,即内存特征码。所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征字符串,它的原理大体与上面介绍的文件特征码一样。而针对内存的免杀方法叫做“内存免杀”,另外还有例如启发式验测、主动防御等等都是我们现在涉及不到的。

然而当特征码定义出来之后,它就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。杀毒软件就像恐怖片里的僵尸一样,只会闻呼吸的气味,眼睛看不到东西,所以影片主角只要带个氧气瓶后僵尸就找不到他了。由此可见,只要我们把其中的特征字符改掉后杀毒软件就不会查杀我们的木马了。怎么改呢?往下看……

 

二.免杀技巧

找木马文件里的特征字符是一件很复杂的事,这里不作主要介绍。既然是菜鸟,我们就要有菜鸟的菜方法!

不知道大家听说过加壳没有,“壳”是为保护软件程序不被非法修改而诞生的。经过加壳后,软件的内部结构会完全改变成另外一个样子,但是当这个软件在运行时又会完全将数据恢复到原样释放到内存里运行。看到这大家应该都明白了,这不就是加密解密的过程吗?对!其实我们免杀时常说的加壳,其实就是加密。

但是我们要怎样加密呢?这里我给大家介绍一个叫做“北斗”的加壳软件(如图1)。

通过界面我们可以看出来也不过如此,不就是个小程序吗?没错,可就是他却能让我们的木马躲过可恶的杀毒软件!我们将需要加密的小程序托甩到这个程序界面上,然后松开鼠标,我们的木马就被读取了(如图2)。

然后点击“压缩”按钮就完成压缩工作了。怎么样,很简单吧?下面我们就来学习怎样用加壳的方法来保护我们的木马。

1.加壳免杀

    加密的程序就一定不被查杀了吗?很不幸,答案是否定的……其实杀毒软件早就想到方法来对付加壳免杀这一伎俩了。你可以用瑞星试试,分开查杀两个同样的木马,一个是加壳的,一个未加壳,如果观察的仔细很容易发现瑞星查杀所用的时间不一样。这能说明什么?也就是说瑞星有它自己的自动脱壳功能,遇到加壳的文件他会先脱壳然后在验测。所以对于加过壳的木马文件会花费更长的时间。

    那我们怎么办呢?其实也不难,瑞星等杀毒软件的脱壳功能也是需要更新的,并不是每一种壳都能脱得掉的,这就给了我们一个机会,我们选择加壳软件时可以选择新出的壳或者比较不常见的壳,也可以是经过牛人们改造的变态壳。总之,只要是不容易被杀毒软件捕获的壳就可以,但是只有加壳才能免杀吗?答案还是否定的,下面我就为大家介绍一下免杀的技巧,顺便介绍几款免杀效果不错的壳。

(1)修改加壳特征

大家通过名字想到了什么?杀毒软件脱壳也是根据壳的特征来自动选择脱壳的方法的,那么我们改一下壳的特征不就可以了吗?这里我给大家介绍一个小工具Scrambler V1.0,它可以将我们加过Aspack2.12壳的文件再做一下二次处理,使加壳文件去掉Aspack2.12壳的标识,防止被自动脱壳或防碍手动脱壳。

我们先给木马服务端加一个Aspack2.12的壳,我们打开Aspack2.12并点击“打开”按钮,选择我们要加密的文件点击“确定”程序就会直接将其加密。下面我们打开Scrambler V1.0点击“应用”按钮,这里会弹出个错误对话框,我们点击“是”即可(如图3)。

然后再弹出的对话框中选择我们刚刚加过Aspack2.12壳的文件,并点击“确定”程序会直接自动处理。我们在用PEID查一下,提示“什么都没找到  *”(如图4)。说明我们已经处理成功了。

 

小知识:什么是PEID?

PEID是一款非常棒的查壳工具,他可以查出软件加了什么壳,而且查壳速度非常快!最重要的是更新速度也比较快。

 

(2)加多层壳

对付杀毒软件的方法还有加多层壳这一免杀技巧,只要你加的层数够多,就可以躲过杀毒软件的魔爪。如果再搭配上变态壳配合,那免杀效果就一个字“地球人都知道!”呵呵!

但是如果壳加的不对头,服务端可是就运行不了啦!怎么办呢?所以一时间出现了先加什么壳,再加什么壳的“加壳公式”,但是这样就失去了多层夹克的优势。为了解决问题,黑客们想出了一个妙点子,理论上可以让我们的木马加无数层壳!这里只需要用一个叫做freeRes的程序就可以轻松达到目标!

虽然我们可以加无数层壳,但是这里面还是有一定的规律的,建议大家应该先加加密壳,在加压缩壳。当然这也不是绝对的,你也可以不这么加。但是容易出现问题。

 

小知识:什么是加密壳,而什么又是压缩壳?

加密壳的任务是加密,一般用加密壳加密的文件都会比原文件大;而压缩壳的主要任务是压缩文件,使其体积减小,一般压缩率可达到50%左右。

 

我们先运行一款猛壳Hying's PE-Armor,我们打开Hying's PE-Armor后点击“…”选择要保护的文件(如图5)。

然后点击“设置1”选项卡如图6所示选择相应选项。

在“设置2”里我们钩选“将自身隐藏为:”选项,并选择伪装方式(如图7)。下面我们在回到“处理”选项卡点击“保护”按钮即可。这时我们已经将这个猛壳加到我们的木马服务端了。

下一步请出我们的主角freeRes出场,我们运行freeRes后将我们加完壳的服务端托甩到freeRes的主界面里加载,这时一般会弹出一个对话框提示用户载入资源错误,它可能已经被压缩,询问用户是否释放资源继续分析,我们单击“是”即可,然后点击“功能菜单”里的“建立可编辑资源”选项(如图8)。

即可生成一个新的EXE文件。这里要提醒大家注意的是,当你用freeRes释放资源后目标程序会被执行,也就是说如果你用freeRes载入木马服务端的话那么它就会被执行。如果你在配制木马时选择了类似“执行后删除原文件”选项的话,那么你的木马在加载完毕后会被删除,所以要注意及时备份木马服务端,以免发生意外。

下面我们在用一款商业猛壳Obsidium对用freeRes处理完的木马在加一次壳。由于是商业用途的壳,所以操作有些麻烦,我们打开软件后需要先点击“创建方案”按钮,在弹出的对话框中选择“是”,这里我们可以随便起一个名字保存到一个地方(如图9),然后在弹出的对话框中在次随便起一个名字即可。

下面我们选择那个小锁的图标进入保护应用程序界面,我们在“设置”选项卡里的“选择输出目录”项随便选择一个目录。设置完毕后我们在“可执行文件”选项卡里单击“添加”按钮(如图10)。

然后我们在弹出对话框中的“输入文件”里选择我们的木马程序,在“输出文件”里给文件随便取个名字,直接点击“确定”即可。然后点击Obsidium界面下面的“保护全部”就完成了加壳操作。

接下来就是在次使用freeRes释放资源,然后在次加壳……直到不被查杀为止。

关于加多层壳的技巧到这里就讲完了,大家是不是觉得有些麻烦呢?其实免杀确实是一件麻烦事,不管是高手还是新手,都是这样的,但是对于新手还是有一些简单的方法的。

(3)更改入口点

不知道大家看到“入口点”眼晕没有,其实很简单!大家不用知道入口点是作什么,只要记住通过这样处理的木马一般情况下可以过瑞星的内存查杀就可以了。

这里我们要用到一款叫做Ollydbg的软件,打开程序后还是利用老方法将我们服务端直接托甩到Ollydbg里加载(如图11)。

大家看到“PUSH EBP”了吗,我们只要将它改为“POP EBP”就可以了!怎么改?程序被Ollydbg成功加载后鼠标不要乱点,直接按一下空格键即可调出更改界面,我们将里面的“PUSH EBP”改为“POP EBP”,然后点击“汇编”按钮即可(如图12),不过要记住一定不要选择“用NOP填充”这个选项!

改完之后,下面就是保存了,我们在Ollydbg的界面里单击鼠标右键,在弹出的菜单里选择“复制到可执行文件” →“所有修改”(如图13)。

在弹出的对话框中点击“全部复制”按钮,这时程序会跳到一个新的界面,我们在单击右键,然后选择“保存文件”即可(如图14)。

经过这样处理的程序一般情况下就可以躲过瑞星的内存查杀了。

(4)用Vmportect加密:

Vmportect是新一代的软件保护程序,利用虚拟机保护代码,可以对指定的部分区段进行加密,能让被保护的程序复杂化,最开始他被用于PcShare里的SYS文件免杀,效果值得称道!其实对于普通文件他照样发挥的比较出色!下面我们就用他来加密我们的木马。

打开Vmportect后依次选择菜单栏上的“文件”→“打开”选择我们的木马程序载入,然后点击“添加地址”按钮(如图15)。

并选则是即可,最后点击“编辑”按钮即可对以004A1E48开头的区段进行加密(如图16)。怎么样,还算简单吧?下面还有更简单的!

(5)工具加花

还有一种方法就是加花,所谓的加花指的就是在文件头中写入一些垃圾代码,使杀毒软件无法顺利找到正确的软件信息。对于花指令,还是手动加花的效果比较好,但是鉴于其涉及到反汇编知识,所以在这里为大家介绍一下工具加花的方法。

关于加花的工具网上有很多,他们大体的操作步骤都基本一样,这里我就简单给大家介绍一下花指令添加器2.0的使用方法。运行程序后电击“浏览”打开我们的木马程序,然后下拉菜单中选择你需要的花指令。区段名我们保持默认即可,如果要自定义的话最好不要超过8个字节,区段大小处我们填256,然后点击“加花”按钮即可成功加花(如图17)。

这里要补充的是加花最好要在加壳之前进行,否则有可能会失败。另外虽然加花的成功率很高,但是也有例外的时候,这时大家可以考虑用别的加花工具进行操作,为此我特意收集了一些加花工具,以收录在X档案的配套光盘中。

(6)入口点加1

呵呵,又涉及到入口点了,不过大家还是不用担心,看我的操作就明白了。

我们首先打开PEditor,还是直接将木马文件拖甩到PEditor界面里进行加载。大家只要将入口点的数值加1即可,我们现在的入口点是000A1E48,加1之后也就是000A1E49,改过来之后点击“应用更改”按钮即可完成一个免杀操作步骤了(如图18)。

有的朋友要问了,那么我的最后一位如果不是数字怎么办啊?其实很简单,如果最后一位是字母,例如B,那么我们直接改成C就可以了。但是如果F的话就有点特殊了,我们需要将倒数第二位在加1,第一位改为0。例如后两位是2F,那么改完之后就应该是30。

    关于免杀的初步内容大致就是这些,希望大家能学以致用。最后再让我们总结一下免杀的思路。

    对于免杀,他的主题永远都是改掉自身特征码,我们可以利用加花来打乱文件结构欺骗杀毒软件,可以通过加壳伪装使特征码在一定条件下不复存在,但是如果要想达到好的免杀效果,一定要注意操作顺序。这里我推荐大家先加花,在用入口点加1的方法处理,然后再用Vmportect加密区段,最后在加多层变态壳。

但是不知道各位朋友想过一个问题没有,虽然我们做了各种各样的处理,但是木马文件的特征码其实始终都没变,如果大家想真正成为免杀的高手,就必须学会针对特征码的免杀!但是关于特征码的免杀由于涉及到别的知识,所以不是本文的讨论内容。你可以参考X档案07年第7的《木马免杀全攻略》一文,如果你想读懂那篇文章,就应该先仔细研究这篇文章,等你完全读懂《木马免杀全攻略》后,那么恭喜你,你已经在免杀上小有成就了。

图文完整无删节版请参见:

《木马免杀全攻略》http://a1pass.blog.163.com/blog/static/2971373220071177293358/

《木马免杀全攻略[续]》http://a1pass.blog.163.com/blog/static/2971373220083453057905/

最后希望大家都能做出自己的免杀小马!欢迎来X档案的论坛找我,我的ID是a1pass。

 


 

  评论这张
 
阅读(3396)| 评论(13)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018