蠕虫和特洛伊木马的工作原理有哪些不同
1 什么是特洛伊木马
特洛伊木马(Trojan Horse,以下简称木马)的名称取自希腊神话的特洛伊木马记。木马就是指那些内部包含为完成特殊任务而编制的代码的程序, 这些特殊功能处于隐藏状态,执行时不为人发觉。特洛伊木马是一种基于远程控制的工具,类似于远端管理软件,其区别是木马具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为防止木马被发现,会采用多种手段隐藏木马;非授权性是指一旦控制端与服务端建立连接后,控制端将窃取服务端的密码及大部分操作权限,包括修改文件、修改注册表、重启或关闭服务端操作系统、断开服务端网络连接、控制服务端的鼠标及键盘、监视服务端桌面操作、查看服务端进程等。这些权限并不是服务端赋予的,而是通过木马程序窃取的。
2 木马的工作原理
完整的木马系统由硬件和软件二部分组成。硬件部分是建立木马连接所必须的硬件实体,包括控制端、服务端和数据传输的网络载体(Internet/Intranet); 软件部分是实现远程控制所必须的软件程序,包括控制端程序和木马程序。利用木马窃取信息、恶意攻击的整个过程可以分为3个部分,下面详细介绍。
2.1 获取并传播木马
木马可以用C或C++语言编写。木马程序非常小,一般只有3~5KB,以便隐藏和传播。木马的传播方式主要有3种:(1)通过E-MAIL。(2)软件下载。(3)依托病毒传播。2001年4月赛门铁克防病毒研究中心发现了植入木马程序的新蠕虫病毒(W32.BACTRANS.13312@MM)。该病毒一旦被执行,木马程序就会修改注册表键值和win.ini文件。当计算机被重启时,该蠕虫会等候3 分钟,然后利用MAPI, 回复所有未读邮件, 并将自己作为邮件的附件,使用不同的名称继续传播。
2.2 运行木马
服务端用户在运行木马或捆绑了木马的程序后,木马首先将自身拷贝到WINDOWS的系统文件夹中(C:\WINDOWS或C:\WINDOWS\SYSTEM目录下), 然后在注册表、启动组和非启动组中设置好木马触发条件,这样木马的安装就完成了。以后,当木马被触发条件激活时,它就进入内存,并开启事先定义的木马端口,准备与控制端建立连接。
2.2 建立连接,进行控制
建立一个木马连接必须满足2个条件:(1)服务端已安装有木马程序。(2)控制端、服务端都要在线。初次连接时还需要知道服务端的IP地址。IP地址一般通过木马程序的信息反馈机制或扫描固定端口等方式得到。木马连接建立后,控制端端口和木马端口之间将会有一条通道,控制端程序利用该通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远程控制。
3 用VB6.0编写的木马程序
下面用VB6.0编写的一个木马程序来说明木马程序的工作原理。
(1)用VB建立2个程序:客户端程序Client和服务器端程序Server。
(2)在Client工程中建立一个窗体,加载WinSock控件,称为Win_Client,协议选择TCP。再加入一个文本框,用于输入服务器的IP地址或服务器名。然后加入一个按钮,按下之后就可以对连接进行初始化。代码如下:
Private Sub cmdConnect_Click()
Win_Client.RemoteHost=Text1.Text
Win_Client.Connect
Timer1.Enabled=True
End Sub
(3)建立连接后就可以使用DataArrival事件处理收到的数据了。
(4)在服务器端Server工程中也建立一个窗体,窗体的visible属性设置为False。加载WinSock控件, 称为Win_Server,协议选择TCP。在Form_Lad事件中加入以下代码:
Private Sub Form_Load()
Win_Server.LocalPort=2001 ‘自定义的端口号
Win_Server.Listen
End Sub
(5)准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答客户端程序的请求,代码如下:
Private Sub Win_Server_ConnectionRquest(ByValrequestID As Long)
If Win_Server.State sckClosed Then
Win_Server.Close ‘检查控件的State属性是否为关闭的
End If ‘如果不是,在接受新的连接之前先关闭此连接
Win_Server.Accept requestID
End Sub
(6)这样在客户端程序按下连接按钮后,服务器端程序的ConnectionRequest事件即被触发, 执行以上代码。如果不出意外,连接将被建立起来。
(7)建立连接后服务器端的程序通过JDataArrival事件接收客户机端程序发出的指令运行既定程序。DataArrival事件程序如下:
Private Sub Win_Server_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim I As Long
Win_Server.GetData strData ‘接收数据并存入strData
For i=1 ToLen(strData) ‘分离strData中的命令
If Mid(strData,I,1)=”@” Then
mKey=Left(strData,i-1 ‘把命令ID号存入mKey
strData=Right(strData,Len(strData)-i) ‘把命令参数存入strData
Exit Fof
Ene If
Next i
Select Case Val*mKey)
Case i ‘i为一系列命令的定义,如截获驱动器名、目录名、文件名、强制关闭服务器端的计算机,强制重启服务器端的计算机,屏蔽任务栏窗口,屏蔽开始菜单,按照客户机端传来的文件名或目录名删除它们,屏蔽热启动键,运行服务器端的任何程序。
……
End Select
EneSub
(8)客户机端用Win_Client.SendData发命令。命令包括命令ID和命令参数,它们用符号”@”隔开。
(9)当客户机端断开与服务器端的连接后,服务器端应用Win_Server_Close事件继续准备接收客户机端的请求,其代码如下:
Private Sub tcpServer_Close()
Win_Server.Close
Win_Server.Listen
End Sub
以上是一个最基本的特洛伊木马程序。只要机器运行了服务器端程序, 别人就可以在千里之外控制这台计算机。
4 发现和清除木马
杀毒软件主要是针对已知病毒设计的,而新病毒却层出不穷,特别是在有些特洛伊木马类病毒刚出现时,由于杀毒软件没有建立病毒库,大都无能为力。因此,学习一些手工检查特洛伊木马的方法是很有必要的。下面简单介绍一种在Win9x系统下手工发现和清除木马的方法。
TCP服务程序都需要Listen在某个端口(port)上,客户端程序才能与其建立连接, 进行数据传输。可以用Win9x的命令netstat -an查看所有的活动连接, 典型输出如下:
C:\WINDOWSnetstat –an
Active Connections
Proto Local Address Foreign Address State
TCP 192.168.1.92:137 0.0.0.0:0 LISTENING
TCP 192.168.1.92:138 0.0.0.0:0 LISTENING
UDP 192.168.1.92:137 *:*
UDP 192.168.1.92:138 *:*
其中”Local Address”栏即本机IP地址,冒号后为port号。正常情况下没有安装其它TCP服务时,上述输出只有137~139几个port处于Listen状态; 若未安装其它TCP服务程序,但在netstat -an的输出中发现有别的port处于Listen状态则该机器已经被感染了木马。这里需要说明2点:1 “Local Address”栏中IP地址若为127.0.0.1则无害, 而IP地址若为0.0.0.0且port不是137~139则要引起注意了。2有的木马比较隐蔽,平时是看不到它,只有当机器接入Internet时它才处于Listen状态。在上网过程中要下载软件、收发信件、网上聊天等必然打开一些端口,下面是一些常用的端口:
(1)1~1024之间的端口:这些是保留端口,是某些对外通信程序专用的,如FTP 使用21,SMTP使用25,POP3使用110等。木马很少使用这些保留端口。
(2)1025以上的连续端口:在上网浏览时,浏览器会打开多个连续的端口将文字、图片下载到本地硬盘。这些端口都是1025以上的连续端口。
(3)4000端口是QICQ的通信端口。6667端口是IRC的通信端口。
上述的端口基本可以排除在外。若发现还有其它端口打开,尤其是数值比较大的端口,就要怀疑是否感染了木马。当然如果木马有定制端口的功能,则任何端口都有可能是木马端口。
如果用netstat -an发现了异常(有时在使用系统时也能感到异常),应该从以下8个方面检查:
(1)WIN.INI:用文本方式打开WINDOWS目录下的配置文件win.ini。在[windows]字段中有启动命令”load=”和“run=”,一般情况下“=”右边是空白的,否则就有可能是木马。
(2)SYSTEN.INI:用文本方式打开WINDOWS目录下的配置文件system.ini。若发现字段[386Enh]、[mic]和[drivers32]中有命令行,则需要检查其中是否有木马的启动命令。此外,[BOOT]字段下面有条命令“shell=wxplorer.exe”,如果是“shell=explorer 程序名”,则后面跟着的那个程序就是“木马”程序。
(3)Autoexec.bat和Config.sys:系统盘根目录下的这2个文件也可以启动木马。但这种加载方式需要控制端用户与服务端建立连接后, 将已加入木马启动命令的同名文件上传到服务端覆盖这二个文件。
(4)*INI:即应用程序的启动配置文件。控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖相应文件,就可以启动木马。
(5)注册表1:打开HKEY_LOCAL_MACHINE\Softwae\Microsoft\Windows\CurrentVersion\
下5个以Run和Run-Services开头的主键,在其中寻找可能是启动木马的键值。
(6)注册表2:打开HKEY_CLASES_ROOT\文件类型\shell\open\command主键,查看其键值。如国产木马“冰河”就是修改HKEY_CLASES_ROOT\txtfile\shell\open\command下的键值, 将“C:WINDOWS\NOTEPAD.EXE%1”更改为“C:WINDOWS\SYSTEM\SYSEXPLR.EXE%1”。此时只要双击TXT文件, 本来是要应用NOTEPAD打开文件,而实际上却启动了木马程序。其实不只是TXT文件,通过修改HTML、EXE、ZIP等文件的启动
命令的键值都可以启动木马。不同之处只在于“文件类型”这个主键,TXT的主键是txtfile,ZIP的主键是WINZIP。
(7)捆绑文件:实现该触发条件首先要控制端和服务端已通过木马建立连接, 接着控制端用户用工具软件将木马文件和某个应用程序捆绑在一起,然后上传到服务端覆盖原文件。这样即使木马被删除了,只要运行捆绑着木马的应用程序,木马就又会被重新安装。
(8)启动菜单:在“ 开始/程序/启动”选项下也可能有木马的触发条件。
如果在以上+ 项检查中发现有可疑程序,则将其连同该注册表项一同删除,再重启系统,木马就会被清除。这里还需要几点说明:
(1)木马正在运行时,无法删除其程序。须重新启动、
进入dos方式将其删除。
(2)有的木马能够自动检查它在注册表中的自启动项。如果在木马处于活动时删除该项,它可以自动恢复。此时只能重启进入DOS方式, 将其程序删除后再进入Wi9x下,将其注册表中的自启动项剔除(操作顺序不能错)。
(3)在删除和修改注册表前一定要先做备份(注册表的备份与恢复可以用regedit中的“导出注册表”和“引入注册表”来完成)。
网络蠕虫的定义
功能结构及工作机制
网络蠕虫的定义
早期恶意代码的主要形式是计算机
病毒。1988年“Morris”蠕虫爆发
后,Spafford为了区分蠕虫和病毒,
对病毒重新进行了定义,他认为,
“计算机病毒是一段代码,能把自身
加到其它程序包括操作系统上;它不
能独立运行,需要由它的宿主程序运
行来激活它”。而网络蠕虫强调自身
的主动性和独立性。l(ienzle和E1der从
破坏性、网络传播、主动攻击和独立
性四个方面对网络蠕虫进行了定义:
网络蠕虫是通过网络传播,无需用户
干预能够独立地或者依赖文件共享主动
攻击的恶意代码。根据传播策略,他
们把网络蠕虫分为三类:Ema订蠕虫、
文件共享蠕虫和传统蠕虫。《Internet
蠕虫研究》一文中认为蠕虫具有主动
攻击、行踪隐蔽、利用漏洞、造成
网络拥塞、降低系统性能、产生安全
隐患、反复性和破坏性等特征,并给
出相应的定义:“网络蠕虫是无须计
算机使用者干预即可运行的独立程序,
它通过不停的获得网络中存在漏洞的计
算机上的部分或全部控制权来进行传播。”该定义包含了Kienzle和Elder定
义的后两类蠕虫,不包括Email蠕虫。
2 oo 3年1 o月的世界蠕虫会议上,
schechter和Michael D.smitll提出了一类
新型网络蠕虫,Access For sale蠕虫,
这类蠕虫除上述定义的特征之外,还
具备身份认证的特征。
综合上述分析,本文认为“网络
蠕虫是一种智能化、自动化,综合网
络攻击、密码学和计算机病毒技术,
无需计算机使用者干预即可运行的攻击
程序或代码,它会扫描和攻击网络上
存在系统漏洞的节点主机,通过局域
网或者国际互联网从一个节点传播到另
外一个节点”。该定义体现了新一代
网络蠕虫智能化、自动化和高技术化
的特征。
电脑木马病毒和蠕虫的区别有哪些
什么是木马?
木马(Trojan Horse),是从希腊神话里面的“特洛伊木马”得名的,希腊人在一只假装人祭礼的巨大木马中藏匿了许多希腊士兵并引诱特洛伊人将它运进城内,等到夜里马腹内士兵与城外士兵里应外合,一举攻破了特洛伊城。而现在所谓的特洛伊木马正是指那些表面上是有用的软件、实际目的却是危害计算机安全并导致严重破坏的计算机程序。它是具有欺骗性的文件(宣称是良性的,但事实上是恶意的),是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,也难以确定其具体位置;所谓非授权性是指一旦控制端与服务端连接后,控制端将窃取到服务端的很多操作权限,如修改文件,修改注册表,控制鼠标,键盘,窃取信息等等。一旦中了木马,你的系统可能就会门户大开,毫无秘密可言。特洛伊木马与病毒的重大区别是特洛伊木马不具传染性,它并不能像病毒那样复制自身,也并不"刻意"地去感染其他文件,它主要通过将自身伪装起来,吸引用户下载执行。特洛伊木马中包含能够在触发时导致数据丢失甚至被窃的恶意代码,要使特洛伊木马传播,必须在计算机上有效地启用这些程序,例如打开电子邮件附件或者将木马捆绑在软件中放到网络吸引人下载执行等。现在的木马一般主要以窃取用户相关信息为主要目的,相对病毒而言,我们可以简单地说,病毒破坏你的信息,而木马窃取你的信息。典型的特洛伊木马有灰鸽子、网银大盗等。
什么是病毒?
计算机病毒(Computer Virus),根据《中华人民共和国计算机信息系统安全保护条例》,病毒的'明确定义是“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。病毒必须满足两个条件:
1、它必须能自行执行。它通常将自己的代码置于另一个程序的执行路径中。
2、它必须能自我复制。例如,它可能用受病毒感染的文件副本替换其他可执行文件。病毒既可以感染桌面计算机也可以感染网络服务器。
此外,病毒往往还具有很强的感染性,一定的潜伏性,特定的触发性和很大的破坏性等,由于计算机所具有的这些特点与生物学上的病毒有相似之处,因些人们才将这种恶意程序代码称之为“计算机病毒”。一些病毒被设计为通过损坏程序、删除文件或重新格式化硬盘来损坏计算机。有些病毒不损坏计算机,而只是复制自身,并通过显示文本、视频和音频消息表明它们的存在。即使是这些良性病毒也会给计算机用户带来问题。通常它们会占据合法程序使用的计算机内存。结果,会引起操作异常,甚至导致系统崩溃。另外,许多病毒包含大量错误,这些错误可能导致系统崩溃和数据丢失。令人欣慰的是,在没有人员操作的情况下,一般的病毒不会自我传播,必须通过某个人共享文件或者发送电子邮件等方式才能将它一起移动。典型的病毒有黑色星期五病毒等。
什么是蠕虫?
蠕虫(worm)也可以算是病毒中的一种,但是它与普通病毒之间有着很大的区别。一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合,等等。普通病毒需要传播受感染的驻留文件来进行复制,而蠕虫不使用驻留文件即可在系统之间进行自我复制, 普通病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机。它能控制计算机上可以传输文件或信息的功能,一旦您的系统感染蠕虫,蠕虫即可自行传播,将自己从一台计算机复制到另一台计算机,更危险的是,它还可大量复制。因而在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!局域网条件下的共享文件夹、电子邮件Email、网络中的恶意网页、大量存在着漏洞的服务器等,都成为蠕虫传播的良好途径,蠕虫病毒可以在几个小时内蔓延全球,而且蠕虫的主动攻击性和突然爆发性将使得人们手足无措。此外,蠕虫会消耗内存或网络带宽,从而可能导致计算机崩溃。而且它的传播不必通过“宿主”程序或文件,因此可潜入您的系统并允许其他人远程控制您的计算机,这也使它的危害远较普通病毒为大。典型的蠕虫病毒有尼姆达、震荡波等。
从上面这些内容中我们可以知道,实际上,普通病毒和部分种类的蠕虫还有所有的木马是无法自我传播的。感染病毒和木马的常见方式,一是运行了被感染有病毒木马的程序,一是浏览网页、邮件时被利用浏览器漏洞,病毒木马自动下载运行了,这基本上是目前最常见的两种感染方式了。 因而要预防病毒木马,我们首先要提高警惕,不要轻易打开来历不明的可疑的文件、网站、邮件等,并且要及时为系统打上补丁,最后安装上防火墙还有一个可靠的杀毒软件并及时升级病毒库。如果做好了以上几点,基本上可以杜绝绝大多数的病毒木马。最后,值得注意的是,不能过多依赖杀毒软件,因为病毒总是出现在杀毒软件升级之前的,靠杀毒软件来防范病毒,本身就处于被动的地位,我们要想有一个安全的网络安全环境,根本上还是要首先提高自己的网络安全意识,对病毒做到预防为主,查杀为辅。
电脑病毒问题,请教各位大虾
特洛伊木马完全解析
一位客户的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通信。请参见,了解常见的源代码开放IDS工具。
五、处理遗留问题
检测和清除了特洛伊木马之后,另一个重要的问题浮现了:远程攻击者是否已经窃取了某些敏感信息?危害程度多大?要给出确切的答案很困难,但你可以通过下列问题确定危害程度。首先,特洛伊木马存在多长时间了?文件创建日期不一定值得完全信赖,但可资参考。利用Windows资源管理器查看特洛伊木马执行文件的创建日期和最近访问日期,如果执行文件的创建日期很早,最近访问日期却很近,那么攻击者利用该木马可能已经有相当长的时间了。
其次,攻击者在入侵机器之后有哪些行动?攻击者访问了机密数据库、发送Email、访问其他远程网络或共享目录了吗?攻击者获取管理员权限了吗?仔细检查被入侵的机器寻找线索,例如文件和程序的访问日期是否在用户的办公时间之外?
在安全要求较低的环境中,大多数用户可以在清除特洛伊木马之后恢复正常工作,只要日后努力防止远程攻击者再次得逞就可以了。至于安全性要求一般的场合,最好能够修改一下所有的密码,以及其他比较敏感的信息(例如信用卡号码等)。
在安全性要求较高的场合,任何未知的潜在风险都是不可忍受的,必要时应当调整管理员或网络安全的负责人,彻底检测整个网络,修改所有密码,在此基础上再执行后继风险分析。对于被入侵的机器,重新进行彻底的格式化和安装。
特洛伊木马造成的危害可能是非常惊人的,由于它具有远程控制机器以及捕获屏幕、键击、音频、视频的能力,所以其危害程度要远远超过普通的病毒和蠕虫。深入了解特洛伊木马的运行原理,在此基础上采取正确的防卫措施,只有这样才能有效减少特洛伊木马带来的危害.
我的电脑中了特洛伊变种木马了怎么办啊??求高人赐教
检测和清除特洛伊木马
如果一个企业网络曾经遭受病毒和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通信。请参见,了解常见的源代码开放IDS工具。
什么是病毒、蠕虫和特洛伊木马?
病毒、蠕虫和特洛伊木马是可导致您的计算机和计算机上的信息损坏的恶意程序。它们可能使
Internet
速度变慢,甚至可以使用您的计算机将它们自己传播给您的朋友、家人、同事以及
Web
的其他地方。令人欣慰的是,只要进行一些预防并掌握一些常识,就可以较少遭受这些威胁的侵害。
0条大神的评论