实验目的
(1)了解注册表的相关知识;
(2)了解程序在开机过程中的自启动;
(3)掌握Autoruns在注册表和启动项方面的功能;
预备知识
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
AutoRuns是一款启动项目管理工具,作用就是检查开机自动加载的所有程序,例如硬件驱动程序,windows核心启动程序和应用程序.它比windows自带的msconfig.exe还要强大,通过它我们还可以看到一些在msconfig里面无法查看到的病毒和木马以及恶意插件程序.还能够详细的把启动项目加载的所有程序列出来。
实验环境
Autoruns 11.70 可运行在Windows XP 及更高版本、Windows Server 及更高版本。
本实验的运行环境是win 7。
实验内容和步骤
任务描述:通过Autoruns实现对启动项的管理,查看不同类别的启动项
1. 启动程序
进入实验机桌面打开“启动项管理工具AutoRuns使用实验”文件夹,解压“实验工具Autoruns11.70.zip”。
双击“Autoruns.exe”,启动程序,进入程序主界面,默认显示的是“everything”选项卡下的内容,显示所有的开机自启动项,打钩代表当前设置开机启动,不打勾代表取消开机启动:
“logon”选项卡:用户登录到系统时自启动的项目
“Explorer”选项卡:对应资源管理器在注册表上的子项和值项
“Internet Explorer”选项卡:对应的是IE所有浏览器帮助对象(BHO)、网络URL地址搜索钩子、各类IE工具条以及IE常用工具栏按钮所对应的注册表子项和注册表值项值。
“Scheduled Tasks”选项卡:和“开始”--“程序”--“附件”--“系统信息”--“任务计划”中的内容是完全一致的,一般为空。
“Services”选项卡:HKLM\System\CurrentControlSet\Services对应的开机自启动服务的项目。由于具备开机自启动功能,而且依靠ROOTKIT技术可以隐蔽运行,所以是病毒(流氓软件)最爱光临的地方。
“Drivers”选项卡:HKLM\System\CurrentControlSet\Services对应的开机自启动驱动程序的项目,病毒经常光临的乐园。
“Boot Execute”:在系统登陆前启动的本地映像文件(即WINDOWS映像文件的对称)及自启动项的情况。如瑞星在系统登陆前自动扫描这样的自启动项。
“Image Hijacks”选项卡:在此标签下的内容对应的应用程序,开机后即被系统强制劫持而不能运行(就是我们经常说的IFEO,即系统自带的应用程序映像劫持功能)。
“AppInit”选项卡:初始化动态链接库,其内容是开机时系统加载的必要的初始化动态链接库文件。除了卡巴斯基等少数软件需要通过添加DLL文件到此处实现从开机就接管系统底层的目的外,一般此项目应为空。
“Known DLLs”选项卡:系统中已知的DLL文件。
“Winlogon”选项卡:登录系统时登陆项对应的自启动注册表子项及值项。
“Winsock Providers”选项卡:显示已注册的WINSOCK协议,包括WINSOCK服务商。由于目前只有很少的工具能够移除该项目下的内容,恶意软件经常伪装成WINSOCK服务商实现自我安装。AUTORUNS可以卸载此项目下的内容,但不能禁用他们。
“Print Monitors”选项卡:显示在PRINT SPOOLER服务中被加载的DLL文件。一些恶意软件可能利用此服务项目实现开机自启动。
“LSA Providers”选项卡:LSA的全称为“Local Security Authority”——本地安全授权,Windows系统中一个相当重要的服务,所有安全认证相关的处理都要通过这个服务。它从 Winlogon.exe中获取用户的账号和密码,然后经过密钥机制处理,并和存储在账号数据库中的密钥进行对比,如果对比的结果匹配,LSA就认为用户的身份有效,允许用户登录计算机。如果对比的结果不匹配,LSA就认为用户的身份无效。这时用户就无法登录计算机。
2.“File”下拉菜单
“find”:查找和定位包含输入字段的所有自启动子项和值项。
“save”:保存当前的启动项到一个日志文件。
“compare”:用于比较当前状态和以前保存过的日志的差异并设置标记。如果选择这个菜单项目,则弹出一个对话框要求你选择一个你保存过的以前的日志,选定所需要的日志后,点“打开”,如果选定的日志的自启动子项、自启动值项与当前的状态有差异,Autoruns将以绿色突出显示,表示前后的自启动项存在不符,便于找出差异。如下图所示:
3.“Entry”下拉菜单
“Delete”:如果选定了一个自启动值项,该菜单项即可用,可以用来删除所选择的启动项目(不能一次删除多个项目,也不能删除开机自启动项目注册表子项)
“Copy”:可以复制所选择自启动子项和自启动值项,可用“粘贴”将启动子项和自启动值项的内容复制到其他需要用的地方。
“Jump to Entry”:选择这个菜单项后,将自动定位到所选自启动子项和自启动值项在注册表的相应位置,多用来对有问题但不能删除的自启动值项进行编辑,以修改被病毒强行修改的一些系统核心的自启动值项的注册表值项值。
“Jump to Image”:跳转到启动项对应的文件所在目录。
“Search Online”:在网上搜索启动项对应的文件
“Process Explorer”:需要其他软件的支持,“Process Explorer”是另外一个小工具。
“Properties”:可以快速显示自启动值项对应文件的属性,十分方便的功能,一些时候可以通过查找文件属性相关数据判断该文件是否正常(如创建时间等数据)。
4.“option”选项下的“Font”主要是进行字体的设置
5.“option”选项下的“Filter Options”
“Include empty locations“:即包括空白启动位置,如果AUTORUNS找不到自启动值项的启动位置,该值项将以空白显示。也就是说,如果AUTORUN找不到映像文件对应的自启动项目,选择这个菜单将显示这个AUTORUNS不能识别的自启动项(虽然自启动项目的名称和说明可能都是空的)。勾选或取消勾选后要用“刷新”才有效。
“Show only per-user locations”:只显示一个用户下的信息。 “Verify code signatures”:个很实用的功能,是用来指验证所有自启动值项的文件签名(Windows下的硬件有一个签名的功能,它是为了保证所有的驱动文件是经过MICROSOFT CORPORATION测试,符合HAL兼容性),如果核对通过,则可基本排除自启动值项是恶意软件的启动项目。勾选后要用“刷新”才有效。
“Hide Microsoft entries”:可以隐藏微软认证的项目,因为微软认证的项目不再显示,可供怀疑的自启动子项、自启动值项大幅度减少,使发现不正常的自启动值项的难度和工作量降低。勾选后要用“刷新”才有效。
6.“User”
该菜单项目的下拉菜单项目(根据操作系统的不同、用户帐户的不同,显示的菜单项目的名称和个数也不同)包括:“操作系统版本-用户帐户名”和“操作系统版本-超级管理员用户帐户名”。有多少用户帐户就有多少个菜单项目。比如该菜单项的下拉菜单。用鼠标左键勾选择不同项目可以实时切换不同帐户下自启动子项和自启动值项(哪个菜单项前打勾,就表示当前显示的是哪个帐户的自启动子项目和自启动值项)。
7. 项目操作
选择一个启动项目,右击,“Jump to Entry”会跳转到对应的注册表项,“Jump to Image”跳转到文件所在,“Delete”则是删除启动项及相应的注册表项:
8. 特色功能
比起注册表编辑器庞大的数据库来说,AUTORUNS显得更加专业--只管理开机自启动项,别的不管,使用起来更简便和有针对性。
利用“File”—“Compare”功能,可轻易找出当前系统自启动项比以前保存日志时系统增加的自启动子项和自启动值项,使检验添加自启动项的正常与否变得更加方便。
“Verify code signature”、“Hide Microsoft Entries”这两个功能,使得判断某个自启动子项和自启动值项是否是恶意软件更加简单,否则项目太多(一般有200多个),会看着发晕的。
用“Jump to”菜单项目建立了与注册表之间的快速切换,特别适合用来调用注册表编辑器来编辑一些被恶意软件强行插入病毒模块字段的注册表值项值。
“Properties”菜单项目可以直接在自启动项目上用右键调出,直接定位并显示自启动项指向映像文件的“属性”,由此可以方便地利用文件的创建时间、大小、版本号等要素判断映像文件(自启动项)是否正常!