Windows注册表五大根键以及常用注册表项
- 注册表概述:注册表是Windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。
- 注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性。
- 注册表的功能: 刚才我们看到了,注册表中记录了用户安装在计算机上的软件和每个程序的相关信息,通过它可以控制硬件、软件、用户环境和操作系统界面的数据信息文件。
- 相关知识:注册表文件的数据信息保存在system.dat和user.dat中、利用regedit.exe程序能够存取注册表文件(其实大家可能也知道regedt32.exe,这两个程序是一样的)。
注册表主键介绍:
主键 | 介绍 |
---|---|
HKEY_CLASSES_ROOT | 该根键包括启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,编号和应用程序与文档的图标等。这个根键的子健主要分两种:①已经注册的各类文件扩展名,②各种文件类型的有关信息; |
HKEY_CURRENT_USER | 该根键包括当前的登陆用户的配置信息,包括环境变量,个人程序以及桌面设置等。此根键中保存的信息(当前用户的子项信息)与HKEY_USERS_DEFAULT下面的一摸一样,任意对HKEY_CURRENT_USER根键的信息的修改都会导致对HKEY_USERS_DEFAULT中子项的修改; |
HKEY_LOCAL_MACHINE | 该根键包括本地计算机的系统信息,包括硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息。此根键中存放的是用来控制系统和软件的设置,这些设置是一个公共配置信息(主要针对使用Windows系统的用户,它与具体的用户没太大关系); |
HKEY_USERS | 该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。此根键中保存的是默认用户(default),当前登陆用户和软件(software)的信息,DEFAULT子项是其中最重要的,它的配置是针对未来将会被创建的新用户的; |
HKEY_CURRENT_CONFIG | 该根键包括当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE当中映射出来的。 |
实际上五大根键并不是五个,HKEY_LOCAL_MACHINE、HKEY_USERS这两个才是真正的注册表项。
常见子项的含义
子项 | 含义 |
---|---|
HKEY_CLASSES_ROOT | |
CLSID | 分类标识,系统可以用这个类标识来识别相同类型的文件; |
Compressors | 它下面有两个子项:auds:用于设置音频数据压缩程序的类标识;vids:用于设置视频数据压缩程序的类标识; |
defaultlcon | 用于设置默认图标; |
RIFFHandlers | 在它的下面有两个类标识:AVI:用于设置AVI文件的类标识;WAVE:用于设置WAVE文件的类标识; |
protocol | 包括了执行程序和编辑程序的路径和文件名:StdExecute(stdfileediting)server:用于指定编辑程序;StdExecute(stdfileediting)_PackageObjects:用于指定后打开AVI包对象的编辑程序;StdExecute(stdfileediting)_verb:用于设置编辑程序时的工作状态,其中有0、1、2等状态; |
Shell | 用于设置视频文件的外壳:open:用于设置打开AVI文件的程序;play:用于设置播放命令的程序; |
Shellex | 包括了视频文件的外壳扩展; |
CurVer | 操作命令操作符; |
HKEY_LOCAL_MACHINE | |
HARDWARE | 该子项包括了系统使用的浮点处理器、串口等信息:ACPI:存放高级电源管理接口数据;DEVICEMAP:用于存放设备映射;DEscriptION:存放有关系统信息; |
RESOURCEMAP | 用于存放资源列表; |
SAM | 这部分受保护,无法查看; |
SECURITY | 该子项只是为将来的高级功能而预留的; |
SOFTWARE | 该子项中保留的是所有已安装的32位应用程序的信息,各个程序的控制信息分别安装在相应的子项中,由于不同的计算机安装的应用程序互不相同,因此这个子项下面的子项信息也不完全一样; |
SYSTEM | 该子项是启动时所需的信息和修复系统时所需要的信息; |
currentcontrol | 保存了当前驱动程序控制集中的所有信息; |
HKEY_USERS | |
AppEvents | 它包括了各种应用事件的列表:EventLabels:按字母顺序列表;Schemes:按事件分类列表; |
Control Panel | 它包括内容与桌面、光标、键盘和鼠标等设置有关; |
Keyboard layout | 用于键盘的布局(如语言的加载顺序等); |
Preload | 语言的加载顺序; |
Substitutes | 设置可替换的键盘语言布局; |
Toggle | 用于选择键盘语言; |
注册表中常用的数据类型(5种) | |
二进制值(reg_binary) | 多数硬件信息以二进制数据储存,而以十六进制格式显示在注册表编辑器中; |
字符串值(reg_sz) | 包括字符串的注册表键; |
双字节值(reg_dword) | 是32位信息显示成4个字节。它在出错控制功能上用处极大,其数据一般以十六进制格式显示在注册表编辑器中; |
多字符串值(reg_multi_sz) | 允许将一系列项目作为单独的一个键使用。对于多种网络协议、多个项目、设备列表一节其他类似的列表项目,可以使用多字符串; |
可扩充字符串值(reg_expand_sz) | 代表一个可扩充的字符串; |
Windows注册表的危险项
1、Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
2、RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
3、RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
4、RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
5、RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
(该键是Windows XP/2003特有的自启动注册表项)
6、UserInit
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\UserInit
(合法值为:c:\windows\system32\userinit.exe)
7、load
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load
8、镜像劫持
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options
9、禁止任务栏、文件夹选项、注册表等
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegedit
10、禁止修改IE浏览器主页
HKEY_CURRENT_USER\Software\policies\Microsoft\internet explorer\control panel\homepage
值为1 表示禁止修改
HKEY_CURRENT_USER\Software\policies\Microsoft\internet explorer\main\Startpage
(以上适合win200 2003 xp)
vista 、win7 设置如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\Start Page
11、隐藏磁盘分区
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrivers
12、修改文件关联
HKEY_CLASSES_ROOT\textfile\shell\open\command
HKEY_LOCAL_MACHINE\Software\CLASSES\textfile\shell\open\command
13、SPI
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries
14、BHO
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
此键下是系统注册的所有BHO的CLSID
GUID(Global Unique Identifier) 也成为Class ID 简称CLSID
15、CLSID
HKEY_CLASSES_ROOT\CLSID
在此键下的ID 对应着系统里面的不同程序、组件
16、IE默认前缀
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix
17、
HKEY_CURRENT_USER\Software\policies\Microsoft\internet explorer\MenuExt
IE网页右键菜单
HKEY_LOCAL_MACHINE\Software\policies\Microsoft\internet explorer\Extension registry key
对应于IE工具栏上的按钮或者在IE的工具菜单中非默认安装的项目
18、IE高级选项?
HKEY_LOCAL_MACHINE\Software\policies\Microsoft\internet explorer\AdvancedOptions
对应于IE选项高级选项卡下面的项目
19、IE扩展
HKEY_LOCAL_MACHINE\Software\policies\Microsoft\internet explorer\Plugins
20、IE默认设置
c:\windows\inf\iereset.inf(IE默认配置信息)
21、IE可信区域
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Domains
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Domain
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Ranges
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Ranges
IE授权区域与识别码对应关系
区域 区域映射
My Computer 0
Intranet 1
Trusted 2Internet 3
Restricted 4
=======================================================================
协议与授权区域的对应关系
HTTP 3
HTTPS 3
FTP 3
@vit 1
shell 0
=========================================================================
对应的注册表键值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\ProtocolDefaults
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\ProtocolDefaults
22、域名劫持
HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\tcpip\Parameters\Interfaces\{0F3EE3DD-D14D-4925-8671-87F4D7244B91}\NameServer
HKEY_LOCAL_MACHINE\Software\Class\PROTOCOLS
额外的协议和协议劫持,黑客通过将我们计算机使用的标准的协议驱动更改为劫持程序所提供的驱动来实现
23、用户样式表劫持
键值: HKEY_CURRENT_USER\Software\Microsoft\internet explorer\Style\User Stylesheets
24、AppInit_DLLs注册表值自启动载入
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.ini\Windows\AppInit_DLLs
user32.dll能够被许多进程或是程序使用,也包括一些自启动进程,AppInit_DLLs注册表值包含了当user32.dll被载入时将会被载入的一连串动态链接库
25、Winlogon Notify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
26、自动载入
ShellServiceObjectDelayLoad
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
ShellServiceObjectDelayLoad键值下面的文件会被计算机外壳程序Explorer.exe自动载入
ShellServiceObjectDelayLoad下面的键值指向的是CLSID
SharedTaskScheduler
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
随windows启动而被载入
服务
服务时windows启动的时候自动载入的程序,这些服务程序无论是否有使用者登录到计算机都会被载入,而且常用于处理系统任务
删除服务
(1)命令行命令sc dete servername
(2)注册表删除
Windows Registry Editor Version 5.00
[- ........] 保存为reg文件,导入注册表即可删除该项
删除键值
[..........]
"键值名"=-
导入即可
(3)相关的服务删除工具
27、IE收藏夹、IE浏览历史、cookies
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
28、禁止C$、D$、ADMIN$一类的缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,在右边的 窗口中新建Dword值,名称设为
AutoShareServer值设为0
新建Dword值AutoShareWks 0(xp win7 vista)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoShareWks"=dword:00000000 // AutoShareWks 对pro版本// AutoShareServer 对server版本// 0
禁止管理共享admin$,c$,d$之类默认共享
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA] "restrictanonymous"=dword:00000001 //0x1 匿名用户无法列举本机用户列表//0x2 匿名用户无法连接本机IPC$共享(可能sql server不能够启动
29、隐藏重要文件/目录
可以修改注册表实现完全隐藏: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Fol der\Hi-ddenSHOWALL”,鼠标右击“CheckedValue”,选择修改,把数值由1改为0
30、防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD 值,名为SynAttackProtect,值为2
31、禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacesinterface 新建DWORD值,名为PerformRouterDiscovery 值为0
32、防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 将EnableICMPRedirects 值设为0
33、不支持IGMP协议
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名为IGMPLevel 值为0
34、终端服务的默认端口为3389,可考虑修改为别的端口。
修改方法为: 服务器端:打开注册表,在 “HKLM\SYSTEM\Current ControlSet\Control\Terminal Server\Win Stations” 处找到类似RDP-TCP的子键,修改PortNumber值。 客户端:按正常步骤建一个客户端连接,选中这个连接,在“文件”菜单中选择导出,在指定位置会 生成一个后缀为.cns的文件。打开该文件,修改“Server Port”值为与服务器端的PortNumber对应的 值。然后再导入该文件(方法:菜单→文件→导入),这样客户端就修改了端口。
35、修改系统默认日志存储位置
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog
日志文件大小限制
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\****\MaxSize
更换日志存储位置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\****\File
36、Schedluler(任务计划)服务
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent
37、禁止建立空连接(对匿名连接的限制):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\restrictanonymous 设置为1
38、wins客户端启用wins代理
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters
EnableProxy 类型DWORD
39、微软office软件相关选项