缓解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. 实施建议

  1. 优先更新操作系统和AD功能级别
  2. 禁用SMBv1和WDigest协议
  3. 实施LSA保护和凭证卫士
  4. 配置RDP相关安全设置
  5. 管理密码缓存策略
  6. 为关键账户启用Kerberos认证
  7. 实施站点/服务器独立管理员策略
  8. 强制执行复杂密码策略

8. 注意事项

  • 这些措施会增加系统复杂性,可能影响某些功能
  • 实施前应在测试环境中验证
  • 某些措施需要硬件支持(如Credential Guard)
  • 防御与攻击是持续博弈过程,需保持更新

通过全面实施这些措施,可以显著提高防御Mimikatz风格攻击的能力,增加攻击者横向移动的难度。

防御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风格攻击的能力,增加攻击者横向移动的难度。