# 域渗透——Security Support Provider

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2016-02-02T03:54:00Z
Canonical: https://wepostx.com/topics/62

> 乌云历史资料归档
>
> **原始作者：** 三好学生
> **原始编号：** superkieran-wooyundrops:1028
> **原始发布时间：** 2016-02-02 11:54
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 前言

在之前的文章中介绍了一些域环境中的渗透方法和技巧，所以这次接着介绍一个用来维持域控权限的方法——SSP.

![原文图片](/media/2016/06/bd5c97af6e6fed0679a51791f3baec41)

# 0x01 简介

SSP：
Security Support Provider，直译为安全支持提供者，又名Security Package.
简单的理解为SSP就是一个DLL，用来实现身份认证，例如：

```text
#!bash NTLM Kerberos Negotiate Secure Channel (Schannel) Digest Credential (CredSSP)
```
SSPI：
Security Support Provider Interface，直译为安全支持提供程序接口，是Windows系统在执行认证操作所使用的API。
简单的理解为SSPI是SSP的API接口
LSA：
Local Security Authority，用于身份认证，常见进程为lsass.exe
特别的地方在于LSA是可扩展的，在系统启动的时候SSP会被加载到进程lsass.exe中.
这相当于我们可以自定义一个dll，在系统启动的时候被加载到进程lsass.exe！

![原文图片](/media/2016/06/965ae2bdfde3a553fc253fc533f46a0a)

此图片来自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf
如图，这是正常的SSPI结构图，Client APP是我们自定义的dll，通过Secur32.dll可以调用 "credential capture API"来获取LSA的信息

![原文图片](/media/2016/06/7023a576e4559bb2895c51cf3e21be2a)

此图片来自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf
上图展示了攻击思路，既然可以自定义dll,那么我们就可以定制dll的功能，通过Named Pipe和Shared Memory直接获取lsass.exe中的明文密码，并且能够在其更改密码时立即获得新密码！

# 0x02 mimilib SSP

mimikatz早已支持这个功能，而这个文件就是我们使用的时候常常忽略的mimilib.dll

![原文图片](/media/2016/06/d0b8bcf955a334ca6f28c86aace545e2)

下面就实际测试一下如何通过mimilib伪造SSP记录明文密码.
mimikatz poc地址：
[https://github.com/gentilkiwi/mimikatz/blob/bb371c2acba397b4006a6cddc0f9ce2b5958017b/mimilib/kssp.c](https://github.com/gentilkiwi/mimikatz/blob/bb371c2acba397b4006a6cddc0f9ce2b5958017b/mimilib/kssp.c)

# 0x03 实际测试

测试环境

```text
#!bash 域控：server 2008 r2 x64 域内主机： win7 x64
```
测试步骤：

### 1、添加SSP
将mimilib.dll复制到域控c:\windows\system32下
注：
64位系统要用64位的mimilib.dll，32位的会失败

### 2、设置SSP
修改域控注册表位置：

```text
#!bash HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\
```
如图
![原文图片](/media/2016/06/79f0443170e3bc1b5989d754584a1c9f)

在Security Packages下添加mimilib.dll
如图
![原文图片](/media/2016/06/31f1ab8725bac00ab9acb7cfd6c4b6be)

点击确认，Security Packages已被添加mimilib.dll
如图
![原文图片](/media/2016/06/10d884efe94e90d0e3a4a6cffc0c2d4a)

### 3、重启系统
域控重启后在c:\windows\system32可看到新生成的文件kiwissp.log
如图
![原文图片](/media/2016/06/231231a5255d918610e1084cab720af7)

kiwissp.log记录了登录账户和密码，如图
![原文图片](/media/2016/06/33c0991100dbd6192013d3823aff73a7)

Tips：
mimilib只实现了将密码保存到本地，如果把密码发送到远程服务器岂不是威力无穷？

# 0x04 补充

### 1、Memory Updating of SSPs
mimikatz同时还支持通过内存更新ssp，这样就不需要重启再获取账户信息
需要使用mimikatz.exe，命令如下：

```text
#!bash privilege::debug misc::memssp
```
注：
1、64系统需要64位的mimikatz，如图
32位mimikatz失败
![原文图片](/media/2016/06/3ef48a2750f938408f1dbb77066fac44)

64位mimikatz成功
![原文图片](/media/2016/06/5429e635d4c57557d84b3b191357505b)

2、内存更新的方法在重启后会失效.

# 0x05 检测

### 1、注册表
检测注册表位置：

```text
#!bash HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\
```

### 2、dll
检测%windir%\System32是否有可疑dll

### 3、Autoruns
使用工具Autoruns检测LSA
如图，可以发现添加dll的位置
![原文图片](/media/2016/06/74df82dec868a0e325f5c8fed5c648f1)

# 0x06 小结

本文仅对SSP的常规用法做了演示，实现了在本地保存域控的账户和密码，而且基于这个思路，可以开发出更多高级的利用方法。
如果站在防御的角度，常规方法已经力不从心，只有更多的了解攻击才能更好的防御。

# 0x07 参考资料

- [https://en.wikipedia.org/wiki/Security_Support_Provider_Interface](https://en.wikipedia.org/wiki/Security_Support_Provider_Interface)

- [https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf](https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf)

- [https://msdn.microsoft.com/en-us/library/bb742535.aspx](https://msdn.microsoft.com/en-us/library/bb742535.aspx)

- [https://msdn.microsoft.com/en-us/library/windows/desktop/ms721625(v=vs.85).aspx#_security_security_support_provider_gly](https://msdn.microsoft.com/en-us/library/windows/desktop/ms721625(v=vs.85).aspx#_security_security_support_provider_gly)

- [https://adsecurity.org/?p=1760](https://adsecurity.org/?p=1760)

- [https://technet.microsoft.com/en-us/library/dn408187.aspx](https://technet.microsoft.com/en-us/library/dn408187.aspx)
本文由三好学生原创并首发于乌云drops，转载请注明

## Replies
