当前位置: 首页 > news >正文

AD渗透中服务账号相关攻击手法总结(Kerberoasting、委派)

在Windows域环境中,服务账号因其与服务主体名称(Service Principal Name,SPN)的关联、高权限特性和在Kerberos认证中的关键作用,成为Active Directory(AD)渗透攻击的首要目标。服务账号通常用于运行关键服务(如SQL Server、Exchange、Web服务等),但其配置不当(如弱密码、不合理的委派设置)为攻击者提供了利用Kerberoasting、委派攻击(包括非约束委派、约束委派和基于资源的约束委派,RBCD)等技术实现权限提升或横向移动的机会。本文将全面探讨服务账号相关的攻击手法,旨在帮助读者深入理解攻击原理和机制。

一、服务账号与SPN的核心概念

1.1 服务账号的分类与特性

服务账号是为运行特定服务而创建的账号,在AD环境中分为以下类型:

账号类型描述特点SPN关联攻击风险典型场景
域用户账号sqlsvc,用于运行特定服务本质是普通域用户,需手动配置密码需注册SPN(如MSSQLSvc/sqlserver.corp.local:1433易被Kerberoasting攻击,弱密码风险高SQL Server、IIS服务
机器账号WEB01$,代表加入域的计算机系统生成128位随机密码,30天轮换可注册SPN,密码难以破解可被委派攻击利用文件服务器、Web服务器
组托管服务账号(gMSA)由AD自动管理的账号密码复杂,自动更新可注册SPN,安全性高攻击难度大高安全需求的现代化服务

图表解读

  • 域用户账号:因手动配置密码,易因弱密码或长期不变被攻击。
  • 机器账号:密码随机性强,Kerberoasting难以直接破解,但委派设置可能被利用。
  • gMSA:通过AD管理密码,降低破解风险,适合高安全场景。

1.2 SPN与Kerberos认证的机制

SPN是Kerberos协议中用于标识服务实例的唯一标识符,格式为服务类型/主机名:端口(如HTTP/webserver.corp.local:80)。Kerberos认证流程如下:

认证阶段流程涉及组件攻击点
TGT请求用户凭据向KDC请求TGT用户、KDC需有效域用户凭据
TGS请求使用TGT请求SPN的TGS客户端、KDC、服务账号可请求任意SPN的TGS
服务认证TGS(加密部分使用服务账号NTLM哈希)发送到服务端客户端、服务端TGS可被导出,离线破解

图表解读

  • TGS加密:TGS的加密部分使用服务账号的NTLM哈希,攻击者可通过Kerberoasting导出并破解。
  • 低权限要求:任何域用户均可请求TGS,无需直接访问服务,降低攻击门槛。
  • SPN的作用:SPN将服务账号与服务绑定,成为攻击者枚举和攻击的入口。

1.3 服务账号的典型应用场景

服务账号广泛应用于企业环境中,以下为常见场景:

服务类型服务账号SPN示例功能潜在风险
SQL ServersqlsvcMSSQLSvc/sqlserver.corp.local:1433运行数据库服务Kerberoasting、横向移动
IISwebsvcHTTP/webserver.corp.local运行Web服务委派攻击、权限提升
文件共享filesvcCIFS/fileserver.corp.local提供文件访问数据泄露、委派攻击
ExchangeexsvcexchangeMDB/exserver.corp.local运行邮件服务邮件数据泄露、权限提升

图表解读

  • 多样性:服务账号覆盖多种关键服务,控制其等于控制相关资源。
  • 高价值:服务账号常具有本地管理员权限或访问敏感数据的权限。

二、Kerberoasting攻击的原理和流程

2.1 攻击原理

Kerberoasting利用Kerberos协议允许域用户请求任意SPN的TGS的特性,攻击者可导出TGS并离线破解服务账号的密码。其核心特点如下:

特性描述攻击优势限制
TGS加密使用服务账号的NTLM哈希加密可离线破解,无需与服务交互需弱密码
低权限要求普通域用户即可请求TGS攻击门槛低需有效域用户凭据
弱密码风险服务账号密码常较弱破解成功率高强密码增加破解难度

图表解读

  • 攻击可行性:无需高权限,普通域用户即可发起。
  • 目标选择:优先攻击高权限服务账号(如Domain Admins成员)以快速提权。
  • 加密算法:支持RC4(较弱,易破解)和AES(较强,破解耗时)。

2.2 攻击流程

Kerberoasting攻击流程简明高效,以下为各阶段说明:

阶段动作工具输出风险点
枚举SPN扫描域内SPN账号GetUserSPNs.py, PowerViewSPN列表暴露服务账号
请求TGS请求目标SPN的TGSImpacket, MimikatzTGS文件可被导出
离线破解暴力破解NTLM哈希hashcat, John the Ripper明文密码弱密码易破解
权限利用使用密码登录服务PsExec, sqlcmd服务控制权限提升

图表解读

  • 自动化程度:工具如Impacket支持批量枚举和请求TGS,效率高。
  • 高回报:破解成功可直接控制关键服务,如数据库或Web服务器。

2.3 案例分析

场景:域内服务账号sqlsvc运行SQL Server,SPN为MSSQLSvc/sqlserver.corp.local:1433,密码为Passw0rd!

攻击阶段动作结果后续利用
枚举发现sqlsvc的SPN锁定攻击目标确定高价值服务
请求TGS获取TGS提取加密哈希无需服务访问权限
破解得到密码Passw0rd!控制sqlsvc登录SQL Server
利用登录SQL Server获取数据库权限提取敏感数据,横向移动

图表解读

  • 攻击路径:从低权限用户到控制关键服务,仅需破解弱密码。
  • 后续风险sqlsvc可能具有本地管理员权限,攻击者可提取其他凭据(如域管理员的NTLM哈希)。

2.4 优化攻击的策略

策略描述效果
筛选高权限目标优先攻击AdminCount=1的SPN账号快速提权至域管理员
强制弱加密请求RC4加密的TGS提高破解速度
批量攻击批量请求域内所有SPN的TGS覆盖更多目标
结合钓鱼获取初始域用户凭据降低攻击门槛

图表解读

  • 高效性:通过筛选和批量操作,攻击者可快速锁定高价值目标。
  • 隐蔽性:结合社会工程学,获取初始凭据后即可发起攻击。

三、委派攻击的机制与类型

委派攻击利用Kerberos委派机制,允许服务账号以用户身份访问其他服务。以下通过图表解析三种委派类型及其攻击点。

3.1 委派账号的权限地图

账号类型是否能委派别人是否能被委派备注攻击场景
域用户账号(如sqlsvc✅(需SPN+委派权限)服务账号,运行特定服务Kerberoasting、约束委派
机器账号(如WEB01$✅(需非约束/约束委派)代表域内计算机非约束委派、RBCD
普通域用户(如alice❌(除非特殊配置)普通用户账号被冒充的对象

图表解读

  • 委派者:域用户账号和机器账号可通过委派设置冒充其他用户。
  • 被委派者:普通域用户和机器账号可被冒充,服务账号(域用户账号)不可被委派。
  • 攻击焦点:服务账号因SPN和委派设置,成为攻击核心。

3.2 委派类型的权限与攻击点

委派类型权限范围攻击点典型场景风险级别
非约束委派最大:冒充用户访问任意服务导出TGT,冒充高权限用户控制启用了非约束委派的主机
约束委派中等:仅限指定SPN伪造票据访问指定服务控制服务账号,访问文件服务器
RBCD最小:目标资源控制委派配置RBCD,伪造票据控制机器账号,访问目标资源中低

图表解读

  • 非约束委派:权限最大,攻击者可直接提权至域管理员。
  • 约束委派:限制服务范围,但可冒充任意用户访问指定服务。
  • RBCD:需控制资源或创建机器账号,适合横向移动。

3.3 非约束委派攻击

原理:服务账号可获取访问者的TGT,攻击者控制服务主机后导出TGT,冒充用户访问任意服务。

流程简述

  1. 发现启用了非约束委派的账号。
  2. 诱导高权限用户(如域管理员)访问。
  3. 导出TGT,伪造用户身份。
  4. 访问域控或其他服务。

案例:攻击者控制WEB01$(启用了非约束委派),诱导域管理员访问,导出TGT,冒充域管理员运行dcsync,提取所有用户哈希。

图表:非约束委派攻击路径

阶段动作结果风险典型工具
发现查找非约束委派账号锁定WEB01$暴露目标PowerView
诱导诱导域管理员访问TGT存储在内存凭据泄露Printer Bug
导出提取TGT域管理员票据直接提权Mimikatz
利用访问域控控制域环境完全失陷dcsync

图表解读

  • 高危性:TGT可用于任意服务,攻击者可直接提权。
  • 诱导技术:如Printer Bug(CVE-2020-1048),通过漏洞触发高权限用户访问。

3.4 约束委派攻击

原理:服务账号通过S4U2self和S4U2proxy协议冒充用户访问指定SPN。

流程简述

  1. 发现启用了约束委派的账号。
  2. 伪造票据访问指定服务。

案例:服务账号svc-web允许访问CIFS/fileserver.corp.local,攻击者控制svc-web,伪造域管理员票据,访问文件服务器,下载敏感文件。

图表:约束委派攻击路径

阶段动作结果风险典型工具
发现查找约束委派账号锁定svc-web暴露目标PowerView
伪造生成伪造票据冒充域管理员访问受限服务Mimikatz
利用访问文件服务器获取敏感文件数据泄露dir

图表解读

  • 受限性:攻击范围限于指定SPN,需精准目标。
  • 灵活性:可冒充任意用户,适合针对性攻击。

3.5 基于资源的约束委派(RBCD)

原理:目标资源通过msDS-AllowedToActOnBehalfOfOtherIdentity属性控制委派权限,攻击者修改配置后伪造票据。

流程简述

  1. 创建或控制机器账号(默认配额10个)。
  2. 配置目标资源的RBCD权限。
  3. 伪造票据访问资源。

案例:攻击者创建ATTACKER-PC$,配置TARGET-PC允许其委派,伪造域管理员票据,获取TARGET-PC的SYSTEM权限。

图表:RBCD攻击路径

阶段动作结果风险典型工具
创建创建ATTACKER-PC$新机器账号利用配额New-ADComputer
配置修改RBCD允许委派控制资源Set-ADComputer
伪造生成伪造票据冒充域管理员访问资源Mimikatz
利用执行远程命令SYSTEM权限横向移动Invoke-Command

图表解读

  • 低权限利用:普通用户可创建机器账号,降低门槛。
  • 横向移动:适合从低权限账号扩展到关键资源。

四、横向移动与服务账号的利用

服务账号的高权限特性使其成为横向移动的理想跳板。以下为主要利用方式:

利用方式描述攻击目标潜在结果典型场景
服务控制使用服务账号凭据登录主机SQL Server、文件服务器本地管理员权限控制数据库服务器
票据伪造使用TGT/TGS冒充高权限用户域控、关键服务权限提升冒充域管理员
漏洞利用攻击服务漏洞SQL Server RCE直接提权执行系统命令

图表解读

  • 多路径攻击:服务账号连接低权限用户与高权限目标。
  • 高回报:控制服务账号常可访问敏感资源或提权。

案例:攻击者破解sqlsvc密码,登录SQL Server,提取域管理员的NTLM哈希,通过Pass-the-Hash攻击访问域控,完成域提权。

五、总结

服务账号在AD环境中是Kerberos认证的核心,但其SPN绑定、高权限特性和委派配置使其成为攻击者的目标。Kerberoasting通过TGS破解弱密码,非约束委派、约束委派和RBCD通过伪造票据实现权限提升和横向移动。通过图表和案例分析,读者可清晰理解“谁能委派谁”以及各攻击类型的权限范围和风险点。攻击者仅需普通域用户权限即可发起这些攻击,凸显了服务账号管理的重要性。

http://www.xdnf.cn/news/1481005.html

相关文章:

  • 数据仓库概要
  • 【selenium】网页元素找不到?从$(‘[placeholder=“手机号“]‘)说起
  • PyQt5 入门(上):开启 GUI 编程之旅
  • python advance -----object-oriented
  • URI与URL区别:资源ID和地址差异
  • Vue3中Vite的介绍与应用
  • 第1课:开篇:RAG技术与DeepSeek模型全景导读
  • Cloudflare for SaaS 实现 CNAME 接入 CDN 支持国内外智能分流建站
  • AI Agent侵入办公室
  • Android Audio Patch
  • 长尾关键词优化驱动SEO流量增长
  • 链动2+1模式:全渠道整合与用户角色化的商业逻辑与行为动机探析
  • ElasticSearch原理
  • CAN总线学习
  • HarmonyOS:通过组件导航设置信息提醒
  • 贪心算法应用:机器人路径平滑问题详解
  • 9月6日笔记
  • 让机器具有主动性-主动性算法[01]
  • HuggingFace Trainer(回调可视化)
  • 木棉EZ100-Pro 15.5G矿机参数解析:Etchash算法与高效能耗
  • Day27 函数2 装饰器
  • 【Redis】--持久化机制
  • 2025年服装工厂高效管理系统解决方案优选指南
  • 华为悦盒EC6108V9/EC6108V9U/EC6108V9C_MV100(pub普通版/CA高安版)卡刷和强刷固件包
  • 2025年渗透测试面试题总结-55(题目+回答)
  • 为什么ubuntu大文件拷贝会先快后慢?
  • spring事务传播机制
  • 智能驾驶调研
  • 智慧灌区系统:科技赋能,让农田灌溉更智能、更高效、更可持续
  • MySQL数据库精研之旅第十七期:深度拆解事务核心(下)