第5章特洛伊木马
视频讲解
古希腊士兵藏在高大的木马中潜入特洛伊城,采用里应外合的战术一举占领了特洛伊城。现在所讲的特洛伊木马侵入远程主机的方式在战术上与古希腊士兵的攻城方式相同。通过这样的解释相信大多数读者对木马入侵主机的方式有所领悟: 它就是通过某些手段潜入对方的计算机系统,并以种种隐蔽方式藏匿在系统中; 系统启动时,木马自动在后台隐蔽运行; *终,这种程序以“里应外合”的工作方式,达到控制对方计算机、窃取关键信息等目的。 特洛伊木马和传统病毒的*大区别是表现欲望不强,通常只采取窃取的手段获取信息,因此,受害者很难发现特洛伊木马的踪迹。即使在反病毒软件日益强大的今天,特洛伊木马仍是非常大的**隐患。绝大多数人不知道木马为何物,会给他们带来多大的危害,所以他们迄今仍不停地从不可信的站点下载可能捆绑了木马的文件。 本章将介绍木马的一些特征、木马入侵的一些常用技术,以及防范和清除方法。在本章的*后,还对几款常见木马程序的防范经验作了较为详细的说明。 本章学习目标 (1) 掌握特洛伊木马的概念。 (2) 掌握木马开发实例。 (3) 掌握木马的工作流程和关键技术。 (4) 掌握木马防范方法。 5.1基 本 概 念 5.1.1木马概述
木马的全称是“特洛伊木马”(Trojan Horse),得名于原荷马史诗《伊利亚特》中的战争手段。在网络**领域中,“特洛伊木马”是一种与远程计算机之间建立起连接,使远程计算机能够通过网络控制用户计算机系统并且可能造成用户的信息损失、系统损坏甚至瘫痪的程序。 一个完整的木马系统由硬件部分、软件部分和具体连接部分组成。 (1) 硬件部分。建立木马连接所必需的硬件实体。 ① 控制端: 对服务端进行远程控制的一方。 ② 服务端: 被控制端远程控制的一方。 ③ Internet: 控制端对服务端进行远程控制,数据传输的网络载体。 (2) 软件部分。实现远程控制所必需的软件程序。 ① 控制端程序: 控制端用以远程控制服务端的程序。 ② 木马程序: 潜入服务端内部,获取其操作权限的程序。 ③ 木马配置程序: 设置木马程序的端口号、触发条件、木马名称等,并使其在服务端藏得更隐蔽的程序。 (3) 具体连接部分。通过Internet在服务端和控制端之间建立一条木马通道所必需的元素。 ① 控制端IP和服务端IP: 即控制端和服务端的网络地址,也是木马进行数据传输的目的地。 ② 控制端端口和木马端口: 即控制端和服务端的数据入口,通过这个入口,数据可直达控制端程序或木马程序。 木马是恶意代码的一种,Back Orifice(BO)、Netspy、Picture、Netbus、Asylum以及冰河、灰鸽子等这些都属于木马种类。综合现在流行的木马程序,它们都有以下基本特征。 1. 欺骗性 为了诱惑攻击目标运行木马程序,并且达到长期隐藏在被控制者机器中的目的,特洛伊木马采取了很多欺骗手段。木马经常使用类似于常见的文件名或扩展名(如dll、win、sys、explorer)的名称,或者仿制一些不易被人区别的文件名(如字母“l”与数字“1”、字母“o”与数字“0”)。它通常修改系统文件中的这些难以分辨的字符,更有甚者干脆就借用系统文件中已有的文件名,只不过保存在不同的路径之中。 还有的木马程序为了欺骗用户,常把自己设置成一个ZIP文件式图标,当用户一不小心打开它时,它就马上运行。以上这些手段是木马程序经常采用的,当然,木马程序编制者也在不断地研究、发掘新的方法。总之,木马程序是越来越隐蔽、越来越专业,所以有人称木马程序为“骗子程序”。 2. 隐蔽性 很多人分不清木马和远程控制软件,木马程序是驻留目标计算机后通过远程控制功能控制目标计算机。实际上它们两者的*大区别就在于是否隐蔽起来。例如,PC Anywhere在服务器端运行时,客户端与服务器端连接成功后客户端机上会出现很醒目的提示标志。而木马类软件的服务器端在运行的时候应用各种手段隐藏自己,不可能出现什么提示,这些黑客们早就想到了方方面面可能发生的迹象,把它们隐藏。木马的隐蔽性主要体现在以下两个方面。 (1) 木马程序不产生图标。它虽然在系统启动时会自动运行,但它不会在“任务栏”中产生一个图标,防止被发现。 (2) 木马程序不出现在任务管理器中。它自动在任务管理器中隐藏,并以“系统服务”的方式欺骗操作系统。 3. 自动运行性 木马程序是一个系统启动时即自动运行的程序,所以它可能潜入在启动配置文件(如win.ini、system.ini、winstart.bat等)、启动组或注册表中。 4. 自动恢复功能 现在很多木马程序中的功能模块已不再由单一的文件组成,而是将文件分别存储在不同的位置。*重要的是,这些分散的文件可以相互恢复,以提高存活能力。 5. 功能的特殊性 一般来说,木马的功能都是十分特殊的,除了普通的文件操作以外,还有些木马具有搜索缓存中的口令、设置口令、扫描目标计算机的IP地址、进行键盘记录、远程注册表的操作以及锁定鼠标等功能。 5.1.2木马的分类 根据木马程序对计算机的具体控制和操作方式,可以把现有的木马程序分为以下几类。 1. 远程控制型木马 远程控制型木马是现在*流行的木马。每个人都想有这样的木马,因为它们可以使控制者方便地想访问受害人的硬盘。远程控制木马可以使远程控制者在宿主计算机上做任意的事情。这种类型的木马有**的BO和“冰河”等。 2. 发送密码型木马 发送密码型木马的目的是为了得到缓存的密码,然后将它们送到特定的Email地址。这种木马的绝大多数在Windows每次加载时自动加载,使用25号端口发送邮件。也有一些木马发送其他的信息,如ICQ相关信息等。如果用户有任何密码缓存在计算机的某些地方,这些木马将会对用户造成威胁。 3. 键盘记录型木马 键盘记录型木马的动作非常简单,它们**做的事情就是记录受害人在键盘上的敲击,然后在日志文件中检查密码。在大多数情况下,这些木马在Windows每次重启的时候加载,它们有“在线”和“下线”两种选项。当用“在线”选项的时候,它们知道受害人在线,会记录每一件事情。当用“下线”选项的时候,受害人做的每一件事情会被记录并保存在受害人的硬盘中等待传送。 4. 毁坏型木马 毁坏型木马的**功能是毁坏和删除文件,使得它们非常简单易用。它们能自动删除计算机上所有的DLL、EXE以及INI文件。这是一种非常危险的木马,一旦被感染,如果文件没有备份,毫无疑问,计算机上的某些信息将永远不复存在。 5. FTP型木马 FTP型木马在计算机系统中打开21号端口,让任何有FTP客户软件的人都可以在不用密码的情况下连上别人的计算机并自由上传和下载。 5.1.3远程控制、木马与病毒 远程控制软件可以为网络管理做很多工作,以保证网络和计算机操作系统的**。这类程序的监听功能也是为了保证网络的**而设计的。木马在技术上和远程控制软件基本相似。它们*大的区别就是木马具有隐蔽性而远程控制软件没有。例如,国内的血蜘蛛,国外的PC Anywhere等都是远程控制软件,这些软件的服务器端在目标计算机上运行时,目标计算机上会出现很醒目的标志。木马类软件的服务器端在运行的时候应用各种手段隐藏自己。 从计算机病毒的定义和特征可以看出,木马程序与病毒有十分明显的区别。*基本的区别就在于病毒有很强的传染性,而木马程序却没有。木马不能自行传播,而是依靠宿主以其他假象来冒充一个正常的程序。由于技术的综合利用,当前的病毒和木马已经融合在一起。例如,**的木马程序YAI由于其中采用了病毒技术,差一点就成了第二个CIH病毒。反过来,计算机病毒也在向木马程序靠近,以便使自己具有远程控制功能。例如,“红色代码”病毒已经具有木马的远程控制功能。