在渗透过程中,获得一台windows机器权限之后,很重要一个环节就是抓密码。 但是在使用mimikatz抓取系统账号密码时,有时运维人员会开启一些防护措施,导致mimikatz抓取失败或异常。 本文主要几种mimikatz运行方式,来bypass LSA Protection 和Credential Guard获取密码。

Bypass LSA Protection

自Windows 8.1 开始为LSA提供了额外的保护(LSA Protection),以防止读取内存和不受保护的进程注入代码。保护模式要求所有加载到LSA的插件都必须使用Microsoft签名进行数字签名。 在LSA Protection保护模式下,mimikatz运行 sekurlsa::logonpasswords抓取密码会报错。

1) 开启 LSA Protection

测试环境:Windows 10 X64

可以通过注册表开启LSA Protection,注册表位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
新建-DWORD(32)值,名称为 RunAsPPL,数值为 00000001,然后重启系统生效。

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d "00000001" /f

验证LSA是否以保护模式启动,查看系统日志,事件id为12-LSASS.exe作为受保护的进程启动:

2) LSA Protection运行下的sekurlsa::logonpasswords

在开启LSA Protection时,mimikatz运行 sekurlsa::logonpasswords会报错 “ERROR kuhl_m_sekurlsa_acquireLSA;Handle on memery”

mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords

3) lsadump::sam bypass

mimikatz 运行 lsadump :: sam 从磁盘上的SAM读取凭据,可成功pypass LSA Protection,读取到用户哈希

点击收藏 | 3 关注 | 2
  • 动动手指,沙发就是你的了!
登录 后跟帖