news 2026/5/6 15:38:23

内网渗透进阶:从LSA保护机制绕过看Skeleton Key技术的演进与检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内网渗透进阶:从LSA保护机制绕过看Skeleton Key技术的演进与检测

一、开篇引入:为什么Skeleton Key是域环境权限维持的“隐形后门”?

在内网渗透的权限维持阶段,攻击者的核心诉求往往是获取长期稳定的域访问权限,同时尽可能降低被管理员发现的概率。传统后门如新增域管理员账号、修改SIDHistory属性等都容易留下明确的审计痕迹,而Skeleton Key(骨架密钥/万能密码)技术则是一类非常隐蔽的内存级后门手法:它不需要新增账号、不修改持久化配置,仅通过篡改域控制器的认证进程内存逻辑,即可让所有域用户在原有密码之外,额外认可一个预设的“万能密码”,且完全不影响正常用户的日常登录,直到域控制器重启才会失效。

这项技术自2014年被公开以来,一直是域权限维持场景下的经典研究标的,即使在当前Win Server 2016+普遍启用了LSA保护机制的背景下,仍可通过驱动层绕过实现利用,对域环境安全防御仍有较高的参考价值。

二、核心技术原理:它到底“劫持”了什么?

要理解Skeleton Key的原理,首先需要明确Windows域环境的认证核心组件:LSASS(Local Security Authority Subsystem Service,本地安全机构子系统服务),它是域控制器上负责处理所有身份认证请求的进程,无论是NTLM认证还是Kerberos票据签发,最终都会由LSASS校验用户提交的凭证是否与AD数据库中存储的哈希匹配。

Skeleton Key的本质就是对LSASS进程的内存进行热补丁(Patch):

  1. 攻击者先获得域控制器的本地管理员/域管理员权限,具备调试LSASS进程的能力(SeDebugPrivilege权限);

  2. 通过Mimikatz等工具的skeleton模块,向LSASS内存中注入恶意代码片段,修改其密码校验逻辑:原本仅校验用户输入密码的哈希是否匹配,修改后会额外判断:如果用户输入的密码等于预设的“万能密码”(默认是mimikatz,也可自定义),则直接返回认证通过结果;

  3. 补丁完成后,域内所有用户账号(包括域管理员、普通域用户)都同时支持两种认证方式:原有真实密码、预设的Skeleton Key万能密码,完全不干扰正常用户的日常使用。

需要注意的是:Skeleton Key仅修改内存中的认证逻辑,不会落地任何文件、不会修改AD数据库,因此域控制器重启后LSASS会重新加载原始逻辑,后门自动失效;同时它仅用于绕过认证,不具备提权能力,比如用普通域用户的账号+Skeleton Key登录,仍然只有普通域用户的权限。

三、完整利用实例(模拟实验环境)

以下为典型的域环境Skeleton Key注入与利用全流程,所有操作均在授权实验环境下进行:

1. 前置条件

  • 实验环境:域控为Windows Server 2012 R2,域控主机名DC God,已获取域管理员权限;

  • 测试用普通域主机:加入域的Win Server 2003客户端,域用户WebServer

2. 步骤1:验证初始权限状态

在普通域主机上,直接用域管理员账号+错误的密码尝试访问域控C盘共享,会被拒绝:

#当与DC域控主机没有建立连接的时候,执行命令时会报拒绝访问: dir \\owa2010cn-god\c$ # 提示“拒绝访问”
#当使用收集到的凭据信息去发起连接之后,再次执行命令时,可正常执行命令。 net use \\owa2010cn-god\ipc$ "Admin12345" /user:god.org\administrator dir \\owa2010cn-god\c$

3. 步骤2:域控上注入Skeleton Key

在域控上以管理员身份运行Mimikatz,执行以下命令:

# 提升调试权限 privilege::debug # 注入Skeleton Key,默认万能密码为mimikatz,也可通过参数自定义密码 misc::skeleton

这一步是将万能密码注入"lsass.exe"的进程中:

执行成功后Mimikatz会返回补丁成功的提示,例如[RC4] decrypt patch OK等信息,代表LSASS进程已被修改。

4. 步骤3:利用万能密码访问域资源

回到普通域主机,无需知道域管理员真实密码,直接用任意域用户名(这里是administrator)+ 万能密码mimikatz即可建立IPC连接、访问域控资源:

# 建立IPC$连接 net use \\owa2010cn-god\ipc$ "mimikatz" /user:god.org\administrator # 列出域控C盘共享内容,此时可正常访问 dir \\owa2010cn-god\c$

这种权限维持的方式有一定的缺点!因为Skeleton Key技术是被注入到“lsass.exe”进程的,所以他只存在内存中,如DC域控重启,“lsass.exe”进程将会重新加载,那么万能密码将失效!

甚至可以用普通域用户user01+mimikatz登录,但仅能获得user01的普通权限,印证了该技术不能提权的特性。

4. 重启DC域控之后,重新测试域内用户和DC通讯

net use \\owa2010cn-god\ipc$ "mimikatz" /user:god.org\administrator dir \\owa2010cn-god\c$

5. 高版本系统适配说明

Windows Server 2012 R2及以上微软引入了LSA保护(RunAsPPL)机制,默认阻止对LSASS进程的内存注入,此时若要注入Skeleton Key,需要先通过Mimikatz加载mimidrv.sys内核驱动,移除LSASS的保护属性后再执行注入:

privilege::debug !+ !processprotect /process:lsass.exe /remove misc::skeleton

该绕过方式依赖加载未签名的驱动,因此在开启了强制驱动签名校验、或部署了EDR的域控上难度会显著提升。

四、检测与防御方案(与时俱进的防护思路)

1. 基础防御措施

  • 开启LSA受保护进程(RunAsPPL):在注册表HKLM\SYSTEM\CurrentControlSet\Control\Lsa下创建DWORD值RunAsPPL=1,重启后生效,默认阻止用户态进程注入LSASS,大幅提升攻击门槛;

  • 强制驱动签名校验:禁止加载未签名的mimidrv.sys类内核驱动,从根源上阻断高版本系统的绕过路径;

  • 应用白名单/EDR部署:域控制器上仅允许合法的系统进程运行,阻止Mimikatz等工具的落地与执行,可直接拦截注入操作;

  • 启用多因素认证(MFA):即使攻击者获得Skeleton Key万能密码,没有第二认证因素也无法完成登录,彻底抵消该技术的风险。

2. 检测思路

  • 日志监控:注入Skeleton Key时若使用了mimidrv.sys驱动,系统会生成事件ID 4697(新服务安装)/4673(特权服务调用),可针对性配置SIEM告警规则;

  • 内存完整性校验:定期扫描域控LSASS进程的内存签名,检测是否存在非官方的补丁片段;

  • 异常认证行为监控:若出现大量不同域账号使用相同密码认证成功、或Kerberos加密类型异常降级为RC4_HMAC_MD5(部分旧版Mimikatz注入时会触发),可作为疑似攻击特征排查。

五、合规警示

本文所有技术内容仅用于合法授权的网络安全研究、企业内部渗透测试、安全防御体系建设等正当场景,任何人不得将相关技术用于未经授权的系统入侵、数据窃取、破坏等违法活动。因违规使用造成的一切法律后果由行为人自行承担,与本文作者及传播平台无关。请始终遵守《网络安全法》等相关法律法规,坚持“先授权、后测试”的安全研究原则。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 15:37:50

SkeyeVSS开发FAQ:国标协议SIP鉴权错误码401、403、407与密码策略

试用安装包下载 | SMS | 在线演示 项目源码地址:https://github.com/openskeye/go-vss 1. 401 Unauthorized 401 通常表示 需要认证 或 认证失败。国标注册常见流程: 设备发无认证 REGISTER;平台回 401 并带 WWW-Authenticate(…

作者头像 李华
网站建设 2026/5/6 15:36:51

极域电子教室破解指南:3步实现教学环境下的自由操作

极域电子教室破解指南:3步实现教学环境下的自由操作 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在机房环境中,极域电子教室的控制限制常常让学生感到束…

作者头像 李华
网站建设 2026/5/6 15:36:20

为新手开发者详解从注册 Taotoken 到获取首个 API Key 的完整流程

为新手开发者详解从注册 Taotoken 到获取首个 API Key 的完整流程 1. 注册 Taotoken 账户 访问 Taotoken 官方网站并点击页面右上角的「注册」按钮。在注册表单中填写有效的电子邮箱地址并设置账户密码。系统将向该邮箱发送一封验证邮件,点击邮件中的确认链接即可…

作者头像 李华