经过媒体的广泛宣传,今天的人们对木马都有了一定程度的了解,这对木马的传播起了一定的抑制作用。不用说,这是木马设计者和“牧马人”所不愿见到的,因此他们想出许多办法来伪装木马,以达到降低用户警惕性、欺骗用户的目的。本文的目的就是扒下木马的伪装,还其本来面目,使其像“老鼠过街,人人喊打”那样暴露在人们面前!

首先,介绍一下有关木马的基本概念。木马其实就是一个网络客户/服务程序。网络客户/服务模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机)。作为服务器的主机一般会打开一个默认的端口并进行监听(Listen), 如果有客户机向服务器的这一端口提出连接请求(Connect Request),服务器上的相应程序就会自动运行,来应答客户机的请求,这个程序我们称为守护进程。就我们前面所讲的木马来说,被控制端相当于一台服务器,控制端则相当于一台客户机,被控制端为控制端提供服务。
木马之间传递信息主要是通过端口来进行的。许多刚刚接触电脑的朋友不知道这个“端口”为何方神圣,觉得很神秘。其实,端口即控制端和服务端之间的数据入口,通过这个入口,数据可直达控制端程序或木马程序。我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。比方说,大家浏览网站时就是通过访问服务器的80端口来实现的;发送电子邮件则是通过25端口,收电子邮件是通过110端口;而大家常用的QQ是通过40008000这个端口来进行通信的。
下面我们就来详细了解木马的常用伪装方法。
伪装方法一:给木马服务端程序更名
木马服务端程序的命名有很大的学问。如果不做任何修改,就使用原来的名字,谁不知道这是个木马程序呢?所以木马的命名也是千奇百怪。不过大多是改为和系统文件名差不多的名字,如果您对系统文件不够了解,那可就危险了。例如有的木马把名字改为window.exe,如果不告诉您这是木马的话,您敢删除么?还有的就是更改一些后缀名,比如把dll改为d11等(注意看是数字“11”而非英文字母“ll”),您不仔细看的话,您会发现么?
伪装方法二:
把自己和其它文件捆绑在一起
这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。被捆绑的文件一般是可执行文件(EXE,COM一类的文件)。例如,把木马服务端和某个游戏捆绑成一个文件利用QQ或电子邮件发给别人,运行后他会看到游戏程序正常打开,却不知木马程序已经悄悄在后台运行了,这样作对一般人的迷惑性很大,而且即使他以后重装系统了,如果他的系统中还保存了那个“游戏”的话,就有可能再次中招。
木马程序这样的伪装很常见,用来捆绑的工具也很多,如exe文件捆绑机——ExeBind等,该类程序可以将指定的黑客程序捆绑到任何一个广为传播的热门软件上,使宿主程序执行时,寄生程序(黑客程序)也在后台被执行。当您再次上网时,您已经在不知不觉中被控制住了。您说这个文件捆绑专家恐怖不?而且它支持多重捆绑。实际上是通过多次分割文件,多次从父进程中调用子进程来实现的。
伪装方法三:修改图标
木马服务端所用的图标是很有讲究的,木马经常故意伪装成txtHTML等您可能认为对系统没有多少危害的文件图标,这样很容易诱惑您把它打开。看看,木马是不是很狡猾?著名的木马“聪明基因”就把自己伪装成HTML文件,如果您的系统设置为不显示文件扩展名,那么您就会以为它的服务端是个HTML文件,很容易上当哦!
伪装方法四:冒充图片文件
这是许多黑客常用来骗别人执行木马的方法,就是将木马说成为图像文件,比如说是照片等,应该说这样是最不合逻辑的,但却是最多人中招。
只要入侵者扮成美眉及更改服务端程序的文件名为“类似”图像文件的名称,再假装传送照片给受害者,受害者就会立刻执行它。那又为什么说这是一个不合逻辑的方法呢?图像文件的扩展名根本就不可能是exe,而木马程序的扩展名基本上又必定是exe,明眼人一看就会知道有问题,多数人在接收时一看见是exe文件,便不会接收了,那么黑客又是用什么方法呢?其实方法很简单,他只要把文件名改变,例如把“sex.exe”更改为“sex.jpg.exe”,那么在传送时,对方只会看见sex.jpg了,而到达对方电脑时,因为Windows默认值是不显示扩展名的,所以很多人都不会注意到扩展名这个问题,而恰好您的计算机又是设定为隐藏扩展名的话,那么您看到的只是sex.jpg了,受骗也就在所难免了!
伪装方法五:利用损坏的zip文件
将一个木马和一个损坏的zip包(可自制)捆绑在一起,然后指定捆绑后的文件为zip图标,这样一来,除非别人看了它的后缀,否则点下去将和一般损坏的zip没什么两样,根本不知道其实已经有木马在悄悄运行了。
伪装方法六:把木马伪装成文件夹
把木马文件伪装成文件夹图标后,放在一个文件夹中,然后在外面再套三四个空文件夹,很多人出于连续点击的习惯,点到那个伪装成文件夹木马时,也会收不住鼠标点下去,这样木马就成功运行了。比方说著名的木马黑洞2001的服务端程序用的就是文件夹的图标,如果您以为它是文件夹而去点击那您就错了,它是个不折不扣的EXE文件!识别方法:不要隐藏系统中已知文件类型的扩展名称即可。大家知道,Windows操作系统默认设置为“隐藏已知文件类型的扩展名称”。显示所有文件类型的扩展名称的方法是(以Windows 98系统为例):选择“资源管理器”→“查看”→“文件夹选项”→“查看”→“文件和文件夹”,其中有一项目是“隐含已知文件类型的扩展名”,把它前面的“√”取消即可。
伪装方法七:
利用WinRar制作成自释放文件
这是最新的伪装方法,把木马服务端程序和WinRar捆绑在一起,将其制作成自释放文件,这样做了以后是非常难以检查的,即使是用最新的杀毒软件也无法发现!识别的方法是:对着经过WinRar捆绑的木马文件点击鼠标右键,查看“属性”,在弹出的“属性”对话框中,会发现多出两个标签“档案文件”和“注释”,点选“注释”标签,您就会发现木马文件了。
伪装方法八:伪装成应用程序扩展组件
此类属于最难识别的木马,也是骗术最高的木马。木马编写者用自己编制的特洛伊dll替换已知的系统dll,并对所有的函数调用进行过滤,对于正常的调用,使用函数转发器直接转发给被替换的系统dll,对于一些事先约定好的特殊情况,dll会执行一些相对应的操作,一个比较简单的方法是起一个进程,虽然所有的操作都在dll中完成会更加隐蔽,但是这大大增加了程序编写的难度,实际上这样的木马大多数只是使用dll进行监听,一旦发现控制端的连接请求就激活自身,启动一个捆绑端口的进程进行正常的木马操作。操作结束后关掉进程,继续进入休眠状况。举个具体的例子,黑客们将写好的文件(例如dllOCX等)挂在一个十分出名的软件中,例如QQ中。由于QQ本身已有一定的知名度,没有人会怀疑它的安全性,更不会有人检查它的文件是否多了。而当受害者打开QQ时,这个有问题的文件就会同时执行。此种方式相比起用合并程序有一个更大的危害,那就是不用更改被入侵者的登录文件,以后每当其打开OICQ时木马程序就会同步运行,相对于一般的木马可说是“踏雪无痕”。目前,有些木马就是采用的这种内核插入式的嵌入方式,利用远程插入线程技术,嵌入dll线程。或者挂接PSAPI,实现木马程序的隐藏,甚至在Windows NT/2000下,都达到了很高的隐藏效果。这样的木马对一般电脑用户来说简直是一个噩梦。防范它的方法就是小心小心再小心!
伪装方法九:出错显示
有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框(这当然是假的),错误内容大多是一些诸如“文件已破坏,无法打开的!”之类的信息,当服务端用户信以为真时,木马却悄悄侵入了系统。
伪装方法十:自我销毁  
这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马会将自己拷到Windows的系统文件夹中(C:WindowsC:Windowssystem目录下),一般来说原木马文件和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么中了木马的朋友只要在近来收到的信件和下载的软件中找到原木马文件,然后根据原木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,原木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马工具的帮助下,就很难删除木马了。