特洛伊木马原理分析

  • 格式:pdf
  • 大小:293.98 KB
  • 文档页数:7

特洛伊⽊马原理分析

特洛伊⽊马是如何⼯作的

⼀般的⽊马程序都包括客户端和服务端两个程序,其中客户端是⽤于攻击者远程控制植⼊

⽊马的机器,服务器端程序即是⽊马程序他所做的第⼀步是要把⽊马的服务器端。攻击者要通

过⽊马攻击你的系统,程序植⼊到你的电脑⾥⾯。

⽬前⽊马⼊侵的主要途径还是先通过⼀定的⽅法把⽊马执⾏⽂件弄到被攻击者的电脑系统

⾥,利⽤的途径有邮件附件、下载软件中等,然后通过⼀定的提⽰故意误导被攻击者打开执⾏

⽂件,⽐如故意谎称这个⽊马执⾏⽂件,是你朋友送给你贺卡,可能你打开这个⽂件后,确实

有贺卡的画⾯出现,但这时可能⽊马已经悄悄在你的后台运⾏了。⼀般的⽊马执⾏⽂件⾮常

⼩,⼤部分都是⼏K到⼏⼗K,如果把⽊马捆绑到其他正常⽂件上,你很难发现,所以,有⼀些

⽹站提供的软件下载往往是捆绑了⽊马⽂件的,你执⾏这些下载的⽂件,也同时运⾏了⽊马。

⽊马也可以通过Script、ActiveX及Asp.CGI交互脚本的⽅式植⼊,由于微软的浏览器在执⾏Senipt脚本存在⼀些漏洞。攻击者可以利⽤这些漏洞传播病毒和⽊马,甚⾄直接对浏览者电脑进

⾏⽂件操作等控制。前不久献出现⼀个利⽤微软Scripts脚本漏洞对浏览者硬盘进⾏格式化的HTML页⾯。如果攻击者有办法把⽊马执⾏⽂件下载到攻击主机的⼀个可执⾏WWW⽬录夹⾥

⾯,他可以通过编制CGI程序在攻击主机上执⾏⽊马⽬录。此外,⽊马还可以利⽤系统的⼀些漏

洞进⾏植⼈,如微软著名的US服务器溢出漏洞,通过⼀个IISHACK攻击程序即可使IIS服务器崩

溃,并且同时攻击服务器,执⾏远程⽊马执⾏⽂件。

当服务端程序在被感染的机器上成功运⾏以后,攻击者就可以使⽤客户端与服务端建⽴连

接,并进⼀步控制被感染的机器。在客户端和服务端通信协议的选择上,绝⼤多数⽊马使⽤的

是TCP/IP协议,但是也有⼀些⽊马由于特殊的原因,使⽤UDP协议进⾏通讯。当服务端在被感

染机器上运⾏以后,它⼀⽅⾯尽量把⾃⼰隐藏在计算机的某个⾓落⾥⾯,以防被⽤户发现;同

时监听某个特定的端⼝,等待客户端与其取得连接;另外为了下次重启计算机时仍然能正常⼯

作。⽊马程序⼀般会通过修改注册表或者其他的⽅法让⾃⼰成为⾃启动程序。

⽊马的隐藏⽅式

1.在任务栏⾥隐藏

这是最基本的隐藏⽅式。如果在windows的任务栏⾥出现⼀个莫名其妙的图标,傻⼦都会

明⽩是怎么回事。要实现在任务栏中隐藏在编程时是很容易实现的。我们以VB为例。在VB中,

只要把from的Visible属性设置为False,ShowInTaskBar设为False程序就不会出现在任务栏⾥

了。

2.在任务管理器⾥隐藏

查看正在运⾏的进程最简单的⽅法就是按下Ctrl+Alt+Del时出现的任务管理器。如果你按下Ctrl+Alt+Del后可以看见⼀个⽊马程序在运⾏,那么这肯定不是什么好⽊马。所以,⽊马会千⽅

百计地伪装⾃⼰,使⾃⼰不出现在任务管理器⾥。⽊马发现把⾃⼰设为 "系统服务“就可以轻松

地骗过去。

因此,希望通过按Ctrl+Alt+Del发现⽊马是不⼤现实的。

3.端⼝

⼀台机器有65536个端⼝,你会注意这么多端⼝么?⽽⽊马就很注意你的端⼝。如果你稍微

留意⼀下,不难发现,⼤多数⽊马使⽤的端⼝在1024以上,⽽且呈越来越⼤的趋势;当然也有占

⽤1024以下端⼝的⽊马,但这些端⼝是常⽤端⼝,占⽤这些端⼝可能会造成系统不正常,这样

的话,⽊马就会很容易暴露。也许你知道⼀些⽊马占⽤的端⼝,你或许会经常扫描这些端⼝,

但现在的⽊马都提供端⼝修改功能,你有时间扫描65536个端⼝么?

4.隐藏通讯

隐藏通讯也是⽊马经常采⽤的⼿段之⼀。任何⽊马运⾏后都要和攻击者进⾏通讯连接,或

者通过即时连接,如攻击者通过客户端直接接⼈被植⼈⽊马的主机;或者通过间接通讯。如通过

电⼦邮件的⽅式,⽊马把侵⼊主机的敏感信息送给攻击者。现在⼤部分⽊马⼀般在占领主机后

会在1024以上不易发现的⾼端⼝上驻留;有⼀些⽊马会选择⼀些常⽤的端⼝,如80、23,有⼀种

⾮常先进的⽊马还可以做到在占领80HTTP端⼝后,收到正常的HTTP请求仍然把它交与Web服务器处理,只有收到⼀些特殊约定的数据包后,才调⽤⽊马程序。

5.隐藏隐加载⽅式

⽊马加载的⽅式可以说千奇百怪,⽆奇不有。但殊途同归,都为了达到⼀个共同的⽬的,

那就是使你运⾏⽊马的服务端程序。如果⽊马不做任何伪装,就告诉你这是⽊马,你会运⾏它

才怪呢。⽽随着⽹站互动化避程的不断进步,越来越多的东西可以成为⽊马的传播介质,JavaScript、VBScript、ActiveX.XLM....⼏乎WWW每⼀个新功能部会导致⽊马的快速进化。

6.最新隐⾝技术

在Win9x时代,简单地注册为系统进程就可以从任务栏中消失,可是在Windows2000盛⾏

的今天。这种⽅法遭到了惨败。注册为系统进程不仅仅能在任务栏中看到,⽽且可以直接在Services中直接控制停⽌。运⾏(太搞笑了,⽊马被客户端控制)。使⽤隐藏窗体或控制台的⽅法

也不能欺骗⽆所不见的Admlin⼤⼈(要知道,在NT下,Administrator是可以看见所有进程的)。

在研究了其他软件的长处之后,⽊马发现,Windows下的中⽂汉化软件采⽤的陷阱技术⾮常适

合⽊马的使⽤。

这是⼀种更新、更隐蔽的⽅法。通过修改虚拟设备驱动程序(VXD)或修改动态遵掇库 (DLL)

来加载⽊马。这种⽅法与⼀般⽅法不同,它基本上摆脱了原有的⽊马模式---监听端⼝,⽽采⽤

替代系统功能的⽅法(改写vxd或DLL⽂件),⽊马会将修改后的DLL替换系统已知的DLL,并对所

有的函数调⽤进⾏过滤。对于常⽤的调⽤,使⽤函数转发器直接转发给被替换的系统DLL,对于

⼀些相应的操作。实际上。这样的事先约定好的特种情况,DLL会执⾏⼀般只是使⽤DLL进⾏监

听,⼀旦发现控制端的请求就激活⾃⾝,绑在⼀个进程上进⾏正常的⽊马操作。这样做的好处

是没有增加新的⽂件,不需要打开新的端⼝,没有新的进程,使⽤常规的⽅法监测不到它。在

往常运⾏时,⽊马⼏乎没有任何瘫状,且⽊马的控制端向被控制端发出特定的信息后,隐藏的

程序就⽴即开始运作。

特洛伊⽊马具有的特性

1.包含⼲正常程序中,当⽤户执⾏正常程序时,启动⾃⾝,在⽤户难以察觉的情况下,完成

⼀些危害⽤户的操作,具有隐蔽性

由于⽊马所从事的是 "地下⼯作",因此它必须隐藏起来,它会想尽⼀切办法不让你发现

它。很多⼈对⽊马和远程控制软件有点分不清,还是让我们举个例⼦来说吧。我们进⾏局域⽹

间通讯的常⽤软件PCanywhere⼤家⼀定不陌⽣吧?我们都知道它是⼀款远程控制软件。PCanywhere⽐在服务器端运⾏时,客户端与服务器端连接成功后,客户端机上会出现很醒⽬的

提⽰标志;⽽⽊马类的软件的服务器端在运⾏的时候应⽤各种⼿段隐藏⾃⼰,不可能出现任何明

显的标志。⽊马开发者早就想到了可能暴露⽊马踪迹的问题,把它们隐藏起来了。例如⼤家所

熟悉⽊马修改注册表和⽽⽂件以便机器在下⼀次启动后仍能载⼊⽊马程式,它不是⾃⼰⽣成⼀

个启动程序,⽽是依附在其他程序之中。有些⽊马把服务器端和正常程序绑定成⼀个程序的软

件,叫做exe-binder绑定程序,可以让⼈在使⽤绑定的程序时,⽊马也⼊侵了系统。甚⾄有个别

⽊马程序能把它⾃⾝的exe⽂件和服务端的图⽚⽂件绑定,在你看图⽚的时候,⽊马便侵⼈了你

的系统。它的隐蔽性主要体现在以下两个⽅⾯:

(1)不产⽣图标

⽊马虽然在你系统启动时会⾃动运⾏,但它不会在 "任务栏"中产⽣⼀个图标,这是容易理

解的,不然的话,你看到任务栏中出现⼀个来历不明的图标,你不起疑⼼才怪呢!

(2)⽊马程序⾃动在任务管理器中隐藏,并以"系统服务"的⽅式欺骗操作系统。

2.具有⾃动运⾏性。

⽊马为了控制服务端。它必须在系统启动时即跟随启动,所以它必须潜⼈在你的启动配置

⽂件中,如win.ini、system.ini、winstart.bat以及启动组等⽂件之中。

3.包含具有未公开并且可能产⽣危险后果的功能的程序。

4.具备⾃动恢复功能。

现在很多的⽊马程序中的功能模块巴不再由单⼀的⽂件组成,⽽是具有多重备份,可以相

互恢复。当你删除了其中的⼀个,以为万事⼤吉⼜运⾏了其他程序的时候,谁知它⼜悄然出现。像幽灵⼀样,防不胜防。

5.能⾃动打开特别的端⼝。

⽊马程序潜⼈你的电脑之中的⽬的主要不是为了破坏你的系统,⽽是为了获取你的系统中

有⽤的信息,当你上⽹时能与远端客户进⾏通讯,这样⽊马程序就会⽤服务器客户端的通讯⼿

段把信息告诉⿊客们,以便⿊客们控制你的机器,或实施进⼀步的⼈侵企图。你知道你的电脑

有多少个端⼝?不知道吧?告诉你别吓着:根据TCP/IP协议,每台电脑可以有256乘以256个端

⼝,也即从0到65535号 "门",但我们常⽤的只有少数⼏个,⽊马经常利⽤我们不⼤⽤的这些端

⼝进⾏连接,⼤开⽅便之 "门"。

6、功能的特殊性。

通常的⽊马功能都是⼗分特殊的,除了普通的⽂件操作以外,还有些⽊马具有搜索cache中

的⼝令、设置⼝令、扫描⽬标机器⼈的IP地址、进⾏键盘记录、远程注册表的操作以及锁定⿏

标等功能。上⾯所讲的远程控制软件当然不会有这些功能,毕竟远程控制软件是⽤来控制远程

机器,⽅便⾃⼰操作⽽已,⽽不是⽤来⿊对⽅的机器的。

 中⽊马后出现的状况

对于⼀些常见的⽊马,如SUB7、BO2000、冰河等等,它们都是采⽤打开TCP端⼝监听和

写⼈注册表启动等⽅式,使⽤⽊马克星之类的软件可以检测到这些⽊马,这些检测⽊马的软件

⼤多都是利⽤检测TCP连结、注册表等信息来判断是否有⽊马⼈侵,因此我们也可以通过⼿⼯

来侦测⽊马。

也许你会对硬盘空间莫名其妙减少500M感到习以为常,这的确算不了什么,天知道Windows的临时⽂件和那些乌七⼋糟的游戏吞噬了⾃⼰多少硬盘空间。可是,还是有⼀些现象

会让你感到警觉,⼀旦你觉得你⾃⼰的电脑感染了⽊马,你应该马上⽤杀毒软件检查⼀下⾃⼰

的计算机,然后不管结果如何,就算是Norton告诉你,你的机器没有⽊马,你也应该再亲⾃作

⼀次更深⼈的调查,确保⾃⼰机器安全。经常关注新的和出名的⽊马的特性报告,这将对你诊

断⾃⼰的计算机问题很有帮助。

(1)当你浏览⼀个⽹站,弹出来⼀些⼴告窗⼝是很正常的事情,可是如果你根本没有打开浏

览器,⽽览浏器突然⾃⼰打开,并且进⼊某个⽹站,那么,你要⼩⼼。

(2)你正在操作电脑,突然⼀个警告框或者是询问框弹出来,问⼀些你从来没有在电脑上接

触过的间题。

(3)你的Windows系统配置⽼是⾃动莫名其妙地被更改。⽐如屏保显⽰的⽂字,时间和⽇

期,声⾳⼤⼩,⿏标灵敏度,还有CD-ROM的⾃动运⾏配置。

(4)硬盘⽼没缘由地读盘,软驱灯经常⾃⼰亮起,⽹络连接及⿏标屏幕出现异常现象。

这时,最简单的⽅法就是使⽤netstat-a命令查看。你可以通过这个命令发现所有⽹络连接,

如果这时有攻击者通过⽊马连接,你可以通过这些信息发现异常。通过端⼝扫描的⽅法也可以

发现⼀些弱智的⽊马,特别是⼀些早期的⽊马,它们捆绑的端⼝不能更改,通过扫描这些固定

的端⼝也可以发现⽊马是否被植⼊。

当然,没有上⾯的种种现象并不代表你就绝对安全。有些⼈攻击你的机器不过是想寻找⼀

个跳板。做更重要的事情;可是有些⼈攻击你的计算机纯粹是为了好玩。对于纯粹处于好玩⽬的