文章同时发表在:[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. 在 windows 命令行下快速检测与排除网络故障

    电子科技大学微软技术俱乐部 梁晨 当我们组建好了一个小型局域网后,为了使网络运转正常,网络维护就显得格外重要.由于网络协议和网络设备的复杂性,许多故障解决起来绝非像解决单机故障那么简单.网络故障的定位 ...

  2. mysql 在cmd命令行下操作遇到的转义字符

    今天在cmd命令行下,用mysqldump来进行备份数据库,遇到了这个一个问题, 先看命令如下,  mysqldump -uyaner -pyaner&123 -h 192.168.0.5 t ...

  3. Linux快捷键-命令行下

    LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...

  4. Linux命令行性能检测工具

    上面引用了IBM红皮书介绍的关于Linux性能需要考虑的内容.今天继续截选和修改文档中关于检测部分的介绍,但这部分不是很详细,今后有时间我会再补充一些参考资料.     ※注:下面附图的命令输出信息, ...

  5. 命令行下 pdb 调试 Python 程序

    官方参考网站 The Python Debugger : https://docs.python.org/3/library/pdb.html gdb 调试命令的使用及总结:https://blog. ...

  6. 详解Linux命令行下常用svn命令

    2019独角兽企业重金招聘Python工程师标准>>> 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目 ...

  7. Windows命令行下常用网络命令解释大全

    命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...

  8. 在CMD命令行下关闭进程的命令

    [重要]在CMD命令行下关闭进程的命令 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos中的作 ...

  9. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  10. linux 设置显卡命令,Linux 命令行下如何配置nVIDIA显卡 之三

    安装完成后系统会提示是否使用nvidia-xconfig 命令更新当前配置,此时可以放心使用因为原配置是会自动备份的,选择"yes" 选项继续见图3 . 图3 使用nvidia-x ...

最新文章

  1. 求排列的逆序数(分治)
  2. 小牛生产小牛的问题解决集粹
  3. 《C++覆辙录》——2.9:自反初始化
  4. 底层框架_你有必要了解一下Flink底层RPC使用的框架和原理
  5. 优地机器人厂家_2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十...
  6. HTML5新的解析顺序,HTML5新表单新功能解析
  7. Redis 哨兵(sentinel)模式集群配置(5.0.3版本)
  8. HashSet、LinkedHashSet、TreeSet 简明解释
  9. 谋学网计算机维修,19秋学期西交《计算机组成原理》在线作业1(标准答案).doc...
  10. iconfont-阿里巴巴矢量图标库的使用方法
  11. 点击地图出现导航php,在H5页面中,通过地址打开高德地图以实现导航
  12. centos7上部署php7遇到的坑
  13. 跨平台实现基础(一)JsCore 原理和实践
  14. 画画初学者怎么画好素描?画素描的技巧有哪些?
  15. oracle 注入 nc,oracle注入,utl_http方法
  16. 保险费率软件测试题目,软件测试保险等价类法测试用例
  17. 亚马逊Amazon Vendor Central EDI对接流程
  18. 利用Matlab判断某些点是否在多边形区域内
  19. 斯特封和格莱圈的区别
  20. vue2 使用富文本插件 vue-tinymce(tinymce)

热门文章

  1. WDF基本对象和句柄定义
  2. 银行系统总体架构\银行核心系统\常用金融名词解释
  3. 解决Win10打开可执行文件提示为了对电脑进行保护,已经阻止此应用的问题
  4. 公钥密码学 公钥基础设施_简单解释公钥密码学
  5. python got an unexpected keyword argument
  6. 三角形的内切圆和外接圆半径公式
  7. html网页怎么弄背景 图片,在html网页中如何设置背景图片?网页背景怎么设置?...
  8. Windows使用ROS机器人操作系统12记录
  9. ubuntu永久修改mac地址
  10. MCE | 线粒体和能量代谢的关系