使用伪造的信任票证破坏域信任

admin 2024年7月30日15:31:29评论10 views字数 2002阅读6分40秒阅读模式

使用伪造的信任票证破坏域信任

滥用 Active Directory 域信任将权限提升至企业管理员

使用伪造的信任票证破坏域信任

在上一篇关于枚举域信任的文章中,我们讨论了域和林之间的信任关系。我们了解到,林中的所有域都具有隐式传递双向关系,允许用户轻松访问同一域或不同域内的共享资源。

本文将介绍如何在横向移动阶段滥用域信任来跳转到其他域(如根域)并升级到企业管理员。攻击场景需要攻击者在域控制器上获取 DA 以转储其信任密钥。然后,使用它们伪造信任票证以访问位于其他域上的资源。

攻击场景的演示步骤将在Nikhil Mittal与CRTP课程相关的Pentester Academy Active Directory Lab中进行。

关键概念📄

  • 分析流程

  • 升级要求

  • 已使用的工具

  • 伪造信任票[演示]

$_Trust_Flow_Analysis

1-用户通过发送包含其凭证的加密请求向DC#1进行身份验证。DC #1验证其身份并发送TGT 票证。

2.用户收到TGT 票证并将其发送回DC#1,请求特定服务(如 SQL 服务)的服务票证。如果请求的服务位于另一个域中, DC #1将发出一个特殊的 TGT 票证(称为“域间票证”或“引荐票证”),该票证使用其信任密钥加密,以引用具有该服务的DC 。

在我们的案例中,用户请求访问位于域 #2上的SQL 服务。因此,DC #1向DC #2发出了推荐票。

使用伪造的信任票证破坏域信任

图 1-显示 DC #1 为用户发出跨领域 TGT 票证。

3. 用户将该跨领域票据提交给DC #2,请求 SQL 服务票据。DC #2拥有 DC#1 的信任密钥副本;如果它解密了用户提交的票据,它将继续按照请求签发 SQL 服务票据,而无需进行其他验证。

使用伪造的信任票证破坏域信任

图 2 — 显示用户向 DC #2 出示跨域票据

📌 DC#2 将盲目信任 DC #1来验证用户。但是,我们将在稍后的升级部分中看到风险,即如果攻击者获得信任密钥,则可以整天伪造 TGT 票证。

4. 用户向数据库服务器出示 SQL TGS 票证并获得预期的访问权限。

$_Escalation_Requirements 🚩

  • 受感染域控制器上的域管理员权限。

  • 域控制器信任密钥用于伪造跨域 TGT 票证。

$_Used _Tools🔧

  • Invoke-Mimikatz

  • Rubeus

$_Escalation_Demo🔥

我们的目标是伪造跨域信任票证,使用泄露的信任密钥将我们升级为企业管理员。此步骤假定您已获得 DC 上的域管理员权限。

我在上一篇文章(链接)中通过滥用应用程序服务器的无约束委派获得了访问权限。

使用伪造的信任票证破坏域信任

图 3 — 显示对域控制器的访问。

要伪造信任票证,我们需要域信任密钥和根域的 SID。Invoke-Mimikatz使用trust 参数运行以获取密钥。

Invoke-Mimikatz -Command ‘“lsadump::trust /patch”’-ComputerName dc-name

如下图所示,我们从域控制器获取了所有的信任密钥。域名前面的[IN]和[OUT] 表示信任方向。

在我们的案例中,我们感兴趣的是从子域“dollar.moneycorp.local”访问根域“moneycorp.local”。因此,我们选择第一个密钥。

[ In ] DOLLARCORP.MONEYCORP.LOCAL -> MONEYCORP.LOCAL

使用伪造的信任票证破坏域信任

图 4 — 显示 Mimikatz 从子域控制器获取所有信任密钥。

在确定正确的信任密钥后,我们需要域控制器 SID 和根域的 SID 来创建具有企业管理员权限的伪造信任票证。

使用伪造的信任票证破坏域信任

图 5 — 显示使用信任密钥哈希和 SID 值通过 Mimikatz 伪造新的信任票。

接下来,运行Invoke-Mimikatz来发出跨域票证。同样,我们指定 gold 模块、子域 SID “dollar.moneycorp.local”和根域SID“moneycorp.local”。

Invoke-Mimikatz -Command '"Kerberos::golden /user: Administrator /domain: dollarcorp.moneycorp.local [child_domain]/sid: DomainAdmin_SID /sids: Enterprise_Admin_SID/rc4: Ticket HASH /service:krbtgt /target:moneycorp.local [root domain]/ticket: location to save the ticket"'

使用伪造的信任票证破坏域信任

图 7 — 显示 Rubeus 使用伪造的跨领域票证请求 CIFS 服务票证。

运行命令后,使用该klist 命令验证我们是否有新的 TGS 票证。

如下所示,我们以管理员身份获得了根域控制器“mcorp-dc.moneycorp.local”上 CIFS 服务的 TGS 票证。我们能够列出根域上的企业管理员共享。

使用伪造的信任票证破坏域信任

图 8 — 显示以企业管理员身份访问根域。

这篇文章到此结束。我们了解了跨域 Active Directory 信任的动态,以及如何伪造具有更高权限的跨域信任票证,以企业管理员身份访问根域。

原文始发于微信公众号(Ots安全):使用伪造的信任票证破坏域信任

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月30日15:31:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用伪造的信任票证破坏域信任https://cn-sec.com/archives/3014746.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息