首页 > 编程知识 正文

命令提示符清除恶意软件,如何查杀恶意软件

时间:2023-05-04 22:00:30 阅读:285315 作者:4367

文章同时发表在: [url]http://netsecurity.51cto.com/art/200709/55155.htm[/url]        自从恶意软件背后的黑幕公诸于众之后,越来越多的安全厂商加入围剿恶意软件的战场,但恶意软件同时也在不断进化,许多新技术应用到恶意软件的开发中,恶意软件对查杀的抵抗性越来越强。虽然在图形界面下有许多反病毒软件或恶意软件清理工具可以选择,但用户常会遇到用这类工具无法查杀恶意软件,反被恶意软件删除或禁用的情况,而在系统命令行下进行恶意软件检测和清除工作则没有以上缺点,用户了解一下具体的步骤是十分有必要的。笔者将通过实例向用户介绍一下系统命令行下进行恶意软件检测和清除的步骤、常用的系统自带的命令和第三方工具。

     测试环境是运行在虚拟机中的英文版Windows XP SP2,补丁齐全,恶意软件样本则选择了一个互联网上比较常见的木马,如下图:

图1

执行后木马程序消失:

图2

     假设用户在此时发现自己的机器有异常,比如网络连接活动异常,或是反病毒软件/防火墙频繁报警,用户可以按照以下步骤检查一下:

1、先退出所有的浏览器、应用程序、即时聊天工具,检查网络连接,然后在开始菜单里的“运行”输入cmd,进入命令行状态,如下图

  图3

      Netstat是系统自带的网络状态检查工具,可以发现一般木马的网络活动,但无法发现一些使用Rootkit技术的恶意软件,用户可以使用Microsoft的免费工具TCPview来加强检测的效果。上图能看出Netstat和TCPview的区别,Netstat显示正常,但TCPview显示有一个由svchost.exe发起,到192.168.4.134的异常TCP连接。

2、检查完网络连接之后,接下去要检查系统中是否有异常进程,在这里我们使用系统自带的命令Tasklist:

图4

     上图是使用Tasklist/svc的显示结果,/svc参数是显示进程和服务的对应关系。红框内的svchost.exe就是可疑进程,它启动了一个名为zzxrubbr的服务。顺便说一句,如果发信目标恶意软件不是安装成服务,而是独立的一个进程,用户可以使用taskkilltarget/force命令从内存中杀掉恶意软件的进程。

3、使用Microsoft的免费工具psservice来查看该可疑服务的信息,psservice可以从PSTools工具包里找到,下图是使用psservice查看zzxrubbr的结果:

图5 4、根据服务名和可执行文件名字一般是相同的和绝大部分的服务程序或其他关键文件都放在system32下这一原则,先使用系统自带的dir命令查找该可疑服务的文件:

图6

   由上图可见,dir命令找不到文件,dir的/a参数指显示所有属性的文件,包括隐藏和系统问题,/s参数是搜索的范围包括当前目录的所有子目录。    从这个木马程序会隐藏网络连接和自身文件的特性来看,可以确定样本使用了Rootkit技术,常用的恶意软件工具不一定能清除它。接下去笔者将继续给大家演示 如何在命令行下清除该木马程序:

1、因为木马程序安装之后生成一个自启动服务,首先要做的就是停止并禁用该服务,依然使用Psservice:


图7

Psservice   stop  zzxrubbr停止可疑服务

Psservice  config  zzxrubbr   disabled禁用可疑服务

    使用psservice的好处是即使恶意软件禁用了微软控制台mmc,用户依然可以通过命令行下的操作控制服务,同时对一些不支持用户交互操作的服务(大部分恶意软件的服务属于此类)也可以管理

2、重新启动系统之后,我们可以用dir来再次确认可疑服务的可执行文件是否存在:

图8

可以看到3个和可疑服务同名的文件,但扩展名不同的文件。

3、好了,木马的文件已经全部找到,有三种方法可以清除:

1)删除法,适合于恶意程序在内存中的进程已经停止的场合,使用系统自带的删除命令del:

图9 2)重命名法,适用于目标恶意软件无法删除、或内存中无法清除恶意软件进程的场合,有时需要和系统另外一个命令attrib(命令行:attrib–h–s–rtarget)配合使用,改名之后需要重启。重启后目标恶意软件因为文件名已经改变而无法启动,然后用户手动删除恶意软件的可执行文件即可:

图10

3)修改权限法,是恶意软件清除操作中最后也是最有效的一招,多用于无法删除和重命名目标恶意软件的场合,使用修改权限法,还可以对目标恶意软件进行免疫。重启后,目标恶意软件因为没有执行权限无法启动,达到清除目的:

图11

   Cacls命令是Windows自带的命令行下文件权限管理工具,/d参数为拒绝指定用户对指定文件的访问,在恶意软件清除操作中,通常拒绝掉system和administrators用户即可。

    经过以上步骤,一个带Rootkit功能的恶意软件样本已经被检测并清除。其他类型的恶意软件清除的步骤也大同小异,用户需要了解的是常见恶意软件的可执行文件存放的地点,还有建议用户在安全模式下进行清除。     举另外的例子,比如常见的使用Autorun.inf的病毒,在系统命令行下杀掉病毒进程之后,并在各个分区根目录下删掉autorun.inf和病毒可执行文件、再清理系统目录即可清除。总之,命令行下进行恶意软件的检测和清除并不复杂,用户在图形界面下如果遇上清除不了的顽固恶意软件,可以尝试使用本文介绍的方法进行清除。







本文转自J0ker51CTO博客,原文链接:http://blog.51cto.com/J0ker/41005,如需转载请自行联系原作者

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。