前言:windows dump_hash作为渗透的基础技能几乎人人都会,其中有一项是转储注册表的sam,system和security值。但是在实战中发现只需要sam和system就能还原hash了,这三者的关系大部分人都无法清晰说明,所以今天来唠一唠三者的关系。
1.SAM
注册表位置:HKLMSAM
文件夹位置:C:WindowsSystem32configSAM
SAM全称安全帐户管理器(security accounts manager),是一个数据库文件,用于存储本地计算机上用户的用户帐户和安全描述符,他可以用于验证本地和远程用户。
为了提高SAM数据库的安全性以防止离线软件破解,Microsoft 在 Windows NT 4.0 中引入了 SYSKEY 功能。启用 SYSKEY 后,SAM 文件的磁盘副本会被部分加密,后来这玩意被弃用了。
2.SECURITY
注册表位置:HKLMsecurity
文件夹位置:C:WindowsSystem32configsecurity
security中存储了Lsass策略数据库,该数据库包含本地系统安全策略设置。
1.哪些域/机器能够登陆此机器
2.允许哪些用户登陆此机器
3.允许用户通过什么方式来登陆(本地,网络,服务等)
4.用户的权限分配
5.审核用户登陆
6.缓存用户登陆和服务登陆的登陆信息
普通权限注册表是看不到SAM和security的子项的,需要以system权限启动。
3.SYSTEM
注册表位置:HKLMsystem
文件夹位置:C:WindowsSystem32configsyste
前文也说到为了使散列更难解密,Microsoft 引入了 SysKey,在 Windows 2000 及更高版本中默认启用了额外的 SysKey 混淆层,并且可以使用 SysKey 在 Windows NT 4.0 中启用。在该方案中,存储在系统配置单元中的密钥用于进一步加密 SAM 中的哈希值。
密钥由四个单独的注册表项组成:
HKLMSYSTEMCurrentControlSetControlLsaSkew1
HKLMSYSTEMCurrentControlSetControlLsaJD
HKLMSYSTEMCurrentControlSetControlLsaGBG
HKLMSYSTEMCurrentControlSetControlLsaData
具体的算法可以参照网址:
http://moyix.blogspot.com/2008/02/syskey-and-sam.html
4.写在最后
由上文可知
sam:存储账号hash,并以syskey加密
system:存储syskey,用来解密sam
security:存储lsass缓存,并以syskey加密
。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚防盗专用。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚
^_^文章来源:微信公众号(边界骇客) ^_^
本文始发于微信公众号(边界骇客):sam&system&security
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论