怎样在命令行下检测和清除恶意软件
测试环境是运行在虚拟机中的英文版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 |
图6 |
由上图可见,dir命令找不到文件,dir的/a参数指显示所有属性的文件,包括隐藏和系统问题,/s参数是搜索的范围包括当前目录的所有子目录。
1、因为木马程序安装之后生成一个自启动服务,首先要做的就是停止并禁用该服务,依然使用Psservice:
图7 |
Psservice stop zzxrubbr停止可疑服务
Psservice config zzxrubbr disabled禁用可疑服务
使用psservice的好处是即使恶意软件禁用了微软控制台mmc,用户依然可以通过命令行下的操作控制服务,同时对一些不支持用户交互操作的服务(大部分恶意软件的服务属于此类)也可以管理
2、重新启动系统之后,我们可以用dir来再次确认可疑服务的可执行文件是否存在:
图8 |
可以看到3个和可疑服务同名的文件,但扩展名不同的文件。
3、好了,木马的文件已经全部找到,有三种方法可以清除:
1)删除法,适合于恶意程序在内存中的进程已经停止的场合,使用系统自带的删除命令del:
图9 |
图10 |
3)修改权限法,是恶意软件清除操作中最后也是最有效的一招,多用于无法删除和重命名目标恶意软件的场合,使用修改权限法,还可以对目标恶意软件进行免疫。重启后,目标恶意软件因为没有执行权限无法启动,达到清除目的:
图11 |
Cacls命令是Windows自带的命令行下文件权限管理工具,/d参数为拒绝指定用户对指定文件的访问,在恶意软件清除操作中,通常拒绝掉system和administrators用户即可。
经过以上步骤,一个带Rootkit功能的恶意软件样本已经被检测并清除。其他类型的恶意软件清除的步骤也大同小异,用户需要了解的是常见恶意软件的可执行文件存放的地点,还有建议用户在安全模式下进行清除。
怎样在命令行下检测和清除恶意软件相关推荐
- 在 windows 命令行下快速检测与排除网络故障
电子科技大学微软技术俱乐部 梁晨 当我们组建好了一个小型局域网后,为了使网络运转正常,网络维护就显得格外重要.由于网络协议和网络设备的复杂性,许多故障解决起来绝非像解决单机故障那么简单.网络故障的定位 ...
- mysql 在cmd命令行下操作遇到的转义字符
今天在cmd命令行下,用mysqldump来进行备份数据库,遇到了这个一个问题, 先看命令如下, mysqldump -uyaner -pyaner&123 -h 192.168.0.5 t ...
- Linux快捷键-命令行下
LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...
- Linux命令行性能检测工具
上面引用了IBM红皮书介绍的关于Linux性能需要考虑的内容.今天继续截选和修改文档中关于检测部分的介绍,但这部分不是很详细,今后有时间我会再补充一些参考资料. ※注:下面附图的命令输出信息, ...
- 命令行下 pdb 调试 Python 程序
官方参考网站 The Python Debugger : https://docs.python.org/3/library/pdb.html gdb 调试命令的使用及总结:https://blog. ...
- 详解Linux命令行下常用svn命令
2019独角兽企业重金招聘Python工程师标准>>> 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目 ...
- Windows命令行下常用网络命令解释大全
命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...
- 在CMD命令行下关闭进程的命令
[重要]在CMD命令行下关闭进程的命令 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos中的作 ...
- Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]
本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...
- linux 设置显卡命令,Linux 命令行下如何配置nVIDIA显卡 之三
安装完成后系统会提示是否使用nvidia-xconfig 命令更新当前配置,此时可以放心使用因为原配置是会自动备份的,选择"yes" 选项继续见图3 . 图3 使用nvidia-x ...
最新文章
- 求排列的逆序数(分治)
- 小牛生产小牛的问题解决集粹
- 《C++覆辙录》——2.9:自反初始化
- 底层框架_你有必要了解一下Flink底层RPC使用的框架和原理
- 优地机器人厂家_2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十...
- HTML5新的解析顺序,HTML5新表单新功能解析
- Redis 哨兵(sentinel)模式集群配置(5.0.3版本)
- HashSet、LinkedHashSet、TreeSet 简明解释
- 谋学网计算机维修,19秋学期西交《计算机组成原理》在线作业1(标准答案).doc...
- iconfont-阿里巴巴矢量图标库的使用方法
- 点击地图出现导航php,在H5页面中,通过地址打开高德地图以实现导航
- centos7上部署php7遇到的坑
- 跨平台实现基础(一)JsCore 原理和实践
- 画画初学者怎么画好素描?画素描的技巧有哪些?
- oracle 注入 nc,oracle注入,utl_http方法
- 保险费率软件测试题目,软件测试保险等价类法测试用例
- 亚马逊Amazon Vendor Central EDI对接流程
- 利用Matlab判断某些点是否在多边形区域内
- 斯特封和格莱圈的区别
- vue2 使用富文本插件 vue-tinymce(tinymce)
热门文章
- WDF基本对象和句柄定义
- 银行系统总体架构\银行核心系统\常用金融名词解释
- 解决Win10打开可执行文件提示为了对电脑进行保护,已经阻止此应用的问题
- 公钥密码学 公钥基础设施_简单解释公钥密码学
- python got an unexpected keyword argument
- 三角形的内切圆和外接圆半径公式
- html网页怎么弄背景 图片,在html网页中如何设置背景图片?网页背景怎么设置?...
- Windows使用ROS机器人操作系统12记录
- ubuntu永久修改mac地址
- MCE | 线粒体和能量代谢的关系