Windows用户和组账户系列二
一.查看注册表中存储的用户账户信息
在开始->运行里,输入regedit,打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SAM\SAM,默认查看不到任何信息,如下图所示:
默认情况,管理员对该注册表文件没有权限,需要修改权限才能查看。右键点击SAM,选择权限,授权管理员完全控制权限。
点击确定后,可以看到里面的用户信息,展开后还是相当丰富:
请注意上面的Names注册表项,下面列出的就是本机的用户账户信息。点击Jerry,右边出现如下键值:
请注意右边的0X1f4,表示改数值为16进制,将1f4从16进制换算成10进制(可以通过计算器实现),1f4=500,该数值为SID的最后几位数字,500代表的为管理员。默认情况下,即便将默认administrator名字修改为其他名字,但是某些***工具可以通过扫描SID末尾为500的来判定是否为管理员。
 
Users下面的为对应的SID信息,右边中包括两项:
F项代表用户的权限及配置文件的配置信息,如果将administrator的F权限赋予给其他账户,则其他账户将变成管理员的副本。
 
以下为克隆管理员实验:
1)以管理员administrator登录,在桌面上创建一个administrator文件夹和administrator文件。
2)使用net user jerry 111 /add,添加jerry用户。
3)开始->运行,输入regedit,找到HKLM\SAM\SAM,找到Users下的000001F4,点击右边 窗口中的F,弹出如下所示:
复制管理员000001F4右边的F键值。
4)点击jerry账户,根据右边的键值,找到相应的000003EB,双击F键值,将前面复制的管理员的F键值粘贴。
5)然后使用jerry登录,可以看到进去后的配置为administrator的账户配置,桌面上可以看到administrator文件夹和administrator文件,并且jerry账户具备administrator权限,但是点击开始,可以看到当前登录的账户为jerry。查看本地用户和组,administrators组里只剩下jerry,administrator不见了。如图:
但是点击用户下的administrator,可以看到他隶属于administrators组。
点击用户下的jerry,看到他也只属于users组。因此会导致两个地方的结果不一。
并且由于创建jerry账户,并未进行首次登录,就修改了以上配置,因此Document and Setting目录下没有Jerry账户的配置文件夹,默认使用administrator的配置。
 
以上为克隆用户账户的实验,不过克隆完毕后,感觉各方面还是有点矛盾,特别是本地用户和组里面显示的信息不相符。
 
第二个实验为创建隐藏账户:
1)创建用户:net user  jerry$ 123 /add (用户必须为***$)
2)查看HKLM\SAM\SAM下,可以看到jerry$的信息
3)使用克隆账户的实验中的步骤,将administrator的F键值赋给jerry$的F键值。
4)使用net user和lusrmgr.msc来查看,无法查看到jerry$账户信息,但是使用lusrmgr.msc可以查看到jerry$的账户。
5)将注册表键值中的HKLM\SAM\SAM\...\jerry$以及对应的SID的注册表项导出。
6)使用net user jerry$ /del删除该账户
7)将前面导出的注册表项导入。
8)使用net user和lusrmgr.msc进行查询,都查看不到jerry$ 的账户信息。
9)使用jerry$账户进行登录,可以正常登录。
10)重启系统后,使用lusrmgr.msc可以看到隐藏账户,但是net user貌似看不到。
 
另:用户账户默认最长支持127个字符,Windows默认的加密方法比较简单,如果需要加强密码安全,可以使用syskey,在开始运行中输入即可。