域登录缓存mscash
我们看如下这么一种场景:
你新入职了一家公司,公司给你发了一台笔记本,这台笔记本加入了公司的域环境;正常情况下,在公司的时候, 你输入账号密码登录笔记本,这时将由域控来进行身份验证,验证通过后你就可以进入到笔记本的桌面了。当你把笔记本带回家或者笔记本没联网时,你的笔记本是无法与域控通信的。这时你输入账号密码进行登录,也可以成功登录到桌面,那么这时为什么呢?这时是通过什么进行认证的呢?
答案是mscash,也就是mscache hash,或者叫dcc(Domain Cached Credentials) hash,中文叫域缓存凭据。其主要作用是当机器无法与域控进行通信时,通过本地注册表保存的dcc hash来验证用户输入的凭据和授权信息,再根据授权信息生成对应的Access Token。不同版本的操作系统dcc hash也有不同。Windows Vista系统之前保存的是dcc1 hash,Windows Vista系统之后保存的是dcc2 hash。dcc1 hash和dcc2 hash的生成算法是不一样的,如下:
- DCC1 Hash = MD4 (NT HASH + LowerUnicode(username))
- DCC2 Hash= PBKDF2(HMAC-SHA1, Iterations, DCC1, LowerUnicode(username))
注:后面我们只讨论DCC2 Hash。
dcc hash默认保存在注册表的HKEY_LOCAL_MACHINE\SECURITY\Cache下,默认只有System权限可读。我们可以修改HKEY_LOCAL_MACHINE\SECURITY的权限信息,使administrator用户也对其
文章来源: xie1997.blog.csdn.net,作者:谢公子,版权归原作者所有,如需转载,请联系作者。
原文链接:xie1997.blog.csdn.net/article/details/126827977
- 点赞
- 收藏
- 关注作者
评论(0)