缓解Mimikatz风格攻击
字数 2468 2025-08-27 12:33:49
防御Mimikatz风格攻击的全面指南
1. Mimikatz攻击概述
Mimikatz是一种从Windows系统中提取凭证(明文或Hash值)的工具,主要攻击lsass.exe进程。攻击者利用这些凭证进行横向移动,通常针对网络中的高价值目标。
2. 基础防御措施
2.1 操作系统更新
- 将服务器更新至Windows Server 2016/2019
- 将客户端更新至Windows 10
- 提升活动目录功能级别至2016以上
2.2 SMBv1防护
- 扫描并禁用支持SMBv1的主机
- 使用GPO全局禁用SMBv1
- 强制SMB连接签名
3. 特定防御措施
3.1 禁用调试权限
- 在MSConfig中禁用"调试"选项
- 组策略路径:安全设置/本地策略/用户权限分配/调试程序
- 不添加任何用户或组
3.2 禁用WDigest协议
- 注册表路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest
- 设置UserLogonCredential和Negotiate值为0
- 添加注册表项监视功能检测设置更改
3.3 启用LSA保护
- 注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
- 设置RunAsPPL为1
- 风险:可能影响其他组件工作
- 缓解:提前部署Microsoft审计设置评估风险
3.4 禁用纯文本密码存储
- 组策略路径:Computer Configuration/Security Settings/Account Policies/Password Policy
- 关闭"Store Passwords using reversible encryption"
- 或在ADAC的"细粒度密码策略"中清除该复选框
4. RDP相关防护
4.1 启用受限制的管理模式
- 注册表路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
- 设置DisableRestrictedAdmin为0
- 创建DisableRestrictedAdminOutboundCreds DWORD值并设置为1
- 启动命令:mstsc/restrictedadmin/v:targethost
4.2 组策略强制受限模式
- 组策略路径:Computer Configurations > Policies > Administrative Templates > System > Credential Delegation
- 开启"Restrict Delegation of credential to remote servers"
- 设置"Require Restricted Admin"
4.3 强制RDP使用NLA
- 服务器端组策略:
Computer Configuration/Policies/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Security - 客户端组策略:
Computer Configuration/Policies/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Connection Client - 选择"如果身份验证失败,请不要连接"
5. 密码缓存管理
5.1 禁用密码缓存
- 组策略路径:Computer Configuration -> Windows Settings -> Local Policy -> Security Options -> Interactive Logon
- 设置"要缓存的先前登录次数"为0
- 注意:可能影响离线使用,需配合VPN策略
5.2 启用Kerberos身份验证
- 将管理帐户加入"受保护的用户"AD组
- 影响:
- 不缓存明文凭据
- 不缓存Windows摘要
- 不缓存NTLM的NTOWF
- Kerberos TGT不会自动重新获取
- 离线登录缓存不可用
- 禁用NTLM、DES和RC4
- 禁用委派
- TGTs 4小时后失效且不可刷新
6. 高级防护措施
6.1 凭证卫士(Credential Guard)
- 安装Windows功能"Hyper-V Hypervisor"和"隔离用户模式"
- 组策略中启用"打开基于虚拟化的安全性"
- 启用"基于虚拟化的代码完整性保护"中的"安全启动"
- 组策略路径:Computer Configuration/Administrative Templates/System/Device Guard
- 启用"Deploy Code Integrity"
- 要求:支持Intel VT或AMD V的CPU,UEFI启动
6.2 站点/服务器独立管理员
- 在ADAC的"身份验证策略"中固定服务帐户到特定主机
- 防止凭证被用于横向移动
6.3 密码策略
- 为管理员和服务帐户设置长而复杂的密码(建议16-32个随机字符)
- 避免使用有意义的单词组合
- 密码长度是关键防御因素
7. 实施建议
- 优先更新操作系统和AD功能级别
- 禁用SMBv1和WDigest协议
- 实施LSA保护和凭证卫士
- 配置RDP相关安全设置
- 管理密码缓存策略
- 为关键账户启用Kerberos认证
- 实施站点/服务器独立管理员策略
- 强制执行复杂密码策略
8. 注意事项
- 这些措施会增加系统复杂性,可能影响某些功能
- 实施前应在测试环境中验证
- 某些措施需要硬件支持(如Credential Guard)
- 防御与攻击是持续博弈过程,需保持更新
通过全面实施这些措施,可以显著提高防御Mimikatz风格攻击的能力,增加攻击者横向移动的难度。