特洛伊木马完全解析
一位客户的PC出现了奇怪的症状,速度变慢,CD-ROM托盘毫无规律地进进出出,从来没有见过的错误信息,屏幕图像翻转,等等。我切断了他的Internet连接,然后按照对付恶意软件的标准步骤执行检查,终于找出了罪魁祸首:两个远程访问特洛伊木马——一个是Cult of the Dead Cow臭名昭著的Back Orifice,还有一个是不太常见的The Thing。在这次事件中,攻击者似乎是个小孩,他只想搞些恶作剧,让别人上不了网,或者交换一些色情资料,但没有什么更危险的举动。如果攻击者有其他更危险的目标,那么他可能已经从客户的机器及其网络上窃得许多机密资料了。
特洛伊木马比任何其他恶意代码都要危险,要保障安全,最好的办法就是熟悉特洛伊木马的类型、工作原理,掌握如何检测和预防这些不怀好意的代码。
一、初识特洛伊木马
特洛伊木马是一种恶意程序,它们悄悄地在宿主机器上运行,就在用户毫无察觉的情况下,让攻击者获得了远程访问和控制系统的权限。一般而言,大多数特洛伊木马都模仿一些正规的远程控制软件的功能,如Symantec的pcAnywhere,但特洛伊木马也有一些明显的特点,例如它的安装和操作都是在隐蔽之中完成。攻击者经常把特洛伊木马隐藏在一些游戏或小软件之中,诱使粗心的用户在自己的机器上运行。最常见的情况是,上当的用户要么从不正规的网站下载和运行了带恶意代码的软件,要么不小心点击了带恶意代码的邮件附件。
大多数特洛伊木马包括客户端和服务器端两个部分。攻击者利用一种称为绑定程序的工具将服务器部分绑定到某个合法软件上,诱使用户运行合法软件。只要用户一运行软件,特洛伊木马的服务器部分就在用户毫无知觉的情况下完成了安装过程。通常,特洛伊木马的服务器部分都是可以定制的,攻击者可以定制的项目一般包括:服务器运行的IP端口号,程序启动时机,如何发出调用,如何隐身,是否加密。另外,攻击者还可以设置登录服务器的密码、确定通信方式。
服务器向攻击者通知的方式可能是发送一个email,宣告自己当前已成功接管的机器;或者可能是联系某个隐藏的Internet交流通道,广播被侵占机器的IP地址;另外,当特洛伊木马的服务器部分启动之后,它还可以直接与攻击者机器上运行的客户程序通过预先定义的端口进行通信。不管特洛伊木马的服务器和客户程序如何建立联系,有一点是不变的,攻击者总是利用客户程序向服务器程序发送命令,达到操控用户机器的目的。
特洛伊木马攻击者既可以随心所欲地查看已被入侵的机器,也可以用广播方式发布命令,指示所有在他控制之下的特洛伊木马一起行动,或者向更广泛的范围传播,或者做其他危险的事情。实际上,只要用一个预先定义好的关键词,就可以让所有被入侵的机器格式化自己的硬盘,或者向另一台主机发起攻击。攻击者经常会用特洛伊木马侵占大量的机器,然后针对某一要害主机发起分布式拒绝服务攻击(Denial of Service,即DoS),当受害者觉察到网络要被异乎寻常的通信量淹没,试图找出攻击者时,他只能追踪到大批懵然不知、同样也是受害者的DSL或线缆调制解调器用户,真正的攻击者早就溜之大吉。
二、极度危险的恶意程序
对于大多数恶意程序,只要把它们删除,危险就算过去,威胁也不再存在,但特洛伊木马有些特殊。特洛伊木马和病毒、蠕虫之类的恶意程序一样,也会删除或修改文件、格式化硬盘、上传和下载文件、骚扰用户、驱逐其他恶意程序,例如,经常可以看到攻击者霸占被入侵机器来保存游戏或攻击工具,用户所有的磁盘空间几乎都被侵占殆尽,但除此之外,特洛伊木马还有其独一无二的特点——窃取内容,远程控制——这使得它们成为最危险的恶意软件。
首先,特洛伊木马具有捕获每一个用户屏幕、每一次键击事件的能力,这意味着攻击者能够轻松地窃取用户的密码、目录路径、驱动器映射,甚至医疗记录、银行帐户和信用卡、个人通信方面的信息。如果PC带有一个麦克风,特洛伊木马能够窃听谈话内容。如果PC带有摄像头,许多特洛伊木马能够把它打开,捕获视频内容——在恶意代码的世界中,目前还没有比特洛伊木马更威胁用户隐私的,凡是你在PC前所说、所做的一切,都有可能被记录。
一些特洛伊木马带有包嗅探器,它能够捕获和分析流经网卡的每一个数据包。攻击者可以利用特洛伊木马窃取的信息设置后门,即使木马后来被清除了,攻击者仍可以利用以前留下的后门方便地闯入。
其次,如果一个未经授权的用户掌握了远程控制宿主机器的能力,宿主机器就变成了强大的攻击武器。远程攻击者不仅拥有了随意操控PC本身资源的能力,而且还能够冒充PC合法用户,例如冒充合法用户发送邮件、修改文档,当然还可以利用被侵占的机器攻击其他机器。二年前,一个家庭用户请我帮忙,要我帮他向交易机构证明他并没有提交一笔看来明显亏损的股票交易。交易机构确实在该笔交易中记录了他的PC的IP地址,而且在他的浏览器缓冲区中,我也找到了该笔有争议的交易的痕迹。另外,我还找到了SubSeven(即Backdoor_G)特洛伊木马的迹象。虽然没有证据显示出特洛伊木马与这笔令他损失惨重的股票交易直接有关,但可以看出交易发生之时特洛伊木马正处于活动状态。
三、特洛伊木马的类型
常见的特洛伊木马,例如Back Orifice和SubSeven等,都是多用途的攻击工具包,功能非常全面,包括捕获屏幕、声音、视频内容的功能。这些特洛伊木马可以当作键记录器、远程控制器、FTP服务器、HTTP服务器、Telnet服务器,还能够寻找和窃取密码。攻击者可以配置特洛伊木马监听的端口、运行方式,以及木马是否通过email、IRC或其他通信手段联系发起攻击的人。一些危害大的特洛伊木马还有一定的反侦测能力,能够采取各种方式隐藏自身,加密通信,甚至提供了专业级的API供其它攻击者开发附加的功能。由于功能全面,所以这些特洛伊木马的体积也往往较大,通常达到100 KB至300 KB,相对而言,要把它们安装到用户机器上而不引起任何人注意的难度也较大。
对于功能比较单一的特洛伊木马,攻击者会力图使它保持较小的体积,通常是10 KB到30 KB,以便快速激活而不引起注意。这些木马通常作为键记录器使用,它们把受害用户的每一个键击事件记录下来,保存到某个隐藏的文件,这样攻击者就可以下载文件分析用户的操作了。还有一些特洛伊木马具有FTP、Web或聊天服务器的功能。通常,这些微型的木马只用来窃取难以获得的初始远程控制能力,保障最初入侵行动的安全,以便在不太可能引起注意的适当时机上载和安装一个功能全面的大型特洛伊木马。
随便找一个Internet搜索网站,搜索一下关键词Remote Access Trojan,很快就可以得到数百种特洛伊木马——种类如此繁多,以至于大多数专门收集特洛伊木马的Web网站不得不按照字母顺序进行排列,每一个字母下有数打甚至一百多个木马。下面我们就来看看两种最流行的特洛伊木马:Back Orifice和SubSeven。
■ Back Orifice
1998年,Cult of the Dead Cow开发了Back Orifice。这个程序很快在特洛伊木马领域出尽风头,它不仅有一个可编程的API,还有许多其他新型的功能,令许多正规的远程控制软件也相形失色。Back Orifice 2000(即BO2K)按照GNU GPL(General Public License)发行,希望能够吸引一批正规用户,以此与老牌的远程控制软件如pcAnywhere展开竞争。
但是,它默认的隐蔽操作模式和明显带有攻击色彩的意图使得许多用户不太可能在短时间内接受。攻击者可以利用BO2K的服务器配置工具可以配置许多服务器参数,包括TCP或UDP、端口号、加密类型、秘密激活(在Windows 9x机器上运行得较好,在Windows NT机器上则略逊一筹)、密码、插件等。
Back Orifice的许多特性给人以深刻的印象,例如键击事件记录、HTTP文件浏览、注册表编辑、音频和视频捕获、密码窃取、TCP/IP端口重定向、消息发送、远程重新启动、远程锁定、数据包加密、文件压缩,等等。Back Orifice带有一个软件开发工具包(SDK),允许通过插件扩展其功能。
默认的bo_peep.dll插件允许攻击者远程控制机器的键盘和鼠标。就实际应用方面而言,Back Orifice对错误的输入命令非常敏感,经验不足的新手可能会使它频繁地崩溃,不过到了经验丰富的老手那里,它又会变得驯服而又强悍。
■ SubSeven
SubSeven可能比Back Orifice还要受欢迎,这个特洛伊木马一直处于各大反病毒软件厂商的感染统计榜前列。SubSeven可以作为键记录器、包嗅探器使用,还具有端口重定向、注册表修改、麦克风和摄像头记录的功能。图二显示了一部分SubSeven的客户端命令和服务器配置选项。
SubSeven具有许多令受害者难堪的功能:攻击者可以远程交换鼠标按键,关闭/打开Caps Lock、Num Lock和Scroll Lock,禁用Ctrl+Alt+Del组合键,注销用户,打开和关闭CD-ROM驱动器,关闭和打开监视器,翻转屏幕显示,关闭和重新启动计算机,等等。
SubSeven利用ICQ、IRC、email甚至CGI脚本和攻击发起人联系,它能够随机地更改服务器端口,并向攻击者通知端口的变化。另外,SubSeven还提供了专用的代码来窃取AOL Instant Messenger(AIM)、ICQ、RAS和屏幕保护程序的密码。
四、检测和清除特洛伊木马
如果一个企业网络曾经遭受病毒和Email蠕虫的肆虐,那么这个网络很可能也是特洛伊木马的首选攻击目标。由于木马会被绑定程序和攻击者加密,因此对于常规的反病毒软件来说,查找木马要比查找蠕虫和病毒困难得多。另一方面,特洛伊木马造成的损害却可能远远高于普通的蠕虫和病毒。因此,检测和清除特洛伊木马是系统管理员的首要任务。
要反击恶意代码,最佳的武器是最新的、成熟的病毒扫描工具。扫描工具能够检测出大多数特洛伊木马,并尽可能地使清理过程自动化。许多管理员过分依赖某些专门针对特洛伊木马的工具来检测和清除木马,但某些工具的效果令人怀疑,至少不值得完全信任。不过,Agnitum的Tauscan确实称得上顶级的扫描软件,过去几年的成功已经证明了它的效果。
特洛伊木马入侵的一个明显证据是受害机器上意外地打开了某个端口,特别地,如果这个端口正好是特洛伊木马常用的端口,木马入侵的证据就更加肯定了。一旦发现有木马入侵的证据,应当尽快切断该机器的网络连接,减少攻击者探测和进一步攻击的机会。打开任务管理器,关闭所有连接到Internet的程序,例如Email程序、IM程序等,从系统托盘上关闭所有正在运行的程序。注意暂时不要启动到安全模式,启动到安全模式通常会阻止特洛伊木马装入内存,为检测木马带来困难。
大多数操作系统,当然包括Windows,都带有检测IP网络状态的Netstat工具,它能够显示出本地机器上所有活动的监听端口(包括UDP和TCP)。打开一个命令行窗口,执行“Netstat -a”命令就可以显示出本地机器上所有打开的IP端口,注意一下是否存在意外打开的端口(当然,这要求对端口的概念和常用程序所用的端口有一定的了解)。
显示了一次Netstat检测的例子,检测结果表明一个Back Orifice使用的端口(即31337)已经被激活,木马客户程序使用的是远程机器(ROGERLAP)上的1216端口。除了已知的木马常用端口之外,另外还要特别留意未知的FTP服务器(端口21)和Web服务器(端口80)。
但是,Netstat命令有一个缺点,它能够显示出哪些IP端口已经激活,但却没有显示出哪些程序或文件激活了这些端口。要找出哪个执行文件创建了哪个网络连接,必须使用端口枚举工具,例如,Winternals Software的TCPView Professional Edition就是一个优秀的端口枚举工具。Tauscan除了能够识别特洛伊木马,也能够建立程序与端口的联系。另外,Windows XP的Netstat工具提供了一个新的-o选项,能够显示出正在使用端口的程序或服务的进程标识符(PID),有了PID,用任务管理器就可以方便地根据PID找到对应的程序。
如果手头没有端口枚举工具,无法快速找出幕后肇事者的真正身份,请按照下列步骤操作:寻找自动启动的陌生程序,查找位置包括注册表、.ini文件、启动文件夹等。然后将机器重新启动进入安全模式,可能的话,用Netstat命令确认一下特洛伊木马尚未装入内存。接下来,分别运行各个前面找出的有疑问的程序,每次运行一个,分别用Netstat命令检查新打开的端口。如果某个程序初始化了一个Internet连接,那就要特别小心了。深入研究一下所有可疑的程序,删除所有不能信任的软件。
Netstat命令和端口枚举工具非常适合于检测一台机器,但如果要检测的是整个网络,又该怎么办?大多数入侵检测系统(Intrusion Detection System,IDS)都具有在常规通信中捕获常见特洛伊木马数据包的能力。FTP和HTTP数据具有可识别的特殊数据结构,特洛伊木马数据包也一样。只要正确配置和经常更新IDS,它甚至能够可靠地检测出经过加密处理的Back Orifice和SubSeven通信。请参见http://www.snort.org,了解常见的源代码开放IDS工具。
五、处理遗留问题
检测和清除了特洛伊木马之后,另一个重要的问题浮现了:远程攻击者是否已经窃取了某些敏感信息?危害程度多大?要给出确切的答案很困难,但你可以通过下列问题确定危害程度。首先,特洛伊木马存在多长时间了?文件创建日期不一定值得完全信赖,但可资参考。利用Windows资源管理器查看特洛伊木马执行文件的创建日期和最近访问日期,如果执行文件的创建日期很早,最近访问日期却很近,那么攻击者利用该木马可能已经有相当长的时间了。
其次,攻击者在入侵机器之后有哪些行动?攻击者访问了机密数据库、发送Email、访问其他远程网络或共享目录了吗?攻击者获取管理员权限了吗?仔细检查被入侵的机器寻找线索,例如文件和程序的访问日期是否在用户的办公时间之外?
在安全要求较低的环境中,大多数用户可以在清除特洛伊木马之后恢复正常工作,只要日后努力防止远程攻击者再次得逞就可以了。至于安全性要求一般的场合,最好能够修改一下所有的密码,以及其他比较敏感的信息(例如信用卡号码等)。
在安全性要求较高的场合,任何未知的潜在风险都是不可忍受的,必要时应当调整管理员或网络安全的负责人,彻底检测整个网络,修改所有密码,在此基础上再执行后继风险分析。对于被入侵的机器,重新进行彻底的格式化和安装。
特洛伊木马造成的危害可能是非常惊人的,由于它具有远程控制机器以及捕获屏幕、键击、音频、视频的能力,所以其危害程度要远远超过普通的病毒和蠕虫。深入了解特洛伊木马的运行原理,在此基础上采取正确的防卫措施,只有这样才能有效减少特洛伊木马带来的危害.
特洛伊木马是指隐藏在正常程序中的一段具有特殊功能的程序,其隐蔽性极好,不易察觉,是一种极为危险的网络攻击手段。为了更好地了解木马,我们先从木马的发展历史谈起。
发展历史
木马的发展可谓惊人,功能不断完善,行动更加隐蔽。趋势科技总结原因如下:第一,添加了“后门”功能。所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。该功能的目的就是收集系统中的重要信息,例如,财务报告、口令及信用卡号。此外,攻击者还可以利用后门控制系统,使之成为攻击其他计算机的帮凶。由于后门是隐藏在系统背后运行的,因此很难被检测到。它们不像病毒和蠕虫那样通过消耗内存而引起注意。第二,添加了击键记录功能。从名称上就可以知道,该功能主要是记录用户所有的击键内容。一定时间后,木马会将击键记录的日志文件发送给恶意用户。恶意用户可以从中找到用户名、口令以及信用卡号。
其中最著名的就是BO2000(BackOrifice)了。它是功能最全的TCP/IP构架的攻击工具,可以搜集信息,执行系统命令,重新设置机器,重新定向网络的客户端/服务器应用程序。感染BO2000后,机器就完全在别人的控制之下,黑客成了超级用户,用户的所有操作都可由BO2000自带的“秘密摄像机”录制成“录像带”。
此外,国产的冰河木马也是一个代表作。它具有简单的中文使用界面,且只有少数流行的反病毒防火墙才能查处冰河的存在。冰河的功能比起国外的木马程序来一点也不逊色。它可以自动跟踪目标机器的屏幕变化,可以完全模拟键盘及鼠标输入,即在使被控制端屏幕变化和监控端产生同步的同时,被监控端的一切键盘及鼠标操作将反映在控制端的屏幕。它可以记录各种口令信息,包括开机口令、屏保口令、各种共享资源口令以及绝大多数在对话框中出现过的口令信息;它可以获取系统信息;还可以进行注册表操作,包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作。
特征和行为
就像电影中展现的一样,特洛伊木马程序表面上是无害的,甚至对没有警戒的用户还是颇有吸引力。趋势科技提醒广大电脑使用者:它们经常隐藏在游戏或图形软件中,但它们却隐藏着恶意。与病毒不同,特洛伊木马不复制自己。一个被木马程序感染的计算机系统将会表现出不寻常的行为或运行得比平时要慢。可能会有一个或多个不寻常的任务在运行(这个症状通常可以通过使用任务管理器或相似的工具查出),或者对计算机的注册表和其他配置文件进行修改。最有,还可能有证据显示,电子邮件信件会在用户不知情的情况下被发送。
传播途径
由于木马是一个非自我复制的恶意代码,因此它们需要依靠用户向其他人发送它们自己的拷贝。木马可以作为电子邮件附件传播,或者它们可能隐藏在用户与其他用户进行交流的文档和其他文件中。它们还可以被其他恶意代码所携带,如蠕虫。最后,木马有时也会隐藏在从互联网上下载的捆绑的免费软件中。当用户安装这个软件时,木马就会在后台被自动秘密安装。
预防
趋势科技安全专家表示,预防其实很简单,就是不要执行任何来历不明的软件或程序,不管是邮件中还是Internet上下载到的。在下载软件时,一定要从正规的网站上下载。针对计算机中的个人敏感数据(口令、信用卡账号等),一定要妥善保护。趋势科技的网络安全个人版防毒软件就针对用户的敏感数据,特别增加了个人私密数据保护功能。利用该功能可将个人重要信息列入保护状态,避免不当外泄。同特洛伊城的人们一样,计算机中了马的人都是自己把马牵回家的,真是“引马入室”。觉得可疑时一定要先检查,再使用。上网的计算机必备防毒软件,一个好的杀毒软件也可以查到绝大多数木马程序,但一定要记得时时更新代码。
哼!我的电脑就有特洛伊木马,有2年了,它等于没有一样!!