1、精选优质文档-倾情为你奉上Windows注册表的攻击与防护一、注册表的介绍:微软Windows注册表是Windows 操作系统的核心。它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备说明以及各种网络状态信息和数据。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。由于注册表是操作系统核心,因此一旦Windows注册表损坏或被病的恶意修改,则会造成文件不能打开,某些功能操作不能进行。而且不少流行的网络病毒一旦启动后,会自动在计算机系统的注册表启动项中遗留有修复选项,待系统重新启动后这些病毒就能恢复到修改前的
2、状态了,很难被根本清除。二、注册表的数据结构:注册表由键(或称“项”)、子键(子项)和值项构成。一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。三、注册表的数据类型注册表的数据类型主要有以下四种: 显示类型(在编辑器中)数据类型说明REG_SZ字符串文本字符串REG_MULTI_SZ多字符串含有多个文本值的字符串REG_BINARY二进制数二进制值,以十六进制显示。REG_DWORD双字一个32位的二进制值
3、显示为8位的十六进制值。四、破解注册表的锁定:1、INF文件之法INF(设备信息文件)是微软公司为硬件设备制造商发布硬件设备驱动程序推出的一种文件格式。在INF文件中包含了操作(如安装、卸载、驱动等)硬件设备的各种信息(或脚本),诸如显示器、打印机、Modem等设备的安装就是通过它来完成的。 所以,利用INF文件的命令也能解锁注册表编辑器。具体的操作步骤如下: (1)在“记事本”中输入以下语句,并保存为.inf文件: Version Signature=$CHICAGO$ Defaultinstall DelReg=ClsReg ClsReg HKCU,SoftwareMicrosoftwi
4、ndowscurrentwersionpoliciessystem,disablergeistrytools (2)用鼠标右键单击该.inf文件;在弹出的右键快捷菜单中,选择“安装”即可。 2、JS文件之法JScript是一种解释型的、基于对象的脚本语言(Scripting Language)。用该语言编写的文件以.js作为文件名的扩展名。.js文件既可以在网页中被调用,又可以像可执行程序那样直接双击运行。 利用JScript语言中的命令同样能解锁注册表编辑器,具体的操作步骤如下: (1)在“记事本”中输入以下语句,并保存为.js文件: var wshshell=wscript.createo
5、bject(wscript.shell); wshshell.regwrite (HKCUSoftwareMicrosoftwindowscurrentwersionpoliciessystemdisablergeistrytools,o,reg_dword); wshshell.regdelete (HKCUSoftwareMicrosoftwindowscurrentwersionpoliciessystem); (2)直接用鼠标双击该.js文件即可。 在输入语句时需注意:“;”符号表示一个命令的结束,必须放在命令行尾;“/”后的文字只是起注释的作用,不会被执行;注册表中的各分支项必须用“
6、分隔。 3、组策略功能Windows 2000/XP/2003的用户可以利用系统中的“组策略”功能来解锁注册表编辑器。具体 的操作步骤如下: (1)依次单击“开始”“运行”,在弹出的“运行”对话框的“打开”下拉文本框中输入命令“gpedit.msc”,然后单击“确定”按钮。 (2)在弹出的“组策略”窗口中,依次展开左侧子窗口中的“本地计算机策略” “用户配置” “管理模板” “系统”子选项。 (3)在右侧子窗口中,双击“阻止访问注册表编辑工具”项目。在弹出的“属性”对话框的“设置”选项卡中选定“已禁用”单选项后,单击“确定”按钮即可。 这种方法实质上是通过将“Disableregistryt
7、ools”键直接删除来解锁注册表编辑器的。此方法非常简单,不需记忆命令语句。 4、防病毒软件 现在的防病毒软件几乎都集成了修复注册表的功能模块,利用该功能模块就能解锁注册表编辑器。360安全卫士、金山卫士都具有注册表的清理功能,而且清理之后也会自动备份,以便恢复.五、注册表的权限当你选中一个键值的时候,鼠标右键单击,可以看到“权限”选项,用鼠标分别单击各个用户组就可以看到不同的权限限制,如果你觉得某一个用户组的权利太高了,就可以在下方修改权限(注意:必须赋予Administrators组用户完全权限,否则一旦你或相应的软件、驱动程序要修改注册表,但是由于所有的组用户都没有权限修改,所以你将不能
8、够成功安装。所以必须把完全权限赋予Administrators组用户(系统默认)。六、注册表中五个根键值的作用:1、HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息:在文件和应用程序之间所有的扩展名和关联;所有的驱动程序名称; 类的ID数字(所要存取项的名字用数字来代替);用于应用程序和文件的图标。2、HKEY_CURRENT_USER包含着在HKEY_USERS安全辨别里列出的同样信息。任何在HKEY_CURRENT_USER里的改动也都会立即HKEY_USERS改动。所有当前的操作改变只是针对当前用户而改变,并不影响其他用户。3、HKEY_LOCAL_MACHINE是一
9、个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。4、HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。5、HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射,包括了系统中现有的所有配置文
10、件的细节。七、Windows注册表的安全:(1)备份整个注册表单击“开始运行”菜单项,在“运行”对话框中输入“Regedit”,单击“确定”按钮后打开注册表编辑器,如果要备份整个注册表,要选择注册表根目录(即“我的电脑”节点),然后单击鼠标右键,选择“导出”命令,打开“导出注册表文件”对话框,在“文件名”框中输入注册表文件的名称及保存的路径,单击“保存”按钮即可。注册表备份文件扩展名为REG。(2)注册表还原在Windows图形界面下,可双击备份的REG文件即可将注册表还原至备份时的状态。(3)口令设置HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurr
11、entVersion PoliciesNetwork下建立以下DWORD值,则相应的设置有效:“HideSharePwds”=1(使用星号(*)隐藏共享口令)“DisablePwdCaching”=1(禁用口令缓存;注意!请慎用此项设置,此时控制面板中的“密码”属性中无法更改密码,登录时该用户使用任何一个密码或不用密码就可以登录。)“AlphanumPwds”=1(使Windows口令必须为数字和字母)“MinPwdLen”=n(设置Windows口令的最小长度,n大于等于0小于等于8)(4)禁用注册表编辑器HKEY_USERS“用户名” SoftwareMicrosoftWindowsCur
12、rentVersionPolicies System下如果有DWORD值“DisableRegstryTools”=1,则禁止该用户使用注册表编辑工具。(5)禁用“MSDOS”方式、禁用单一模式的MSDOS应用程序HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies 后,新建主键“WinOldApp” ,在该子键下新建DWORD值 “Disabled”=1,则该用户的“MSDOS”方式被禁止;“WinOldApp”下如有DWORD值“NoRealMode”=1,则该用户单一模式的MSDOS应用程序被禁用。(6)设置自启动
13、的程序HKEY_LOCAL_MACHINESOFTWAREMic rosoftWindowsCurrentVersionRun其下的字符串值表示通过注册表自启动的程序;HKEY_LOCAL_MACHINESOFTWAREMic rosoftWindowsCurrentVersionRunOnce其下的字符串值表示只自启动一次的程序HKEY_LOCAL_MACHINESOFTWAREMic rosoftWindowsCurrentVersionRunServices其下的字符串值表示通过Windows注册表自启动的服务程序;HKEY_LOCAL_MACHINESOFTWAREMic rosoft
14、WindowsCurrentVersionRunServicesOnce其下的字符串值表示只启动一次的服务程序。由此,我们可以看出上面所有的DWORD值,如果其值为“1”时表示该值有效,其值为“0”时表示该值无效;我们可以通过改变DWORD值或删除该 DWORD,来轻松地使相应的限制有效或无效。(7)限制显示器属性进入HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion Policies后,在子键“System”下新建以下DWORD值(=1时为有效):NoDispAppearancePage 隐藏显示属性中的“外观”属性页;NoDisp
15、BackgroundPage 隐藏显示属性中的“背景”属性页;NoDispCPL 禁止设置显示属性;NoDispScrSavPage 隐藏显示属性中的“屏幕保护”属性页;NoDispSettingsPage 隐藏显示属性中的“设置”属性页;(8)限制开始菜单和桌面1)开始菜单如果在HKEY_USERS“用户名”SoftwareMicrosoftWindowsCurrentVersion PoliciesExplorer下有DWORD值“NoRun”=1时,则该用户的开始菜单中的“运行”命令被禁止;如果有DWORD值“NoSetFolders”=1时,则该用户的开始菜单中的“设置文件夹选项”命令
16、被禁止;如果有DWORD“NoSetTaskbar”=1时,则该用户的开始菜单中的“设置任务栏和开始菜单”命令被禁止;如果有DWORD值“NoFind”=1时,则该用户的开始菜单中的“查找”命令被禁止; 如果有DWORD值“NoStartMenuSubFolders”=1,则该用户“开始”菜单中的子文件夹被隐藏;如果有DWORD值“NoClose”=1时,则该用户的开始菜单中的“关闭系统”命令被禁止;如果有DWORD值“NoStartBanner ”=1,WINDOWS启动时出现在任务栏的箭头标示和“单击此处开始”字样被隐藏;2)桌面进入如下路径:HKEY_CURRENT_USERSoftwa
17、reMicrosoftWindowsCurrentVersion Policies后,在“Explorer”键值下新建下列DWORD值:NoDesktop=1时, 隐藏桌面上的所有图标;NoDrivers 隐藏驱动器(DWORD值的低26个bit从低到高分别对应A-Z驱动器,各bit位=1时为有效);NoNetHood =1时,隐藏桌面的“网上邻居”图标;NoViewContextMenu=1时, 隐藏桌面空白处右击鼠标时弹出的上下文菜单;NoTrayContextMenu=1时, 隐藏任务栏上按右键时弹出的菜单;NoEntireNetwork=1时, 隐藏“网上邻居”中的“整个网络”;NoS
18、aveSetting =1时,退出前不保存设置;(9)隐藏和禁止使用“控制面板” 控制面板是Windows系统的控制中心,可以对设备属性,文件系统,安全口令等很多系统很关键的东西进行修改,你当然需要防范这些了。 打开HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionPoliciesSystem中新建DWORD值NoDispCPL,把值修改为1(十六进制)即可。(10)禁止使用任何程打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右边
19、的窗口中新建一个DWORD串值:“RestrictRun”,把它的值设为“1”。这样我们就能做到禁止在Windows98中运行任何程序。 (11)修改注册表只允许用户使用由你指定的程序 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右边的窗口中新建一个DWORD串值:“RestrictRun”,把它的值设为“1”。然后在RestrictRun的主键下分别添加名为“1”、“2”、“3”等字符串值,然后将“1”,“2”、“3”等字符串的值设置为你允许用户使用的程序名。例如将“1”、“2”、“3”
20、分别设置为word.EXE、notepa XE、empires.EXE,则用户只能使用word、写字板、帝国时代了,这样你的系统将会做到最大的保障,也可以限制用户运行不必要的软件了。 (12)禁用任务栏属性功能 任务栏属性功能,可以方便用户对开始菜单进行修改,可以修改Windows系统的很多属性和运行的程序,这在我们看来是件很危险的事情,所以有必要禁止对它的修改。 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右窗格内新建一个DWORD串值NoSetTaskBar,然后双击NoSetTask
21、Bar键值,在弹出的对话框的键值框内输入1。(13)禁止使用“控制面版”中的“密码”图标设置功能 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右侧窗口中新建Dword串值,然后将“新值#1”更名为“NoSecCPL”,然后把它的值设置为1就行的了。 (14)禁止使用“密码”下的“更改密码”标签 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右侧窗口新建Dword串值,然后将“新值#1”更
22、名为“NoPwdPage”,然后把它的值设置为 1 即可。 (15)禁止使用“密码”下的“远程管理”标签 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右侧窗口中新建Dword串值,然后将“新值#1”更名为“NoAdminPage”,然后把它的值设置为 1 即可。 (16)禁止使用控制面板中的系统管理程序 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentversionPoliciessystem,在右边窗口新建DWORD串值“NoDevMg
23、rPage”并把它的值改为“1”就行。(17)禁止修改“开始”菜单 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplore,在右边的窗口中新建一个DWORD串值:“NoChangeStartMenu”,并把它的值改为“1”。 (18)禁止屏幕保护使用密码 打开HKEY_CURRENT_USERControlPaneldesktopScreenSaveUsePassword修改它的值,值为0或1,0为不设密码,1则使用预设的密码,你根据自己的需要设置就行的了。 (19)不允许改变启动菜单 打开HKEY_US
24、ERS.DEFAULTSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer在右边的窗口中新建一个DWORD串值“NoChangeStartMenu”,并设值为“1”即可。 (20)禁止在“系统属性”中出现“文件系统”的菜单 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,在右边的窗口中新建一个DWORD串值:“NoFileSysPage”,然后把它的值改为“1”即可。 (21)禁止在“系统属性”中出现“设备管理器”的菜单 打开HKEY_CURR
25、ENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,在右边的窗口中新建一个DWORD串值:“NoDevMgrPage”,然后把它的值改为“1”。 (22)禁止在“系统属性”中出现“硬件配置文件”的菜单 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,在右边的窗口中新建一个DWORD串值:“NoConfigPage”,然后把它的值为“1”。 (23)更改IE的安全口令 你可以在IE的Internet选项对话框的内容选项页的分级审查框
26、中设置口令,这样,在显示有关的页面时,总会出现分级审查不允许查看的提示信息,然后弹出口令对话框,要求您输入监护人口令。如果口令不对,则将停止浏览。但是,如果你把这个口令给遗忘了,你将无法浏览这些页面。在口令遗忘后,即使你重新安装IE4.0也是无法去掉安全口令,这时你只有求助于注册表: 打开HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPolicies,在Policies子键下选择Ratings子键,按Del键将其删除,由于Ratings子键下的Key键值数据就是经过加密后的口令,删除了这一项,IE中的口令也就去掉了。 (24)清除各种历史纪录 在Windows系统中保留着使用者的各种历史纪录,其中包括最近打开的文档、程序、查找过的文件及在网络上的使用情况。需要删除这些历史纪录,但一般的删除方法很不干净,这就得求助于注册表了。 打开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer,删除表中所示的键, 清除WindowsRecent中的内容,刷新文档菜单,这样就能去掉你的记录。专心-专注-专业