滥用 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安全):使用伪造的信任票证破坏域信任
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论