科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道如何一次性删掉木马

如何一次性删掉木马

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

现在的木马种类繁多,而且有些木马十分顽固,根本没法杀干净。有什么方 法能有效的防止木马和清除它们的方法吗?

来源:论坛整理 2008年7月22日

关键字: 病毒查杀 病毒 木马

  • 评论
  • 分享微博
  • 分享邮件
现在的木马种类繁多,而且有些木马十分顽固,根本没法杀干净。有什么方
法能有效的防止木马和清除它们的方法吗?

什么是木马

  你所说的木马,也就是一种能潜伏在受害者计算机里,并且秘密开放一个甚
至多个数据传输通道的远程控制程序,一般由两部分组成:客户端(Client)和服务
器端(Server),客户端也称为控制端。

  木马的传播感染其实指的就是服务器端,入侵者必须通过各种手段把服务器
端程序传送给受害者运行,才能达到木马传播的目的。当服务器端被受害者计算
机执行时,便将自身复制到系统目录,并把运行代码加入系统启动时会自动调用
的区域里,借以达到跟随系统启动而运行,这一区域通常称为“启动项”。当木马
完成这部分操作后,便进入潜伏期——偷偷开放系统端口,等待入侵者连接。

阻止木马运行——查杀更彻底

  任何操作系统都会在启动时自动运行一些程序,用以初始化系统环境或额外
功能等,这些被允许跟随系统启动而运行的程序被放置在专门的区域里供系统启
动时加载运行,这些区域就是“启动项”,不同的系统提供的“启动项”数量也不同,
        对于Win9x来说,它提供了至少5个“启动项”:DOS环境下的Autoexec.bat、C
onfig.sys,Windows环境下的“启动”程序组、注册表的2个Run项和1个Run
Services项,分别是:

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersi
on\Run

  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\R
un

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersi
on\RunServices

  到了2000/XP系统时代,DOS环境被取消,却新增了一种称之为“服务”的
启动区域,注册表也在保持原项目不变的基础上增加了2个“启动项”:

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentV
ersion\Windows AppInit_DLLs

  HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersio
n\Windows run

  这么多的启动入口,木马自然不会放过,于是我们经常在一些计算机的启动
项里发现陌生的程序名,这时候就只能交由你或者病毒防火墙来判断了,毕竟系
统自身会在这里放置一些必要的初始化程序,还有一些正常工具,包括病毒防火
墙和网络防火墙,它们也必须通过启动项来实现跟随系统启动。

  此外还有一种不需要通过启动项也能达到跟随系统启动的卑劣手法,那就是
“系统路径遍历优先级欺骗”,Windows系统搜寻一个不带路径信息的文件时遵循
一种“从外到里”的规则,它会由系统所在盘符的根目录开始向系统目录深处递进
查找,而不是精确定位的,这就意味着,如果有两个同样名称的文件分别放在C:
\和C:\Windows下,Windows会执行C:\下的程序,而不是C:\Windows下的。
这样的搜寻逻辑就给入侵者提供了一个机会,木马可以把自己改为系统启动时必
定会调用的某个文件名,并复制到比原文件要浅一级以上的目录里,Windows
就会想当然的执行了木马程序,系统的噩梦就此拉开序幕。这种手法常被用于“i
nternat.exe”,因为无论哪个Windows版本的启动项里,它都是没有设置路径的。

  要提防这种占用启动项而做到自动运行的木马,用户必须了解自己机器里所
有正常的启动项信息,才能知道木马有没有混进来。至于利用系统路径漏洞的木
马,则只能靠用户自己的细心了。

根除木马——文件并联型木马的查杀

  某些用户经常会很郁闷,自己明明已经删除了木马文件和相应的启动项,可
是不知道什么时候它自己又原封不动的回来了,这还不算,更悲惨的是有时候杀
掉某个木马后,系统也出了故障:所有应用程序都打不开了。这时候,如果用户
对计算机技术的了解仅限于使用杀毒软件,那可只能哭哭啼啼的重装系统了!

  为什么会这样?难道这种木马还恶意修改了系统核心?其实答案很简单,因
为这种木马修改了应用程序(EXE文件)的并联方式。

  什么是“并联方式”呢?在Windows系统里,文件的打开操作是通过注册表内
相应键值指定的应用程序来执行的,这个部分位于注册表的“HKEY_CLASSES_
ROOT”主键内,当系统收到一个文件名请求时,会以它的后缀名为依据在这里
识别文件类型,进而调用相应的程序打开。而应用程序自身也被视为一个文件,
它也属于一种文件类型,同样可以用其他方式开启,只不过Windows设置它的
调用程序为“"%1" %*”,让系统内核理解为“可执行请求”,它就会为使用这
种打开方式的文件创建进程,最终文件就被加载执行了,如果有另外的程序更改
了这个键值,Windows就会调用那个指定的文件来开启它。一些木马程序把EXE后缀
名对应的exefile类型的“打开方式”改成了“木马程序 "%1" %*”,运行程序时系统
就会先为“木马程序”创建进程,把紧跟着的文件名作为参数传递给它执行,于是
在我们看来程序被正常启动了。因为木马程序被作为所有EXE文件的调用程序,
使得它可以长期驻留内存,每次都能恢复自身文件,所以在一般用户看来,这个
木马就做到了“永生不死”。然而一旦木马程序被删除,Windows就会找不到相应
的调用程序,于是正常程序就无法执行了,这就是所谓的“所有程序都无法运行”
的情况来源,并不是木马更改了系统核心,更没必要因此重装整个系统。

  根除这种木马的最简单方法只需要查看EXE文件的打开方式被指向了什么
程序,立即停止这个程序的进程,如果它还产生了其他木马文件的话,也一起停
止,然后在保持注册表编辑器开启着的情况下(否则你的所有程序都会打不开了)
删除掉所有木马文件,把exefile的“打开方式”项(HKEY_CLASSES_ROOT\exe
file\shell\open\command)改回原来的“”%1” %*”即可。

  如果删除木马前忘记把并联方式改回来,就会发现程序打不开了,这时候不
要着急,如果你是Win9x用户,请使用“外壳替换大法”:重启后按F8进入启动菜
单选择MS-DOS模式,把Explorer.exe随便改个名字,再把REGEDIT.EXE改
名为Explorer.exe,再次重启后会发现进入Windows只剩下一个注册表编辑器
了,赶快把并联方式改回来吧!重启后别忘记恢复以前的Explorer.exe。

  对于Win2000/XP用户而言,这个操作更简单了,只要在开机时按F8进入
启动菜单,选“命令提示符的安全模式”,系统就会自动调用命令提示符界面作为
外壳,直接在里面输入REGEDIT即可打开注册表编辑器!XP用户甚至不需要重
启,直接在“打开方式”里浏览到CMD.EXE就能打开“命令提示符”界面运行注册
表编辑器REGEDIT.EXE了。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章