1、系统权限概述
大家知道,Windows NT系统是个等级森严的系统,操作系统通过对用户(帐户)授权来实施管理。以Windows XP系统为例,系统默认的用户等级有4级:其中System拥有至高无上的权限,掌握着系统资源的生死大权;Administrators组的用户权限次于System,拥有大多数的系统权限;Users组的用户权限受到限制,只能执行与本用户相关的操作,而对于其它用户它无权过问;Guest组的用户权限更少,只能进行极少的操作。
2、以System帐户登录系统
众所周知,在有些时候我们可以获取System权限,但如何以System权限登录系统呢?其实,这是不可能的。因为,System是基于系统服务的,不同于用户级别的帐户,所以在Windows是不容许以System登录系统。不过,我们可以采用变通的办法以System“登录”系统。
其原理是:Windows是基于图形界面的,而其图形界面主要是由Explorer.exe负责实现的,Explorer俗称为Windows的Shell(壳),我们只要获得一个具有System权限的Explorer不就等同于以System登录系统了吗?
其实现方法是:
(1).以Administrators组的用户登录系统,然后需要开启Task Scheduler服务,该服务负责使用户能在此计算机上配置和制定自动任务。执行“开始→运行”,输入services.msc打开服务管理器,然后找到并启动Task Scheduler服务。
(2).启动Task Scheduler后,我们需要使用at命令来实现启动一个System权限的cmd(命令提示符)。at命令有个interactive参数,该参数允许作业在运行时,与当时登录的用户桌面进行交互。我们在当前帐户下执行“开始→运行”,输入cmd打开一个具有当前用户权限的命令提示符。为了与后面的拥有system权限的cmd相区别,我们输入命令title cmd1将其命名为cmd1。
(3).在cmd1中输入命令“at 21:08 /interactive cmd.exe”,其中21:08为系统当前时间之后的某个时间,一般与当前时间间隔1分钟即可。然后我们可以输入命令at,查看当前新增加的作业。(图1)
(4).大概一分钟后刚才用at创建的作业顺利执行,重新启动一个cmd。并且该命令提示符的标题栏显示为“C:\WINDOWS\System32\svchost.exe”,命令提示路径为“C:\WINDOWS\system32>”,表明这个命令提示符不是基于某个帐户的,而是基于服务的。我们可以打开“任务管理器”查看,这么cmd是System权限。(图2)
(5).由于System是基于System权限,那么通过其运行的程序也会继承其权限,那么这些程序也是System权限。首先我们运行regedit打开注册表编辑器,我们知道[HKEY_LOCAL_MACHINE\SAM\SAM]注册表项默认只有System权限可以进行查看和修改,通过验证我们可以展开该注册表项,说明regedit也是以System权限运行的。(图3)
(6).下面进入关键一步,在system的cmd中执行命令“taskkill /f /im explorer.exe”结束当前用户的explorer.exe,然后继续输入命令“start explorer.exe”,回车后可以看到windows会进行explorer.exe配置,配置完成会打开explorer进入桌面。我们点击开始菜单,可以看到在帐户图标旁显示SYSTEM,说明我们变通地以System登录系统了。(图4)
本文来源:不详 作者:佚名