木马免杀

自从病毒与杀毒软件的诞生以来,他们之间的战争就从来没有停止过……多套特征码、自动脱壳、内存杀毒、主动防御等等的出现为网络安全做出了一次次的贡献,当然黑客们也毫不逊,也出现了修改特征码、加双层变态壳、去文件头等新的免杀技术。
  古人云“知己知彼,方能百战不殆!”
  今天,我们就以一个病毒防御工作者的角度来做我们的免杀工作。想不被杀,就要先知道是怎么杀的,还不太懂的朋友赶紧偷偷借机恶补吧。
1.杀毒原理
短址  通常,一个病毒防御工作者拿到一个截获或上报上来的病毒时,先是分析这个病毒文件执行后的动作,所谓“动作”,就是指病毒文件执行后会做哪些操作。例如会生成什么新文件、怎样更改注册表、怎样注册服务、打开什么端口等等。
  搞明白这些后,下一步一般会研究这个病毒的文件结构,然后出与众不同的地方,将其定义为特征码。而这个特征码定义的高明与否,就要看他定义的位置是否刁钻,例如他如果定义的是病毒文件更改注册表键值那部分代码的话,这显然不会太难!因为只要病毒文件更
改键值,99%的情况下这个文件里一定存在被更改键值的字符串,所以到这段字符串的位置就可以定义特征码了。但是针对这种特征码做免杀是非常容易的,只需到相应的位置,并更改字母的大小写即可。而如果从文件头出一段特征码就是非常不容易的事情了……除此之外,所定义的特征码还有一个分支,即内存特征码。所谓内存特征码就是指木马文件运行后释放到内存时所存在的特征,它的原理大体与上面介绍的文件特征码一样。
  当特征码定义出来之后,就会被提交到另外的一个部门,然后进入病毒定义库,当用户更新后,以后杀毒软件在碰到符合要求的文件时就会将其毫不忧郁的杀掉!也就是说,杀毒软件只认特征码,不认文件。
  由此可见,病毒防御工作者寻特征码的方式也不过如此,但这只是定义病毒文件特征码的工作,别的例如修复被感染文件等技术步骤和本文无关,在这也就不介绍了,有兴趣的朋友可以自己研究一下。
2.免杀分类
  免杀的方法有很多,无奈没见哪为朋友综合系统的介绍,也苦了小菜们求学无门,只好掏银子“师傅”,所以我就自告奋勇站出来一次,不足之处还请各位高手多多包涵……
  我个人总结的免杀方法总共分两类,即主动免杀与被动免杀。
一、主动免杀
1.修改字符特征:主动查可能的特征码,包括木马文件修改注册表、生成新文件的名称与路径、注入的进程名等动作,也包括运行过程中可能出现或一定会出现的字符等文件特征。然后出这些字符,并将其修改。
nfj金属防静电2.修改输入表:查此文件的输入表函数名(API Name),并将其移位。
3.打乱文件结构:利用跳转(JMP),打乱文件原有结构。
ktkp-0734.修改入口点:将文件的入口点加1。
5.修改PE段:将PE段移动到空白位置
二、被动免杀
1.修改特征码:用一些工具出特征码并针对特征码做免杀处理。
2.用Vmprotect:使用Vmprotect加密区段。
3.文件加壳:可以用一些比较生僻的壳对木马文件进行保护。
  有的朋友看到这里有可能蒙了,PE、Vmprotect、入口点……这些都是什么意思啊?不要着急,下面我会一一介绍的,只要你看完这篇文章,就一定会成为免杀高手!怎么样?Go!
3.实战演习
1.)修改字符特征
  好,下面我们依然以一个病毒防御工作者的角度来考虑我们每一步应该做什么,然后在利用逆向思维分而治之。
  现在假如我们拿到一个木马样本灰鸽子,首先当然要分析它究竟有什么功能,怎样运行以及怎样保护自己等。其实这一步要求的专业知识是很多的,但考虑到我们的读者,我们暂
且用一个比较简单易行的方法——运行木马AND查看此程序的帮助文档。
  我们打开RegSnap,新建一个快照,打开RegSnap后,点击[新建快照]按钮(如图1),在弹出的对话框中选择[生成所有项目的快照](如图2)。
  然后保存快照,现在已经将RegSnap配置好了,下面运行我们的木马程序(提醒:做免杀时,一定要记住养好随时备分的好习惯,以防止修改错误或是实验运行时破坏、删除木马)。
木马运行完毕后,我们在按照上面的方法重新做一个快照并保存,然后按快捷键F5,在弹出的“比较快照”对话框中选择刚才保存的快照,在“第一个快照”中选择我们刚才第一次保存的快照,而“第二个快照”选择我们后保存的快照存档,很快结果就出来了(如图3)。
  有的朋友对于使用RegSnap收集到的信息感到无力分析,抱怨收集到的东西太多,在这里我简单的介绍一下,首先应注意的是生成做对比的两个快照之间的时间要尽可能短,另外要排除带有OpenSaveMRU的注册表键值,还要排除有关*.rsnp文件的创建读写等操作记录。下面我们就将有用的信息提取出来,逐一分析。
文件列表于 C:\WINDOWS\*.*
新增文件
木马.exe
注册表报告
新增主键
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Documents and Settings\A1Pass-admin\桌面\huigezi\复件
键值: 字符串: "复件 Server02"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*670D*52A1\0000\Class
键值: 字符串: "LegacyDriver"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*670D*52A1\0000\ClassGUID
键值: 字符串: "{8ECC055D-047F-11D1-A537-0000F8753ED1}"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_*6728*9A6C*670D*52A1\0000\Control\ActiveService
键值: 字符串: "木马服务"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\木马服务\Description
键值: 字符串: "灰鸽子服务端程序。远程监控管理."
……
  这里我只摘录了部分关键性的木马动作记录,全部记录请见光盘。通过文件列表我们可以知道木马在WINDOW目录下生成了一个新文件,而通过注册表的监控信息我们也知道了木马是怎样将自己注册为系统服务并自动运行的。
  那么我们回到瑞星的研究分析室,看看那些大哥大们会怎么办……
旋转翼  瑞星大哥:“最近这灰鸽子太猖狂啦!我们是不是应该多定义几套特征码?”
  瑞星大:“恩,不错!先在注册表那定义一套特征码在说吧。”
  A1Pass:“STOP!!”(只见画面突然定格,A1Pass将播放器最小化。)
光触媒仿真花  通过上面的对话,我们可以知道他们要将注册表的某个字符定义为特征码,从上面RegSnap分析出来的记录来看,他们的选择真的是太多了!那么他们究竟会用到哪些呢?其实,就做为一个黑客来讲,只要不影响服务端正常运行,就应该尽量多的改掉木马的所有字符,当然全部改变是不可能的,除非你自己编写木马。
  有的朋友要问了,除了注册表别的就不可以改了吗?答案当然是否定的,譬如生成新文件的名称与路径、注入的进程名等动作,这些我们可以利用WINDOWS对字母大小写不敏感的这一特点直接替换字母的大小写,而对于运行过程中可能出现或一定会出现的字符等我们可以直接将其替换成别的内容。
下面我为大家演示一下怎样更改注入进程的名称。
  首先配置服务端,通过图4我们可以看出来灰鸽子的启动运行是需要“IEXPLORE.EXE”这个进程的,根据注册表的推理,我们可以认为其未加壳的服务端是应该存在“IEXPLORE.E
XE”这一字符串的。既然如此,我们就先请出我们的第一把武器“WinHex”!
  WinHex是一款极为出名16进制编辑器。得到 ZDNetSoftwareLibrary 五星级最高评价,拥有强大的系统效用。在这里,我们只用它来编辑文件,其余不做过多讨论。首先我们用WinHex打开我们的木马文件“”,打开后如图5所示。
  然后我们按[Ctrl]+[F]快捷键调出查文本对话框,输入IEXPLORE.EXE后点击“是”(如图6)。
  结果如图7所示。下面我们就对其进行大小写转换,用鼠标点击要更改的字母(例如I),然后在按键盘上的i,即可完成更改,就象使用WINDOWS的记事本一样。更改完毕后,按[Ctrl]+[S]快捷键保存即可。
  就这么简单?对!就这么简单!其他的例如注册表、生成新文件的名称与路径等等都可以利用此方法更改。
  但是不幸的是,经过这样改后,还不足以对付例如金山、江民等品牌杀毒软件,要想对付这些杀毒软件的查杀,我们还需要对我们的木马进行进一步处理。
厨师帽
  下面,我们开始学习输入表函数(APIName)免杀!
2.)修改输入表
  不知有的朋友是否知道,PE文件的正常运行是离不开其内部输入表函数的,而不同的程序,其内部输入表函数的名称与在文件中的位置是不一样的,所以输入表函数也成了病毒防御工作者制作特征码紧盯的地方之一。在我查出来的关于灰鸽子的特征码来看,“瑞星大哥”已经将其的一处输入表函数作为特征码了。所以掌握输入表函数免杀技巧对于新入门的朋友来说势在必行!   
  [PE文件小知识:PE文件是WINDOWS系统中特有的一种文件结构,它包括PE文件头、输入表与相关资源文件等等]
  经过我的测试,直接单独修改文件内部的输入表函数会导致程序运行不正常甚至崩溃!那就没有办法了吗?我可没那么容易认输!经过一翻苦战,终于让我在LordPE中到了解决办法,同时FoBnN的文章也给了我非常大的启发……
  我们先打开LordPE,点击[PE编辑器]按钮,在弹出的对话框中选中木马文件,打开后点
击[目录](如图8),再点击导入表后面的[…](如图9)。
  在弹出的对话框中我们选择wininet.dll下的InternetOpenUrlA(如图10),有的朋友要问了,为什么非选择InternetOpenUrlA这个输入表函数呢?呵呵!那是因为这个输入表里有特征码哦,关于怎样确定特征码,我在后面会介绍,大家先别着急。

本文发布于:2024-09-23 07:32:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/324667.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   特征   木马   输入   运行   病毒   注册表   更改
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议