什么是电脑病毒木马
你了解什么是木马吗!知道什么是电脑木马吗!下面由我给你带来详细的介绍!希望对你有帮助!谢谢!
什么是木马:
一、木马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,它把自身伪装成mand.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-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下,检视键值中有没有自己
不熟悉的自动启动档案专案,比如netbus、netspy、netserver等的单词。注意,有的木马程式生成的
伺服器程式档案很像系统自身的档案,想由此伪装蒙混过关。比如Acid Battery木马,它会在登录档项
“HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下加入
Explorer=“CWINDOWSexpiorer.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上的电话线。有可能的话,最好可以逮到“黑”你的那个家伙。下面就介绍一下相应的方法:
由“开始->执行”,输入mand,确定,开一个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”命令查出来。
这是最容易,相对来说也比较彻底载除木马的方法。不过也存在一些弊端,如果木马档名给另外改了名字,就无法通过这些特征来判断到底是什么木马。如果木马被设定了密码,既使客户端程式可以连线的上,没有密码也登陆不进本地计算机。当然要是你知道该木马的通用密码,那就另当别论了。还有,要是该木马的客户端程式没有提供解除安装木马的功能,那么该方法就没什么用了。当然,现在多数木马客户端程式都是有这个功能的。 此文的人还: