四,简述木马病毒对网络支付系统的攻击有哪些形式
网银木马通常针对性较强,木马作者可能首先对某银行的网上交易系统进行仔细分析,然后针对安全薄弱环节编写病毒程序。2013年,安全软件电脑管家截获网银木马最新变种“弼马温”,弼马温病毒能够毫无痕迹的修改支付界面,使用户根本无法察觉。
通过不良网站提供假QVOD下载地址进行广泛传播,当用户下载这一挂马播放器文件安装后就会中木马,该病毒运行后即开始监视用户网络交易,屏蔽余额支付和快捷支付,强制用户使用网银,并借机篡改订单,盗取财产。
扩展资料
木马病毒通常是基于计算机网络的,是基于客户端和服务端的通信、监控程序。客户端的程序用于黑客远程控制,可以发出控制命令,接收服务端传来的信息。服务端程序运行在被控计算机上,一般隐藏在被控计算机中,可以接收客户端发来的命令并执行,将客户端需要的信息发回,也就足常说的木马程序。
木马病毒可以发作的必要条件是客户端和服务端必须建立起网络通信,这种通信是基于IP地址和端口号的。藏匿在服务端的木马程序一旦被触发执行,就会不断将通信的IP地址和端口号发给客户端。
客户端利用服务端木马程序通信的IP地址和端口号,在客户端和服务端建立起一个通信链路。客户端的黑客便可以利用这条通信链路来控制服务端的计算机。
运行在服务端的木马程序首先隐匿自己的行踪,伪装成合法的通信程序,然后采用修改系统注册表的方法设置触发条件,保证自己可以被执行,并且可以不断监视注册表中的相关内容。发现自己的注册表被删除或被修改,可以自动修复。
参考资料来源:百度百科-木马病毒
参考资料来源:百度百科-防止木马病毒
请详细介绍一下木马程序及其原理,和解决办法。
一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。 控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。 控制端绦颍嚎刂贫擞靡栽冻炭刂品�穸说某绦颉?木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。
木马原理
用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步(具体可见下图),下面我们就按这六步来详细阐述木马的攻击原理。
一.配置木马
一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方 面功能:
(1)木马伪装:木马配置程序为了在服务端尽可能的好的隐藏木马,会采用多种伪装手段,如修改图标 ,捆绑文件,定制端口,自我销毁等,我们将在“传播木马”这一节中详细介绍。
(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号 ,ICO号等等,具体的我们将在“信息反馈”这一节中详细介绍。
什么是木马?
特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。
它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
鉴于木马的巨大危害性,我们将分原理篇,防御与反击篇,资料篇三部分来详细介绍木马,希望大家对特洛伊木马这种攻击手段有一个透彻的了解。
原 理 篇
基础知识
在介绍木马的原理之前有一些木马构成的基础知识我们要事先加以说明,因为下面有很多地方会提到这些内容。
一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。 控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。 控制端程序:控制端用以远程控制服务端的程序。 木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。
木马原理
用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步(具体可见下图),下面我们就按这六步来详细阐述木马的攻击原理。
一.配置木马
一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方 面功能:
(1)木马伪装:木马配置程序为了在服务端尽可能的好的隐藏木马,会采用多种伪装手段,如修改图标 ,捆绑文件,定制端口,自我销毁等,我们将在“传播木马”这一节中详细介绍。
(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号 ,ICO号等等,具体的我们将在“信息反馈”这一节中详细介绍。
二.传播木马
(1)传播方式:
木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出 去, 收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为 名义, 将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。
(2)伪装方式:
鉴于木马的危害性,很多人对木马知识还是有一定了解的,这对木马的传播起了一定的抑制作用,这 是木马设计者所不愿见到的,因此他们开发了多种功能来伪装木马,以达到降低用户警觉,欺骗用户的目 的。
(一)修改图标
当你在E-MAIL的附件中看到这个图标时,是否会认为这是个文本文件呢?但是我不得不告 诉你,这也有可能是个木马程序,现在 已经有木马可以将木马服务端程序的图标改成HTML,TXT, ZIP等各种文件的图标,这有相当大的迷 惑性,但是目前提供这种功能的木马还不多见,并且这种 伪装也不是无懈可击的,所以不必整天提 心吊胆,疑神疑鬼的。
(二)捆绑文件
这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的 情况下 ,偷偷的进入了系统。至于被捆绑的文件一般是可执行文件(即EXE,COM一类的文件)。
(三)出错显示
有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序, 木马的 设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务 端用户打开木 马程序时,会弹出一个如下图所示的错误提示框(这当然是假的),错误内容可自由 定义,大多会定制成 一些诸如“文件已破坏,无法打开的!”之类的信息,当服务端用户信以 为真时,木马却悄悄侵入了 系统。
(四)定制端口
很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的 端口就 知道感染了什么木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可 以在1024---65535之间任选一个端口作为木马端口(一般不选1024以下的端口),这样就给判断 所感染木马类型带 来了麻烦。
(五)自我销毁
这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马 会将自己拷贝到WINDOWS的系统文件夹中(C:\WINDOWS或C:\WINDOWS\SYSTEM目录下),一般来说 原木马文件 和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么中了木马 的朋友只要在近来 收到的信件和下载的软件中找到原木马文件,然后根据原木马的大小去系统 文件夹找相同大小的文件, 判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木 马后,原木马文件将自动销毁,这 样服务端用户就很难找到木马的来源,在没有查杀木马的工 具帮助下,就很难删除木马了。
(六)木马更名
安装到系统文件夹中的木马的文件名一般是固定的,那么只要根据一些查杀木马的文章,按 图索骥在系统文件夹查找特定的文件,就可以断定中了什么木马。所以现在有很多木马都允许控 制端用户自由定制安装后的木马文件名,这样很难判断所感染的木马类型了。
三.运行木马
服务端用户运行木马或捆绑木马的程序后,木马就会自动进行安装。首先将自身拷贝到WINDOWS的 系统文件夹中(C:\WINDOWS或C:\WINDOWS\SYSTEM目录下),然后在注册表,启动组,非启动组中设置好木马 的触发条件 ,这样木马的安装就完成了。安装后就可以启动木马了,具体过程见下图:
(1)由触发条件激活木马
触发条件是指启动木马的条件,大致出现在下面八个地方:
1.注册表:打开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五个以Run 和RunServices主键,在其中寻找可能是启动木马的键值。
2.WIN.INI:C:\WINDOWS目录下有一个配置文件win.ini,用文本方式打开,在[windows]字段中有启动 命令 load=和run=,在一般情况下是空白的,如果有启动程序,可能是木马。 3.SYSTEM.INI:C:\WINDOWS目录下有个配置文件system.ini,用文本方式打开,在[386Enh],[mic], [drivers32]中有命令行,在其中寻找木马的启动命令。
4.Autoexec.bat和Config.sys:在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都 需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名 文件上传 到服务端覆盖这两个文件才行。
5.*.INI:即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马 启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。
6.注册表:打开HKEY_CLASSES_ROOT\文件类型\shell\open\command主键,查看其键值。举个例子,国产 木马“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的键值,将“C :\WINDOWS \NOTEPAD.EXE %1”该为“C:\WINDOWS\SYSTEM\SYXXXPLR.EXE %1”,这时你双 击一个TXT文件 后,原本应用NOTEPAD打开文件的,现在却变成启动木马程序了。还要说明 的是不光是TXT文件 ,通过修改HTML,EXE,ZIP等文件的启动命令的键值都可以启动木马 ,不同之处只在于“文件类型”这个主键的差别,TXT是txtfile,ZIP是WINZIP,大家可以 试着去找一下。
7.捆绑文件:实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具 软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使 木马被删 除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。
8.启动菜单:在“开始---程序---启动”选项下也可能有木马的触发条件。
(2)木马运行过程
木马被激活后,进入内存,并开启事先定义的木马端口,准备与控制端建立连接。这时服务端用 户可以在MS-DOS方式下,键入NETSTAT -AN查看端口状态,一般个人电脑在脱机状态下是不会有端口 开放的,如果有端口开放,你就要注意是否感染木马了。下面是电脑感染木马后,用NETSTAT命令查 看端口的两个实例:
其中①是服务端与控制端建立连接时的显示状态,②是服务端与控制端还未建立连接时的显示状态。
在上网过程中要下载软件,发送信件,网上聊天等必然打开一些端口,下面是一些常用的端口:
(1)1---1024之间的端口:这些端口叫保留端口,是专给一些对外通讯的程序用的,如FTP使用21, SMTP使用25,POP3使用110等。只有很少木马会用保留端口作为木马端口 的。
(2)1025以上的连续端口:在上网浏览网站时,浏览器会打开多个连续的端口下载文字,图片到本地 硬盘上,这些端口都是1025以上的连续端口。
(3)4000端口:这是OICQ的通讯端口。
(4)6667端口:这是IRC的通讯端口。 除上述的端口基本可以排除在外,如发现还有其它端口打开,尤其是数值比较大的端口,那就要怀疑 是否感染了木马,当然如果木马有定制端口的功能,那任何端口都有可能是木马端口。
四.信息泄露:
一般来说,设计成熟的木马都有一个信息反馈机制。所谓信息反馈机制是指木马成功安装后会收集 一些服务端的软硬件信息,并通过E-MAIL,IRC或ICO的方式告知控制端用户。下图是一个典型的信息反 馈邮件。
从这封邮件中我们可以知道服务端的一些软硬件信息,包括使用的操作系统,系统目录,硬盘分区况, 系统口令等,在这些信息中,最重要的是服务端IP,因为只有得到这个参数,控制端才能与服务端建立 连接,具体的连接方法我们会在下一节中讲解。
五.建立连接:
这一节我们讲解一下木马连接是怎样建立的 。一个木马连接的建立首先必须满足两个条件:一是 服务端已安装了木马程序;二是控制端,服务端都要在线 。在此基础上控制端可以通过木马端口与服 务端建立连接。为了便于说明我们采用图示的形式来讲解。
如上图所示A机为控制端,B机为服务端,对于A机来说要与B机建立连接必须知道B机的木马端口和IP地 址,由于木马端口是A机事先设定的,为已知项,所以最重要的是如何获得B机的IP地址。获得B机的IP 地址的方法主要有两种:信息反馈和IP扫描。对于前一种已在上一节中已经介绍过了,不再赘述,我们 重点来介绍IP扫描,因为B机装有木马程序,所以它的木马端口7626是处于开放状态的,所以现在A机只 要扫描IP地址段中7626端口开放的主机就行了,例如图中B机的IP地址是202.102.47.56,当A机扫描到 这个IP时发现它的7626端口是开放的,那么这个IP就会被添加到列表中,这时A机就可以通过木马的控 制端程序向B机发出连接信号,B机中的木马程序收到信号后立即作出响应,当A机收到响应的信号后, 开启一个随即端口1031与B机的木马端口7626建立连接,到这时一个木马连接才算真正建立。值得一提 的要扫描整个IP地址段显然费时费力,一般来说控制端都是先通过信息反馈获得服务端的IP地址,由于 拨号上网的IP是动态的,即用户每次上网的IP都是不同的,但是这个IP是在一定范围内变动的,如图中 B机的IP是202.102.47.56,那么B机上网IP的变动范围是在202.102.000.000---202.102.255.255,所以 每次控制端只要搜索这个IP地址段就可以找到B机了。
六.远程控制:
木马连接建立后,控制端端口和木马端口之间将会出现一条通道,见下图
控制端上的控制端程序可藉这条通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远 程控制。下面我们就介绍一下控制端具体能享有哪些控制权限,这远比你想象的要大。
(1)窃取密码:一切以明文的形式,*形式或缓存在CACHE中的密码都能被木马侦测到,此外很多木马还 提供有击键记录功能,它将会记录服务端每次敲击键盘的动作,所以一旦有木马入侵, 密码将很容易被窃取。
(2)文件操作:控制端可藉由远程控制对服务端上的文件进行删除,新建,修改,上传,下载,运行,更改属 性等一系列操作,基本涵盖了WINDOWS平台上所有的文件操作功能。
(3)修改注册表:控制端可任意修改服务端注册表,包括删除,新建或修改主键,子键,键值。有了这 项功能控制端就可以禁止服务端软驱,光驱的使用,锁住服务端的注册表,将服务端 上木马的触发条件设置得更隐蔽的一系列高级操作。
(4)系统操作:这项内容包括重启或关闭服务端操作系统,断开服务端网络连接,控制服务端的鼠标, 键盘,监视服务端桌面操作,查看服务端进程等,控制端甚至可以随时给服务端发送信 息,想象一下,当服务端的桌面上突然跳出一段话,不吓人一跳才怪
什么是木马程序?她是怎么发挥功能?
木马,全称特洛伊木马(Trojan horse),这个词语来源于古希腊神话,在计算机领域是一种客户/服务器程序,是黑客最常用的基于远程控制的工具。目前,比较有名的国产木马有:“冰河”、“广外女生”、“黑洞”、“黑冰”等;国外有名的木马则有:“SubSeven”、“Bo2000(Back Orifice)”、“NetSpy”、“Asylum”等。木马对计算机系统和网络安全危害相当大,因此,如何防范特洛伊木马入侵成为了计算机网络安全的重要内容之一。
1 木马的实现原理及特征
1.1 木马的实现原理
从本质上看,木马都是网络客户/服务模式,它分为两大部分,即客户端和服务端。其原理是一台主机提供服务(服务器) ,另一台主机接受服务(客户机),作为服务器的主机一般会打开一个默认的端口进行监听。如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来应答客户机的请求。这个程序被称为守护进程。
当攻击者要利用木马进行网络入侵,一般都要完成“向目标主机传播木马”,“启动和隐藏木马”,“建立连接”,“远程控制”等环节。
1.2 木马的特征
一个典型的木马程序通常具有以下四个特征:隐蔽性、欺骗性、顽固性和危害性。
(1)隐蔽性:隐蔽性是木马的生命力,也是其首要特征。木马必须有能力长期潜伏于目标机器中而不被发现。一个隐蔽性差的木马往往会很容易暴露自己,进而被杀毒(或杀马)软件,甚至用户手工检查出来,这样将使得这类木马变得毫无价值。木马的隐蔽性主要体现在以下两方面:
a.不产生图标。木马虽然在系统启动时会自动运行,但它不会在“任务栏”中产生一个图标。
b.木马自动在任务管理器中隐藏或者以“系统服务”的方式欺骗操作系统。这也就使得要及时了解是否中了木马带来了一定的困难。
(2)欺骗性:木马常常使用名字欺骗技术达到长期隐蔽的目的。它经常使用常见的文件名或扩展名,如dll、win、sys、explorer等字样,或者仿制一些不易被人区别的文件名,如字母“l”与数字“1”、字母“o”与数字“0”,常常修改几个文件中的这些难以分辨的字符,更有甚者干脆就借用系统文件中已有的文件名,只不过它保存在不同路径之中而已。
(3)顽固性:很多木马的功能模块已不再是由单一的文件组成,而是具有多重备份,可以相互恢复。当木马被检查出来以后,仅仅删除木马程序是不行的,有的木马使用文件关联技术,当打开某种类型的文件时,这种木马又重新生成并运行。
(4)危害性:当木马被植入目标主机以后,攻击者可以通过客户端强大的控制和破坏力对主机进行操作。比如可以窃取系统密码,控制系统的运行,进行有关文件的操作以及修改注册表等。
2 木马入侵手段
木马能不能完全发挥它的功能和作用,关键一步就是能否成功地进入到目标主机。随着网络知识的普及以及网络用户安全意识的提高,木马的入侵手段也随着发生了许多变化。
2.1木马的传统入侵手段
所谓传统入侵手段就是指大多数木马程序采取的、已经广为人知的传播方式,主要有以下几种:
1)电子邮件(E-mail)进行传播:攻击者将木马程序伪装成E-mail附件的形式发送过去,收信方只要查看邮件附件就会使木马程序得到运行并安装进入系统。
2)网络下载进行传播:一般的木马服务端程序都不是很大,最大也不超过200K,有的甚至只有几K。如果把木马捆绑到其它正常文件上,是很难发现的。一些非正规的网站以提供软件下载为名,将木马捆绑在软件安装程序上,下载后,只要运行这些程序,木马就会自动安装。通过Script、ActiveX及Asp、Cgi交互脚本的方法传播:由于微软的浏览器在执行Script脚本上存在一些漏洞,攻击者可以利用这些漏洞传播病毒和木马,甚至直接对浏览者主机进行文件操作等控制。如果攻击者有办法把木马服务端程序上载到目标主机的一个可执行WWW目录夹里面,他就可以通过编制Cgi程序在被攻击的目标主机上执行木马程序。
3)网页浏览传播:这种方法利用Java Applet编写出一个HTML网页,当我们浏览该页面时,Java Applet会在后台将木马程序下载到计算机缓存中,然后修改注册表,使指向木马程序。
4)利用系统的一些漏洞进行传播:如微软著名的IIS服务器溢出漏洞,通过一个IISHACK攻击程序即可把IIS服务器崩溃,并且同时在受控服务器执行木马程序。
5)远程入侵进行传播:黑客通过破解密码和建立IPC$远程连接后登陆到目标主机,将木马服务端程序拷贝到计算机中的文件夹(一般在C:\WINDOWS\system32或者C:\WINNT\system32)中,然后通过远程操作让木马程序在某一个时间运行。
2.2 木马入侵手段的发展
以上的木马入侵手段虽然使用广泛,但也很容易引起用户的警觉,所以一些新的入侵手段也相继出现,主要有:
1) 基于DLL和远程线程插入的木马植入
这种传播技术是以DLL的形式实现木马程序,然后在目标主机中选择特定目标进程(如系统文件或某个正常运行程序),由该进程将木马DLL植入到本系统中。
DLL文件的特点决定了这种实现形式的木马的可行性和隐藏性。首先,由于DLL文件映像可以被映射到调用进程的地址空间中,所以它能够共享宿主进程(调用DLL的进程)的资源,进而根据宿主进程在目标主机的级别未授权地访问相应的系统资源。其次,因为DLL没有被分配独立的进程地址空间,也就是说DLL的运行并不需要创建单独的进程,所以从系统的进程列表里看不见DLL的运行踪迹,从而可以避免在目标主机中留下木马进程踪迹,因此满足了隐蔽性的要求。将木马程序以DLL的形式实现后,需要使用插入到目标进程中的远程线程将该木马DLL插入到目标进程的地址空间,即利用该线程通过调用Load Library函数来加载木马DLL,从而实现木马的传播。
2)利用蠕虫病毒传播木马
以前的木马传播大都比较被动,而使用E-mail传播效率又太低,系统漏洞很快又被打上补丁,所以在某种程度上限制了木马的传播能力。网络蠕虫病毒具有很强的传染性和自我复制能力,将木马和蠕虫病毒结合在一起就可以大大地提高木马的传播能力。结合了蠕虫病毒的木马利用病毒的特性,在网络上大批量地进行传播、复制,这就加快了木马的传播速度,扩大了其传播范围。
3 木马的防范措施
为了减少或避免木马给主机以及网络带来危害,我们可以从两方面来有效地防范木马:使用防火墙阻止木马入侵以及及时查杀入侵后的木马。
防火墙是抵挡木马入侵的第一道门,也是最好的方式。绝大多数木马都是必须采用直接通讯的方式进行连接,防火墙可以阻塞拒绝来源不明的TCP数据包。防火墙的这种阻塞方式还可以阻止UDP、ICMP等其它IP数据包的通讯。防火墙完全可以进行数据包过滤检查,在适当规则的限制下,如对通讯端口进行限制,只允许系统接受限定几个端口的数据请求,这样即使木马植入成功,攻击者也是无法进入到你的系统,因为防火墙把攻击者和木马分隔开来了。但是,仍然有一些木马可以绕过防火墙进入目标主机(比如反弹端口木马),还有一些将端口寄生在合法端口上的木马,防火墙对此也无能为力。因此,我们必须要能迅速地查杀出已经入侵的木马。
木马工作的原理
检测和删除系统中的木马(Trojan Horse)教程
作者:陈昀/太平洋网络学院
一、木马(Trojan Horse)介绍
木马全称为特洛伊木马(Trojan Horse,英文则简称为Trojan)。此词语来源于古希腊的神话故事,传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城下,让敌人将其作为战利品拖入城内。木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。
在计算机安全学中,特洛伊木马是指一种计算机程序,表面上或实际上有某种有用的功能,而含有隐藏的可以控制用户计算机系统、危害系统安全的功能,可能造成用户资料的泄漏、破坏或整个系统的崩溃。在一定程度上,木马也可以称为是计算机病毒。
由于很多用户对计算机安全问题了解不多,所以并不知道自己的计算机是否中了木马或者如何删除木马。虽然现在市面上有很多新版杀毒软件都称可以自动清除木马病毒,但它们并不能防范新出现的木马病毒(哪怕宣传上称有查杀未知病毒的功能)。而且实际的使用效果也并不理想。比如用某些杀毒软件卸载木马后,系统不能正常工作,或根本发现不了经过特殊处理的木马程序。本人就测试过一些经编程人员改装过的著名木马程序,新的查杀毒软件是连检查都检测不到,更不用说要删除它了(哪怕是使用的是最新的病毒库)。因此最关键的还是要知道特洛伊木马的工作原理,由其原理着手自己来检测木马和删除木马。用手工的方法极易发现系统中藏匿的特洛伊木马,再根据其藏匿的方式对其进行删除。
二、木马工作的原理
在Windows系统中,木马一般作为一个网络服务程序在种了木马的机器后台运行,监听本机一些特定端口,这个端口号多数比较大(5000以上,但也有部分是5000以下的)。当该木马相应的客户端程序在此端口上请求连接时,它会与客户程序建立一TCP连接,从而被客户端远程控制。
既然是木马,当然不会那么容易让你看出破绽,对于程序设计人员来说,要隐藏自己所设计的窗口程序,主要途径有:在任务栏中将窗口隐藏,这个只要把Form的Visible属性调整为False,ShowInTaskBar也设为False。那么程序运行时就不会出现在任务栏中了。如果要在任务管理器中隐身,只要将程序调整为系统服务程序就可以了。
好了,现在我们对木马的运行有了大体了解。让我们从其运行原理着手来看看它藏在哪。既然要作为后台的网络服务器运行,那么它就要乘计算机刚开机的时候得到运行,进而常驻内存中。想一想,Windows系统刚启动的时候会通过什么项目装入而运行一些程序呢?你可能会想到“开始-程序-启动”中的项目!没错,这是Windows启动时要运行的东西,但要是木马服务器程序明显地放在这就不叫木马了。
木马基本上采用了Windows系统启动时自动加载应用程序的方法,包括有win.ini、system.ini和注册表等。
在win.ini文件中,[WINDOWS]下面,“run=”和“load=”行是Windows启动时要自动加载运行的程序项目,木马可能会在这现出原形。必须要仔细观察它们,一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的或以前没有见到过的启动文件项目,那么你的计算机就可能中上木马了。当然你也得看清楚,因为好多木马还通过其容易混淆的文件名来愚弄用户。如AOL Trojan,它把自身伪装成command.exe文件,如果不注意可能不会发现它,而误认它为正常的系统启动文件项。
在system.ini文件中,[BOOT]下面有个“shell=Explorer.exe”项。正确的表述方法就是这样。如果等号后面不仅仅是explorer.exe,而是“shell=
Explorer.exe 程序名”,那么后面跟着的那个程序就是木马程序,明摆着你已经中了木马。现在有些木马还将explorer.exe文件与其进行绑定成为一个文件,这样的话,这里看起来还是正常的,无法瞧出破绽。
隐蔽性强的木马都在注册表中作文章,因为注册表本身就非常庞大、众多的启动项目及易掩人耳目。
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
上面这些主键下面的启动项目都可以成为木马的容身之处。如果是Windows NT,那还得注意HKEY-LOCAL-MACHINE\Software\SAM下的东西,通过regedit等注册表编辑工具查看SAM主键,里面下应该是空的。
木马驻留计算机以后,还得要有客户端程序来控制才可以进行相应的“黑箱”操作。要客户端要与木马服务器端进行通信就必须得建立一连接(一般为TCP连接),通过相应的程序或工具都可以检测到这些非法网络连接的存在。具体如何检测,在第三部分有详细介绍。
三、检测木马的存在
知道木马启动运行、工作的原理,我们就可以着手来看看自己的计算机有没有木马存在了。
首先,查看system.ini、win.ini、启动组中的启动项目。由“开始-运行”,输入msconfig,运行Windows自带的“系统配置实用程序”。
1、查看system.ini文件
选中“System.ini”标签,展开[boot]目录,查看“shell=”这行,正常为“shell=Explorer.exe”,如果不是这样,就可能中了木马了。下图所示为正常时的情况:
2、查看win.ini文件
选中win.ini标签,展开[windows]目录项,查看“run=”和“load=”行,等号后面正常应该为空,如下图所示:
3、查看启动组
再看看启动标签中的启动项目,有没有什么非正常项目?要是有象netbus、netspy、bo等关键词,极有可能就是木马了。本人一般都将启动组中的项目保持在比较精简的状态,不需要或无大用途的项目都屏蔽掉了。如下图,只是选中了与注册表检查、音量控制、输入法和能源保护相关的启动栏。到时要是有木马出现,自是一目了然。
4、查看注册表
由“开始-运行”,输入regedit,确定就可以运行注册表编辑器。再展开至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件项目,比如netbus、netspy、netserver等的单词。注意,有的木马程序生成的服务器程序文件很像系统自身的文件,想由此伪装蒙混过关。比如Acid Battery木马,它会在注册表项“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下加入
Explorer=“C:\WINDOWS\expiorer.exe”,木马服务器程序与系统自身的真正的Explorer之间只有一个字母的差别!
通过类似的方法对下列各个主键下面的键值进行检查:
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
如果操作系统是Windows NT,还得注意HKEY-LOCAL-MACHINE\Software\SAM下面的内容,如果有项目,那极有可能就是木马了。正常情况下,该主键下面是空的。
当然在注册表中还有很多地方都可以隐藏木马程序,上面这些主键是木马比较常用的隐身之处。除此之外,象HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run、HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run的目录下都有可能成为木马的藏身之处。最好的办法就是在HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run或其它主键下面找到木马程序的文件名,再通过其文件名对整个注册表进行全面搜索就知道它有几个藏身的地方了。
如果有留意,注册表各个主键下都会有个叫“(默认)”名称的注册项,而且数据显示为“(未设置键值)”,也就是空的。这是正常现象。如果发现这个默认项被替换了,那么替换它的就是木马了。
4、其它方法
上网过程中,在进行一些计算机正常使用操作时,发现计算机速度明显起了变化、硬盘在不停的读写、鼠标不听使唤、键盘无效、自己的一些窗口在未得到自己允许的情况下被关闭、新的窗口被莫名其妙地打开.....这一切的不正常现象都可以怀疑是木马客户端在远程控制你的计算机。
如果怀疑你现在正在被木马控制,那么不要慌张地去拔了网线或抽了Modem上的电话线。有可能的话,最好可以逮到“黑”你的那个家伙。下面就介绍一下相应的方法:
由“开始-运行”,输入command,确定,开一个MS-DOS窗口。或者由“开始-程序-MS-DOS”来打开它。在MS-DOS窗口的命令行键入“netstat”查看目前已与本计算机建立的连接。如下图所示:
显示出来的结果表示为四列,其意思分别为Proto:协议,Local Address:本地地址,Foreign Address:远程地址,State:状态。在地址栏中冒号的后面就是端口号。如果发现端口号码异常(比如大于5000),而Foreign Address中的地址又不为正常网络浏览的地址,那么可以判断你的机器正被Foreign Address中表示的远程计算机所窥视着。在对应行的Foreign Address中显示的IP地址就是目前非法连接你计算机的木马客户端。
当网络处于非活动状态,也就是目前没什么活动网络连接时,在MS-DOS窗口中用netstat命令将看不到什么东西。此时可以使用“netstat -a”,加了常数“-a”表示显示计算机中目前处于监听状态的端口。对于Windows98来说,正常情况下,会出现如下的一些处于监听状态的端口(安装有NETBEUI协议):
如果出现有不明端口处于监听(LISTENING)状态,而目前又没有进行任何网络服务操作,那么在监听该端口的就是特洛伊木马了!如下图所示的23456和23457端口都处于监听状态,很明显是木马造成的。
注意,使用此方法查询处于监听状态的端口,一定要保证在短时间内(最好5分钟以上)没有运行任何网络冲浪软件,也没有进行过任何网络操作,比如浏览网页,收、发信等。不然容易混淆对结果的判断。
四、删除木马
好了,用上面的一些方法发现自己的计算机中了木马,那怎么办?当然要将木马删除了,难道还要保留它!首先要将网络断开,以排除来自网络的影响,再选择相应的方法来删除它。
1、由木马的客户端程序
由先前在win.ini、system.ini和注册表中查找到的可疑文件名判断木马的名字和版本。比如“netbus”、“netspy”等,很显然对应的木马就是NETBUS和NETSPY。从网上找到其相应的客户端程序,下载并运行该程序,在客户程序对应位置填入本地计算机地址:127.0.0.1和端口号,就可以与木马程序建立连接。再由客户端的卸除木马服务器的功能来卸除木马。端口号可由“netstat -a”命令查出来。
这是最容易,相对来说也比较彻底载除木马的方法。不过也存在一些弊端,如果木马文件名给另外改了名字,就无法通过这些特征来判断到底是什么木马。如果木马被设置了密码,既使客户端程序可以连接的上,没有密码也登陆不进本地计算机。当然要是你知道该木马的通用密码,那就另当别论了。还有,要是该木马的客户端程序没有提供卸载木马的功能,那么该方法就没什么用了。当然,现在多数木马客户端程序都是有这个功能的。
2、手工
不知道中的是什么木马、无登陆的密码、找不到其相应的客户端程序、......,那我们就手工慢慢来删除这该死的木马吧。
用msconfig打开系统配置实用程序,对win.ini、system.ini和启动项目进行编辑。屏蔽掉非法启动项。如在win.ini文件中,将将[WINDOWS]下面的“run=xxx”或“load=xxx”更改为“run=”和“load=”;编辑system.ini文件,将[BOOT]下面的“shell=xxx”,更改为:“shell=Explorer.exe”。
用regedit打开注册表编辑器,对注册表进行编辑。先由上面的方法找到木马的程序名,再在整个注册表中搜索,并删除所有木马项目。由查找到的木马程序注册项,分析木马文件在硬盘中的位置(多在C:\WINDOWS和C:\WINDOWS\COMMAND目录下)。启动到纯MS-DOS状态(而不是在Windows环境中开个MS-DOS窗口),用del命令将木马文件删除。如果木马文件是系统、隐藏或只读文件,还得通过“attrib -s -h -r”将对应文件的属性改变,才可以删除。
为保险起见,重新启动以后再由上面各种检测木马的方法对系统进行检查,以确保木马的确被删除了。
目前也有一些木马是将自身的程序与Windows的系统程序进行了绑定(也就是感染了系统文件)。比如常用到的Explorer.exe,只要Explorer.exe一得到运行,木马也就启动了。这种木马可以感染可执行文件,那就更象病毒了。由手工删除文件的方法处理木马后,一运行Explorer.exe,木马又得以复生!这时要删除木马就得连Explorer.exe文件也给删除掉,再从别人相同操作系统版本的计算机中将该文件Copy过来就可以了。
五、结束语
Internet上每天都有新的木马冒出来,所采取的隐蔽措施也是五花八门。在信息社会里,计算机用户对自己的资料进行保密、防止泄漏也变得越来越重要。防范木马袭击也只是提高计算机安全性的一个方面。技术的发展,本文所讲述的检测、删除木马方法也总有一天会失效,最主要还是要靠用户提高警惕,防范所有的不安全事件于未然。
请分析哪些是病毒,木马,在电子邮件的传播方式
木马,指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。
病毒,编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。
病毒通过网络来传播:网页、电子邮件、QQ、BBS等都可以是计算机病毒网络传播的途径。
木马传播方式:利用下载进行传播,在下载的过程中进入程序,当下载完毕打开文件就将病毒植入到电脑中;利用系统漏洞进行传播,当计算机存在漏洞,就成为木马病毒攻击的对象; 利用邮件进行传播,很多陌生邮件里面就掺杂了病毒种子,一旦邮件被打开,病毒就被激活。
利用远程连接进行传播;利用网页进行传播,在浏览网页时会经常出现很多跳出来的页面,这种页面就是病毒驻扎的地方;利用蠕虫病毒进行传播等。
扩展资料
木马病毒通常基于计算机网络,基于客户端和服务端的通信、监控程序。客户端的程序用于黑客远程控制,可以发出控制命令,接收服务端传来的信息。服务端程序运行在被控计算机上,一般隐藏在被控计算机中,可以接收客户端发来的命令并执行,将客户端需要的信息发回,也就足常说的木马程序。
木马病毒可以发作的必要条件为客户端和服务端必须建立起网络通信,这种通信是基于IP地址和端口号的。
藏匿在服务端的木马程序一旦被触发执行,就会不断将通信的IP地址和端口号发给客户端。客户端利用服务端木马程序通信的IP地址和端口号,在客户端和服务端建立起一个通信链路。客户端的黑客便可以利用这条通信链路来控制服务端的计算机。
运行在服务端的木马程序首先隐匿自己的行踪,伪装成合法的通信程序,然后采用修改系统注册表的方法设置触发条件,保证自己可以被执行,并且可以不断监视注册表中的相关内容。发现自己的注册表被删除或被修改,可以自动修复。
参考资料来源:百度百科-木马病毒
参考资料来源:百度百科-计算机病毒
0条大神的评论