autoruns是一款功能强大的软件,特别是对自启动项添加前后的比较功能,PS:“AUTO”=“自动”;“RUN”=“运行”;因此,“AUTORUNS”=自启动项目组,想必大家已经明白其用途了--用于管理开机自启动项目组的一款软件。
这里双击软件包中的AUTORUNS.EXE这个文件,就可以进入该软件主程序的窗口:
图2
AUTORUNS程序主界面如图3:
图3
工欲善其事,必先利其器。由于软件首次使用时,默认字体是8号字,比较小,对于近视眼的同志来讲简直是折磨。按照下图步骤,在弹出的对话框中把字体调到10号字以上吧(可惜的是菜单和标签的中文字体大小不能更改,凑活用吧):
图4
图5
调整字体后,我们放眼睛望去,可以见到15个标签,列表下的内容全部是用类似注册表编辑器的方式显示的。
图6
下面简单介绍一下各标签的含义:
“全部”--顾名思义,全部的开机自启动项都在这个标签下啦。另外,它也是双击autoruns.exe弹出窗口缺省定位的标签,包括其他标签的所有内容。
“登陆”- -细心的朋友可以发现,该标签下HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun、HKCU SoftwareMicrosoftWindowsCurrentVersionRun这两个注册表子项的内容与系统配置实用程序“启动”标签下打勾的项目是完全一样的,甚至“登陆”的图标也和系统配置实用程序MSCONFIG.EXE的图标完全相同,呵呵!当然,除了以上项目外,该标签还包括 HKLMSystemCurrentControlSetControlTerminal ServerWdsrdpwdStartupPrograms、HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit、HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell这三个自启动子项的内容,这些是用系统配置实用程序“启动”标签看不到的内容。
“资源管理器”:对应资源管理器在注册表上的子项和值项。
“英特网浏览器”:对应的是IE所有浏览器帮助对象(BHO)、网络URL地址搜索钩子、各类IE工具条以及IE常用工具栏按钮所对应的注册表子项和注册表值项值。
“计划任务”:和“开始”--“程序”--“附件”--“系统信息”--“任务计划”中的内容是完全一致的,一般为空。
“服务”:即HKLMSystemCurrentControlSetServices对应的开机自启动服务的项目。由于具备开机自启动功能,而且依靠ROOTKIT技术可以隐蔽运行,所以是病毒(流氓软件)最爱光临的地方。
“驱动”:即HKLMSystemCurrentControlSetServices对应的开机自启动驱动程序的项目。同上,又一个病毒经常光临的乐园。
“启动执行”:在系统登陆前启动的本地映像文件(即WINDOWS映像文件的对称)及自启动项的情况。形象地理解一下,就是貌似瑞星的系统登陆前扫描这样的自启动项。
“映像劫持”:在此标签下的内容对应的应用程序,开机后即被系统强制劫持而不能运行(就是我们经常说的IFEO,即系统自带的应用程序映像劫持功能)。
“APPINIT”:初始化动态链接库,其内容是开机时系统加载的必要的初始化动态链接库文件。除了卡巴斯基等少数软件需要通过添加DLL文件到此处实现从开机就接管系统底层的目的外,一般此项目应为空。
“KNOWNDLLS”:系统中已知的DLL文件。
“WINLOGON”:WINLOGON登陆项对应的自启动注册表子项及值项。
“WINSOCK提供商”:显示已注册的WINSOCK协议,包括WINSOCK服务商。由于目前只有很少的工具能够移除该项目下的内容,恶意软件经常伪装成WINSOCK服务商实现自我安装。AUTORUNS可以卸载此项目下的内容,但不能禁用他们。
“打印监视器”:显示在PRINT SPOOLER服务中被加载的DLL文件。一些恶意软件可能利用此服务项目实现开机自启动。
“LSA提供商”: LSA的全称为“Local Security Authority”——本地安全授权,Windows系统中一个相当重要的服务,所有安全认证相关的处理都要通过这个服务。它从 Winlogon.exe中获取用户的账号和密码,然后经过密钥机制处理,并和存储在账号数据库中的密钥进行对比,如果对比的结果匹配,LSA就认为用户的身份有效,允许用户登录计算机。如果对比的结果不匹配,LSA就认为用户的身份无效。这时用户就无法登录计算机。
下面该进入正题了。之前,我们需要一一了解该软件窗口下菜单栏的用法,讲解菜单功能之前,先统一一下思想:本软件窗口项目列表中灰色的部分,我这里叫自启动子项(不能也不允许你删除,不能使用“验证”、“属性”菜单功能,想想这应该是当然的罗),白色的部分,我称之为自启动值项,记住了!
一、主要功能菜单的介绍:
(一)“文件”
该菜单项目的下拉菜单项目包括:
1、“查找”:可以用来查找和定位包含输入字段的所有自启动子项和值项。比较实用的功能。
2、 “比较”:用于比较当前状态和以前保存过的日志的差异并设置标记。如果选择这个菜单项目,则弹出一个对话框要求你选择一个你保存过的以前的日志,选定所需要的日志后,点“打开”,如果选定的日志的自启动子项、自启动值项与当前的状态有差异,AUTORUNS将以绿色突出显示,表示前后的自启动项存在不符。超有用的功能(后面有介绍)。
3、“保存”、“另存为”:保存日志用的,这里就不多讲了。
4、“刷新”:…………过。
5、“退出”:…………。
图7
(二)“项目”(其下拉菜单和在项目条上点右键弹出的快捷菜单内容、功能完全相同)
该菜单项目的下拉菜单项目包括:
1、“删除”:如果选定了一个自启动值项,该菜单项即可用,可以用来删除所选择的启动项目(可惜不能一次删除多个项目,当然,也不能删除开机自启动项目注册表子项);
2、“复制”:可以复制所选择自启动子项和自启动值项,可用“粘贴”将启动子项和自启动值项的内容复制到其他需要用的地方。
3、“验证”:选择这个菜单项后,软件将自动对列表中所选自启动值项进行数字签名验证,可以通过它发现病毒和流氓软件的破绽。
4、“跳转到”:选择这个菜单项后,将自动定位到所选自启动子项和自启动值项在注册表的相应位置,比较实用的功能,多用来对有问题但不能删除的自启动值项进行编辑,以修改被病毒强行修改的一些系统核心的自启动值项的注册表值项值。
5、“GOOGLE/MSN”:选定某个自启动子项和自启动值项后,选择这个菜单项目将以被选择内容为字段在GOOGLE/MSN上进行搜索。
6、“进程浏览器”:这玩意我用不了,提示有错误,无奈先过了。
7、“属性”:可以快速显示自启动值项对应文件的属性,十分方便的功能,一些时候可以通过查找文件属性相关数据判断该文件是否正常(如创建时间等数据)。
该菜单项目的下拉菜单项目包括:
1、“包括空白启动位置”:如果AUTORUNS找不到自启动值项的启动位置,该值项将以空白显示。也就是说,如果AUTORUN找不到映像文件对应的自启动项目,选择这个菜单将显示这个AUTORUNS不能识别的自启动项(虽然自启动项目的名称和说明可能都是空的)。勾选或取消勾选后要用“刷新”才有效。
2、“验证代码签名”:一个很实用的功能,是用来指验证所有自启动值项的文件签名(Windows下的硬件有一个签名的功能,它是为了保证所有的驱动文件是经过MICROSOFT CORPORATION测试,符合HAL兼容性),如果核对通过,则可基本排除自启动值项是恶意软件的启动项目。勾选后要用“刷新”才有效。
3、“隐藏微软项目”:同样是一个很实用的功能,可以隐藏微软认证的项目,因为微软认证的项目不再显示,可供怀疑的自启动子项、自启动值项大幅度减少,使发现不正常的自启动值项的难度和工作量降低。勾选后要用“刷新”才有效。
4、“字体”:前面都用过了…………直接过。
5、“搜索引擎”:有GOOGLE和MSN两个子菜单项,选择其中一个后,被选择的就被作为AUTORUNS的默认搜索引擎,并直接在“项目”下拉菜单或在自启动子项、自启动值项点右键弹出菜单的第五项反映出来。
(四)“用户”
该菜单项目的下拉菜单项目(根据操作系统的不同、用户帐户的不同,显示的菜单项目的名称和个数也不同,我的是WINXPSP2操作系统,一个管理员帐户)包括:
“操作系统版本-用户帐户名”和“操作系统版本-超级管理员用户帐户名”。有多少用户帐户就有多少个菜单项目(没有试验,不知道有兴趣的朋友不妨试下)。比如该菜单项的下拉菜单,在我机只有“WINXPSP2-***”和“WINXPSP2-ADMINISTRATOR”两个子项目。用鼠标左键勾选择不同项目可以实时切换不同帐户下自启动子项和自启动值项(哪个菜单项前打勾,就表示当前显示的是哪个帐户的自启动子项目和自启动值项)。
(五)“帮助”:直接略过。
二、常用工具栏的介绍
在菜单栏下面,有一排按钮组成的常用工具栏,根据下图的标记的顺序,简单介绍一下:
1号按钮:“保存”按钮(等同于菜单栏的“文件”--“保存”功能)
2号按钮:“刷新”按钮(等同于菜单栏的“文件”--“刷新”功能)
3号按钮:“查找”按钮(等同于菜单栏的“文件”--“查找”功能)
4号按钮:“属性”按钮(等同于菜单栏的“项目”--“属性”功能)
5号按钮:“删除”按钮(等同于菜单栏的“项目”--“删除”功能)
6号按钮:“跳转”按钮(等同于菜单栏的“项目”--“跳转到”功能)
图10
三、特色功能
(一)比起注册表编辑器庞大的数据库来说,AUTORUNS显得更加专业--只管理开机自启动项,别的不管,使用起来更简便和有针对性。这也是AUTORUNS软件的最大特色。
(二)利用“文件”--“比较”功能,可轻易找出当前系统自启动项比以前保存日志时系统增加的自启动子项和自启动值项,使检验添加自启动项的正常与否变得更加方便。
(三)“验证代码签名”、“隐藏微软项目”这两个功能,使得判断某个自启动子项和自启动值项是否是恶意软件更加简单,否则项目太多(一般有200多个),会看着发晕的。
(四)用“跳转到”菜单项目建立了与注册表之间的快速切换,特别适合用来调用注册表编辑器来编辑一些被恶意软件强行插入病毒模块字段的注册表值项值。
(五) “属性”菜单项目可以直接在自启动项目上用右键调出,也可以在选择该项目后用“项目”--“属性”调出,直接定位并显示自启动项指向映像文件的“属性”,由此可以方便地利用文件的创建时间、大小、版本号等要素判断映像文件(自启动项)是否正常,应该是很方便也很有特色的一个功能!
四、实战案例
案例一、删除有问题的驱动保护
如通过SRENG扫描日志发现有个不明驱动项目USBVM31B.SYS在机中活动!(这里仅仅是在举例,实际上这个服务项目是摄像头驱动,而且为了说明问题我对该映像文件的“属性”做了修改,实际该文件并非病毒驱动文件,不可照搬使用哦!)
怎么办?按照下列步骤,你会发现,原来查杀病毒驱动保护也不复杂:
1、双击autoruns.exe,进入AUTORUNS窗口,
图12
2、选项--勾选“隐藏微软项目”--按菜单栏下常用工具栏的“刷新”按钮,排除不必要的正常自启动项目;
图13
3、“文件”--“查找”--输入“USBVM31B.SYS”--回车,让AUTORUNS自动查找包括“USBVM31B.SYS”字段的自启动值项并定位;
图14
图15
如上图,发现USBVM31B.SYS这个DD有驱动保护,且驱动保护项目为ZSMC301B
图16
4、右键找到的项目条,选择“验证”,按菜单栏下的“刷新”按钮刷新一下,发现AUTORUNS提示“未通过验证”,有点怀疑;
图17
5、右键该项目条,选择“属性”,发现该映像文件创建时间是今天。因为最近没有安装新软件和硬件,感觉其有重大安全隐患。
图18
6、右键该项目条,选择“GOOGLE/MSN”,在网上查找该映像文件的相关资料:
图19
7、经过在网络上查找资料确认,认定该文件为病毒文件(为说明问题才这样说的,别当真!),这就证明ZSMC301B这个自启动项目就是病毒的驱动保护。在该项目条上右键,选择“删除”,删除了该自启动项之后, USBVM31B.SYS这个病毒文件失去了驱动保护,也就无用武之地了,而且可以直接用“SHIFT”+“DEL”删除(如果不删除此驱动保护,你会发现在删除“USBVM31B.SYS”这个映像文件时,会出现“该文件正在运行,请关闭相关的程序后再删除”之类的提示,或者即便能删除也会很快复活。这就是病毒或流氓软件热衷于此的根本原因)。
图20
8、为了彻底不留后患,按照AUTORUNS提供的信息找到该映像文件(删除ZSMC301B这个自启动项前可以在其项目条上右键,选择“复制”,将复制内容粘贴到写字板或记事本中,以便删除映像文件时查找该文件的路径和文件名),删除c:windowssystem32driversUSBVM31B.SYS这个文件。
图21
案例二、通过“比较”检验自己当前的自启动项是否有问题。
如果以前在机器正常时保存了AUTORUNS的日志,而当前感觉机器明显有问题,可以通过以下办法简单确认恶意软件可能添加的自启动项:
1、双击打开autoruns.exe,进入AUTORUNS窗口,依次点“文件”--“比较”;
图22
2、在弹出的对话框中选定前面保存的日志后,点“打开”;
图23
3、这时AUTORUNS将会对当前自启动项同打开日志的自启动项进行比较,对当前自启动项如果比老日志多或者少,整个列表的项目将以绿色突出显示!
图24
4、接下来,可以再保存一份新日志,与老日志比对,寻找有差异的自启动项。如果新日志比老日志启动项目多,则先确认多的启动项目是否是恶意自启动项,可以按照案例一第2到第6步的办法检测,如果确认多出的自启动项是不正常的,参照案例一第7-8步的办法清理。
案例三、利用“跳转到……”这个AUTORUNS和注册表编辑器快速链接方式,修复被病毒修改且不能删除自启动值项值。
我们知道HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit这个自启动项是不能删除的,否则系统无法登陆,其注册表值项值正常情况下“c: windowssystem32userinit.exe ,”(注意逗号是必须有的!),当病毒或者恶意软件入侵后,可能造成该注册表值项值被改成“c:windowssystem32 userinit.exe ,ABC.EXE”,这个多出的ABC.EXE就是病毒(流氓软件)插入的病毒随系统登陆自启动的病毒进程。在AUTORUNS中是不允许修改自启动项值的,怎么办?别着急,AUTORUNS已经想到这点啦,按照下面的办法就可以搞定了:
1、双击打开autoruns.exe,进入AUTORUNS窗口,;
2、“选项”--勾选“隐藏微软项目”--按菜单栏下常用工具栏的“刷新”按钮,排除不必要的正常自启动项目;
3、“文件”--“查找”--输入“c:windowssystem32userinit.exe”--回车,让AUTORUNS自动查找包括“c:windowssystem32userinit.exe”字段的自启动值项并定位;
图25
4、右键点击此自启动值项,选择“跳转到…………”,发现弹出注册表编辑器的窗口,表示AUTORUNS已经链接到注册表编辑器。在注册表编辑器中对应的注册表值项值中,发现病毒(流氓软件)已经入侵该自启动项目,并释放了一个ABC.EXE随userinit.exe一同自启动:
图26
5、用注册表编辑器修改[HKLMSOFTWAREMicrosoft Windows NTCurrentVersionWinlogonUserinit]这个值项的值,由被病毒修改后的“c:windowssystem32 userinit.exe ,ABC.EXE”改为正常的“c:windowssystem32userinit.exe,”(修改注册表值项值的操作这里就不罗嗦了)
图27
7、手工删除c:windowssystem32ABC.EXE这个病毒进程文件,清除结束。
小知识:有些自启动值项值是不能删除的,除了以上说的[HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit]的“c:windowssystem32userinit.exe,” 外,还有以下几个常用的自启动子项也属于这种情况:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindowsappinit_dlls,其正常值项值一般为空(安装卡巴斯基杀软的除外);
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUIHost,其正常值项值应为“logonui.exe”。
总结:
按照登陆启动方式的不同分类表示,也便于使用者缩小范围,提高效率。当然, autoruns8.53的不足之处也是很明显的,主要是对不能删除的核心自启动项的保护不足,一旦误操作将造成严重后果,比如删除了[HKLM SOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit]自启动项后,将直接造成开机反复注销帐户,连安全模式都进入不了,只能采取重装系统或用第三方软件(如ERD2003)来修复(这点上,瑞星卡卡貌似也差不多),因此,新手使用时请一定要慎重;还有,日志比较的功能不太人性化,当前自启动项和日志自启动项的差异不能准确定位,只能让使用者知道现在的自启动项与以前有变化,但不知道变化在哪里,还要通过再保存日志与老日志手工比较,有点麻烦;另外,随着SRENG等老牌系统扫描工具功能的加强,AUTORUNS的优势越来越不明显,最新版本AUTORUNS8.61还居然搞成了安装版…………。
不管怎么样,对于常在病毒身边走的我们,有一些好的系统扫描和检查工具是必要的,autoruns8.53虽然功能有一定局限性,但简单易学,也许能如你所愿。