Windows安全 – 什么是LSASS转储?如何防护?
高级持续性威胁(APT)组织及其他攻击者转储Windows凭证的能力对企业级用户构成严重威胁。MITRE ATT&CK知识库中的T1003.001技术描述了通过转储本地安全机构子系统服务(LSASS)进程内存获取Windows系统凭证的方法。
认证与授权
认证(AuthN)与授权(AuthZ)不可互换使用。凭证用于验证用户身份,而授权决定用户权限。例如:非道德黑客以普通用户身份访问目录后修改文件,属于越权操作。
Windows域环境架构
企业环境中,Windows系统通过Active Directory(或Azure AD)实现域管理。域控制器集中管理加入域的计算机,而工作组模式适用于小型网络(如家庭/小企业),账户存储于本地而非服务器。
LSASS进程(Local Security Authority Server Service)负责域环境和工作组计算机的认证,并管理以下组件:
- 安全账户管理器(SAM)服务
- Kerberos认证协议
- NTLM认证协议
- SSL协议
- NetLogon服务
LSASS进程内存转储实战
进程内存转储是将运行中进程的内存内容写入磁盘的行为,包含机器代码、内存变量等数据。转储时机至关重要:用户登录前的转储不包含凭证,而登录后的转储可能包含密码哈希。
攻击案例:BlackCat勒索软件
攻击者通过SMB协议替换合法远程桌面软件,修改WDigest配置后,使用Mimikatz工具转储LSASS内存获取用户密码。此类操作属于横向移动阶段,旨在获取域控制器访问权限。
常用攻击工具
- PPLdump
- HandleKatz
- nanodump
- Mimikatz
工具成功率取决于操作系统版本和安全特性。当现成工具失效时,攻击者会编写自定义工具。
转储方法演示
任务管理器转储(图2)
Windows 11中启用Defender时尝试转储会触发防病毒警报(图3)。
Process Explorer转储
从https://live.sysinternals.com/procexp.exe下载工具,但安全机制可能阻断转储操作。
LSA保护机制(RunAsPPL)
Microsoft通过LSA Protection(RunAsPPL)保护LSASS进程。启用方法: 在注册表路径创建DWORD值:
|
|
值为0x00000001
注意:启用Secure Boot时该值存储在固件中,不受注册表修改影响。
验证保护状态
- 事件查看器检查是否存在日志:
LSASS.exe program was started as a protected process with level: 4(图5) - Process Explorer中启用"Protection"列查看进程保护状态(图6-7)
图8显示受保护进程转储会返回"访问被拒绝"错误。
防御建议
- 禁用WDigest认证:将注册表项
UseLogonCredential设为0x000000001HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Wdigest\ - 启用LSA Protection(RunAsPPL)
- 监控LSASS进程转储行为
- 使用最新版防病毒软件检测可疑行为