巧用命令行 彻查电脑中的恶意软件

日期: 2008-01-22 作者:Ed Skoudis 来源:TechTarget中国 英文

有许多人不愿意使用Windows命令行,而愿意使用更复杂的图形用户界面。但是,在调查恶意软件感染的时候,各种命令行工具是非常有用的,因为基于图形用户界面的工具不总是起作用的。   首先,启动一个指令提出符。进入开始菜单,选择“运行”,然后输入“cmd.exe”。

在输入项结尾加上“.exe”是非常重要的。这是启动命令行提示符的最保险的方法。为了欺骗用户,恶意程序可能故意叫作“cmd.com”。在这种情况下,如果仅输入“cmd”,这个恶意软件就可以运行。

因此,你一定要输入&ldq……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

有许多人不愿意使用Windows命令行,而愿意使用更复杂的图形用户界面。但是,在调查恶意软件感染的时候,各种命令行工具是非常有用的,因为基于图形用户界面的工具不总是起作用的。

  首先,启动一个指令提出符。进入开始菜单,选择“运行”,然后输入“cmd.exe”。在输入项结尾加上“.exe”是非常重要的。这是启动命令行提示符的最保险的方法。为了欺骗用户,恶意程序可能故意叫作“cmd.com”。在这种情况下,如果仅输入“cmd”,这个恶意软件就可以运行。因此,你一定要输入“cmd.exe”。

  netstat

  在命令行提示符运行之后,下一步运行“netstat”指令,并且注意观察你的系统的监听端口。许多人都知道“netstat –na”命令能够提供这台机器的TCP和UDP端口列表。在这个指令的参数中增加一个“o”能够显示使用一个端口的每一个进行的ID。使用XP SP2,增加一个“b”参数将显示使用每一个端口的EXE文件的名称,以及装载用于与网络进行通讯的动态链接库。不过,要熟悉参数“b”的用法。这个功能能够消耗一些重要的CPU使用时间,你的处理器的60%至100%的使用时间最多是1分钟。

  但是,等一下,还有更多的事情。假如你要看一下端口使用状况和看看它如何变化的,在netstat指令后面增加一个空格,然后输入一个整数,如“netstat –nao 1”,这个指令将以这个数的频率运行。在这个例子中,它是每隔一秒运行一次。这个现实将不断地在屏幕上显示出来,如下图所示: 

  当然, 要甄别使用TCP和UDP端口的恶意软件,你需要知道一个系统的正常端口使用应该是什么样子。要搜索一台机器上使用的端口,要搜索Google 中的具体端口。此外,微软有Windows客户机和服务器使用的通用端口列表。你还可以搜索与微软和第三方应用程序有关的端口以及正式分配的端口列表。

  如果发现一个TCP或者UDP端口在使用,你可能要进行一次Google 搜索。使用一个与赛门铁克、Sophos或者McAfee等杀毒软件公司有关的“site:”指令。 这些网站也许有介绍使用指定端口的恶意软件的文章。下面是一个有帮助的搜索查询指令:

        site:symantec.com tcp port 4444

  reg

  杀毒软件厂商的介绍文章也许会提供恶意软件可能修改的任何注册键的详细情况。要在命令行查询这些注册键,可使用reg命令。即使这个杀毒网站没有提供任何要查询的注册键,你也需要搜索恶意软件修改的最常用的注册键:与系统开始菜单和用户登录有关的键。Reg命令通常称作“run”注册键,能够帮助在命令行显示它们的值。请注意,许多合法软件本身使用就使用这些键。在运行这个指令之后,你将发现这些注册键下面的项目。再说一次。一些Google搜索显示的内容有助于区分合法的设置和恶意软件的设置。

    C:> reg query
    HKLMSoftwareMicrosoftWindowsCurrentVersionRun
  C:> reg query
    HKLMSoftwareMicrosoftWindowsCurrentVersionRunonce
  C:> reg query
    HKLMSoftwareMicrosoftWindowsCurrentVersionRunonce

  我建议在额外的时间运行这些指令,用HKCU取代HKLM。这种替代方法能够发现以用户为中心的自动开始注册键,而不仅仅是根据HKLM的整个系统范围的设置。

  dir

  检查自动开始文件夹,查看从那里开始的任何出人意料的程序,也是一种聪明的方法。运行非常熟悉的老的“dir”指令,使用/A参数能够显示任何有属性设置或者没有属性设置的文件,以及隐藏的文件和非隐藏的文件。

      C:> dir /A "C:Documents and SettingsAll UsersStart MenuProgramsStartup"

  'net users' 与 'localgroup administrators'

  一些恶意软件向本地机器增加一个账户。因此,运行“net users”命令是很重要的。这个命令可以检查系统定义的账户。此外,由于一些僵尸电脑向本地管理组增加一个账户,因此一定要运行“localgroup administrators”(本地组管理器)命令检查这个特定的组的身份。你知道在你的管理员组中的全部人员吗?下面的图表显示了一些输出的例子。 

  tasklist /svc

  还有一个需要分析的更重要的区域:运行进程。在Windows XP专业版中,“tasklist”指令能够提供大量的信息。这个命令本身显示正在运行的进程,进程的ID编号和内存使用。但是,运行“tasklist /svc”命令能够显示每一个进程的运行的全部服务,如下面的图表所示。在搜索被调查的系统是否被恶意软件感染的时候,这种方法将提供更多的搜索内容。特别是svchost.exe 进程通常非常忙,运行许多服务。间谍软件有时候向这些进程或者其它进程嵌入许多额外的服务以便偷偷地监视或者控制一台机器。  

  最后,这几个命令能够提供对一台Windows计算机的更深入的了解。不过,要进行练习才能做得更好。花一些时间分析干净的系统,这样,你就会更熟悉“正常的” Windows机器是什么样子。然后,你对恶意软件发出的异常的东西就会更敏感。有了准备和练习之后,命令行技巧能够显著提高你对Windows机器的理解,使你能够准备好与恶意软件进行激烈的战斗。

相关推荐