检测删除系统中的木马.docx
- 文档编号:4927919
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:17
- 大小:185.60KB
检测删除系统中的木马.docx
《检测删除系统中的木马.docx》由会员分享,可在线阅读,更多相关《检测删除系统中的木马.docx(17页珍藏版)》请在冰点文库上搜索。
检测删除系统中的木马
检测和删除系统中的木马(TrojanHorse)
一、木马(TrojanHorse)介绍
木马全称为特洛伊木马(TrojanHorse,英文则简称为Trojan)。
此词语来源于古希腊的神话故事,传说希腊人围攻特洛伊城,久久不能得手。
后来想出了一个木马计,让士兵藏匿于巨大的木马中。
大部队假装撤退而将木马摈弃于特洛伊城下,让敌人将其作为战利品拖入城内。
木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。
在计算机安全学中,特洛伊木马是指一种计算机程序:
表面上或实际上有某种有用的功能,而含有隐藏的可以控制用户计算机系统、危害系统安全的功能,可能造成用户资料的泄漏、破坏或整个系统的崩溃。
在一定程度上,木马也可以称为是计算机病毒。
由于很多用户对计算机安全问题了解不多,所以并不知道自己的计算机是否中了木马或者如何删除木马。
虽然现在市面上有很多新版杀毒软件都称可以自动清除木马病毒,但它们并不能防范新出现的木马病毒(哪怕宣传上称有查杀未知病毒的功能)。
而且实际的使用效果也并不理想。
比如用某些杀毒软件卸载木马后,系统不能正常工作,或根本发现不了经过特殊处理的木马程序。
本人就测试过一些经编程人员改装过的著名木马程序:
新的查杀毒软件是连检查都检测不到,更不用说要删除它了(哪怕是使用的是最新的病毒库)。
因此最关键的还是要知道特洛伊木马的工作原理,由其原理着手自己来检测木马和删除木马。
用手工的方法极易发现系统中藏匿的特洛伊木马,再根据其藏匿的方式对其进行删除。
二、木马工作的原理
在Windows系统中,木马一般作为一个网络服务程序在种了木马的机器后台运行,监听本机一些特定端口,这个端口号多数比较大(5000以上,但也有部分是5000以下的)。
当该木马相应的客户端程序在此端口上请求连接时,它会与客户程序建立一TCP连接,从而被客户端远程控制。
既然是木马,当然不会那么容易让你看出破绽,对于程序设计人员来说,要隐藏自己所设计的窗口程序,主要途径有:
在任务栏中将窗口隐藏,这个只要把Form的Visible属性调整为False,ShowInTaskBar也设为False。
那么程序运行时就不会出现在任务栏中了。
如果要在任务管理器中隐身,只要将程序调整为系统服务程序就可以了。
好了,现在我们对木马的运行有了大体了解。
让我们从其运行原理着手来看看它藏在哪。
既然要作为后台的网络服务器运行,那么它就要乘计算机刚开机的时候得到运行,进而常驻内存中。
想一想,Windows系统刚启动的时候会通过什么项目装入而运行一些程序呢?
你可能会想到“开始->程序->启动”中的项目!
没错,这是Windows启动时要运行的东西,但要是木马服务器程序明显地放在这就不叫木马了。
木马基本上采用了Windows系统启动时自动加载应用程序的方法,包括有win.ini、system.ini和注册表等。
在win.ini文件中,[WINDOWS]下面,“run=”和“load=”行是Windows启动时要自动加载运行的程序项目,木马可能会在这现出原形。
必须要仔细观察它们,一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的或以前没有见到过的启动文件项目,那么你的计算机就可能中上木马了。
当然你也得看清楚,因为好多木马还通过其容易混淆的文件名来愚弄用户。
如AOLTrojan,它把自身伪装成command.exe文件,如果不注意可能不会发现它,而误认它为正常的系统启动文件项。
在system.ini文件中,[BOOT]下面有个“shell=Explorer.exe”项。
正确的表述方法就是这样。
如果等号后面不仅仅是explorer.exe,而是“shell=Explorer.exe程序名”,那么后面跟着的那个程序就是木马程序,明摆着你已经中了木马。
现在有些木马还将explorer.exe文件与其进行绑定成为一个文件,这样的话,这里看起来还是正常的,无法瞧出破绽。
隐蔽性强的木马都在注册表中作文章,因为注册表本身就非常庞大、众多的启动项目及易掩人耳目。
QUOTE:
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
上面这些主键下面的启动项目都可以成为木马的容身之处。
如果是WindowsNT,那还得注意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等的单词。
注意,有的木马程序生成的服务器程序文件很像系统自身的文件,想由此伪装蒙混过关。
比如AcidBattery木马,它会在注册表项“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下加入Explorer=“C:
\WINDOWS\expiorer.exe”,木马服务器程序与系统自身的真正的Explorer之间只有一个字母的差别!
通过类似的方法对下列各个主键下面的键值进行检查:
QUOTE:
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
如果操作系统是WindowsNT,还得注意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:
协议,LocalAddress:
本地地址,ForeignAddress:
远程地址,State:
状态。
在地址栏中冒号的后面就是端口号。
如果发现端口号码异常(比如大于5000),而ForeignAddress中的地址又不为正常网络浏览的地址,那么可以判断你的机器正被ForeignAddress中表示的远程计算机所窥视着。
在对应行的ForeignAddress中显示的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上每天都有新的木马冒出来,所采取的隐蔽措施也是五花八门。
在信息社会里,计算机用户对自己的资料进行保密、防止泄漏也变得越来越重要。
防范木马袭击也只是提高计算机安全性的一个方面。
技术的发展,本文所讲述的检测、删除木马方法也总有一天会失效,最主要还是要靠用户提高警惕,防范所有的不安全事件于未然。
典型案例:
某机器中了木马病毒Trojan.TRC.mIRC.f
是在c:
\WINNT\system32\sy5tem文件中:
想要把文件删掉,可是提示为:
源文件正在被使用,瑞星杀毒软件又不能杀掉。
操作系统是win2ooo-professinal,并不能运行msconfig命令。
那么,该怎么办?
解决方案:
从WindowsXP中剥离的Msconfig程序完全可以在Windows2000中使用。
(顺便提供pchome下载点)
把它COPY到Win2000的WinntSystem目录下,然后直接运行。
程序首先会弹出一个出错的消息框,提示找不到以下几个系统文件:
Config.sys、Autoexec.bat、System.ini及Win.ini,
“忽略”它,点击“确定”之后就会看到Msconfig程序窗口。
***************************************************************************************************************************
系统安全:
WindowsXP八种安全模式揭密
经常使用电脑的人可能都听说过,当电脑出了故障时,Windows会提供一个名为“安全模式”的平台,在这里用户能解决很多问题--不管是硬件(驱动)还是软件的。
然而你会使用这个安全模式么?
今天我们就来带您认识一下它的真面目。
初识安全模式
要进入安全模式,只要在启动时不停地按F8,就会出现选项菜单,再用键盘上的上下光标键进行选择即可进入不同的启动模式。
选项菜单包括了以下几个:
1.安全模式
只使用基本文件和驱动程序。
如鼠标(USB串行鼠标除外)、监视器、键盘、硬盘、基本视频、默认系统服务等,但无网络连接。
如果采用安全模式也不能成功启动计算机,则可能需要使用恢复控制台功能来修复系统。
2.带网络连接的安全模式
在普通安全模式的基础上增加了网络连接。
但有些网络程序可能无法正常运行,如MSN等,还有很多自启动的应用程序不会自动加载,如防火墙、杀毒软件等。
所以在这种模式下一定不要忘记手动加载,否则恶意程序等可能会入侵在你修复电脑的过程中。
3.带命令行提示符的安全模式
只使用基本的文件和驱动程序来启动,在登录之后,屏幕上显示命令提示符,而非Windows图形界面。
说明:
在这种模式下,如果你不小心关闭了命令提示符窗口,屏幕会全黑。
可按下组合键Ctrl+Alt+Del,调出“任务管理器”,单击“新任务”,再在弹出对话框的“运行”后输入“C:
\WINDOWS\explorer.exe”,可马上启动WindowsXP的图形界面,与上述三种安全模式下的界面完全相同。
如果输入“c:
\windows\system32\cmd”也能再次打开命令提示符窗口。
事实上,在其它的安全模式甚至正常启动时也可通过这种方法来启动命令提示符窗口。
4.启用启动日志
以普通的安全模式启动,同时将由系统加载(或没有加载)的所有驱动程序和服务记录到一个文本文件中。
该文件称为ntbtlog.txt,它位于%windir%(默认为c:
\windows\)目录中。
启动日志对于确定系统启动问题的准确原因很有用。
5.启用VGA模式
利用基本VGA驱动程序启动。
当安装了使Windows不能正常启动的新视频卡驱动程序时,这种模式十分有用。
事实上,不管以哪种形式的安全模式启动,它总是使用基本的视频驱动程序。
因此,在这些模式下,屏幕的分辨率为640×480且不能改动。
但可重新安装驱动程序。
6.最后一次正确的配置
使用Windows上一次关闭时所保存的注册表信息和驱动程序来启动。
最后一次成功启动以来所作的任何更改将丢失。
因此一般只在配置不对(主要是软件配置)的情况下,才使用最后一次正确的配置。
但是它不能解决由于驱动程序或文件被损坏或丢失所导致的问题。
7.目录服务恢复模式
这是针对服务器操作系统的,并只用于恢复域控制器上的SYSVOL目录和ActiveDirectory目录服务。
8.调试模式
启动时通过串行电缆将调试信息发送到另一台计算机。
如果正在或已经使用远程安装服务在您的计算机上安装Windows,则您可以看到与使用远程安装服务还原或恢复系统相关的附加选项。
现实应用
1.笔者过去用的是一款旧显示器,又是初学者,初学者最爱干的是什么,换点墙纸,设一下分辨率也觉得很有成就感,没想到误将分辨率和刷新率调得太高,下次启动时屏幕花屏,害得的重新安装了操作系统才算了事。
现在想起来那时也真的傻瓜可爱,只要将其重启到安全模式(前四种模式都行)下,删除显卡驱动程序,再重启电脑即可,重启(正常启动)时,系统会自动扫描显卡并安装驱动程序,屏幕即可恢复正常显示。
还有些问题也可用这种方法来处理,比如WindowsXP会自动识别硬件并安装驱动程序,但有时总是老眼昏花,而且在设备管理器下不会显示出错信息。
但就是工作不正常,如上不了网(网卡驱动有错)、屏幕显示不对(显卡驱动有错)等,也可在安全模式重新安装驱动程序。
2.揪出恶意的自启动程序或服务
如果电脑出现一些莫明其妙的错误,比如上不了网,按常规思路又查不出问题,可启动到带网络连接的安全模式下看看,如果在这里能上,则说明是某些自启动程序或服务影响了网络的正常连接。
可在带网络连接的安全模式下,用带重定向的命令提示符工具TaskList>d:
\Anquan.txt将当时的进程记录到D:
盘根目录下的文本文件Anquan.txt中。
接着,以正常的方式启动电脑,将Anquan.txt中记录到的进程与此时的进程进行比较,你会发现此时的进程要多得多,请逐个结束多出来的进程,并检查网络连接是否正常。
如果结束到某一进程时网络连接正常了,则说明就是刚结束的进程就是罪魁祸首。
查出后,可删除与进程相关的可执行文件。
但还要注意的是,由于它是自动运行的,强行删除后,可能会引起启动时报“找不到某文件”的错误,还得将其与自启动有关的设置全部清除,包括“系统配置实用程序”的“启动”、“Win.ini”下的内容、注册表下的内容、启动脚本下的内容、“开始”菜单“启动”下的内容等。
3.调整分区
有一次,笔者带着本本儿出差,途中想处理一下下车即用的报表文件,可本本儿偏不争气,启动时报分区错误。
天啊,出门在外的,又没带任何工具软件,好在天无绝人之路,还能启动到安全模式下——有法了,命令行工具Diskpart能胜任分区魔术师的一切工作(可能还少有朋友听说吧)。
Diskpart功能非常强大,它工作于一个集成的环境,输入Diskpart后,显示图1所示的专用提示符即Diskpart>(注意:
这不是一个路径),在这一环境下可输入很多与之相关的同时也是它的专用子命令。
下面就来演示分区的扩容功能。
说明在先:
以下的操作是在台式机上记录下来的。
①启动到带命令提示符的安全模式下,输入命令Diskpart。
再输入listpartition显示一下分区,显然,其中有两个主分区、两个扩展分区。
②输入“SelectParttition3”使第3分区(5004MB的那个),使该分区具有焦点属性。
再输入“DeletePartition”即可删除该分区。
请将图3第1、2两个“Listpartition”命令后的值进行比较,不难看出,原分区3确实已被删除了。
③输入“Selectpartition1”使其具有焦点属性,再输入“Extend”,刚才被删除分区所空出来的末分配空间就能自动添加到第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 检测 删除 系统 中的 木马