ACL Enumeration

Enumerating ACLs with PowerView

Attacker có thể sử dụng PowerView để thực hiện enum ACLs, nhưng sẽ tốn thời gian và độ chính xác không cao. Nếu sử dụng command Find-InterestingDomainAcl thì rất nhiều output trả ra.

PS C:\htb> Find-InterestingDomainAcl

ObjectDN                : DC=INLANEFREIGHT,DC=LOCAL
AceQualifier            : AccessAllowed
ActiveDirectoryRights   : ExtendedRight
ObjectAceType           : ab721a53-1e2f-11d0-9819-00aa0040529b
AceFlags                : ContainerInherit
AceType                 : AccessAllowedObject
InheritanceFlags        : ContainerInherit
SecurityIdentifier      : S-1-5-21-3842939050-3880317879-2865463114-5189
IdentityReferenceName   : Exchange Windows Permissions
IdentityReferenceDomain : INLANEFREIGHT.LOCAL
IdentityReferenceDN     : CN=Exchange Windows Permissions,OU=Microsoft Exchange Security 
                          Groups,DC=INLANEFREIGHT,DC=LOCAL
IdentityReferenceClass  : group

ObjectDN                : DC=INLANEFREIGHT,DC=LOCAL
AceQualifier            : AccessAllowed
ActiveDirectoryRights   : ExtendedRight
ObjectAceType           : 00299570-246d-11d0-a768-00aa006e0529
AceFlags                : ContainerInherit
AceType                 : AccessAllowedObject
InheritanceFlags        : ContainerInherit
SecurityIdentifier      : S-1-5-21-3842939050-3880317879-2865463114-5189
IdentityReferenceName   : Exchange Windows Permissions
IdentityReferenceDomain : INLANEFREIGHT.LOCAL
IdentityReferenceDN     : CN=Exchange Windows Permissions,OU=Microsoft Exchange Security 
                          Groups,DC=INLANEFREIGHT,DC=LOCAL
IdentityReferenceClass  : group

<SNIP>

Cách khác đó là thực hiện enum target bắt đầu với user mà ta có quyền kiểm soát. Để tìm kiếm hiệu quả, cần thực hiện lấy SID trước.

Sử dụng function Get-DomainObjectACL để thực hiện tìm kiếm tất cả các domain objects có quyền bằng các map SID của user bằng cách sử dụng $sid với property là SecurityIdentifier.

Để map với GUID của ObjectAceFlags, tham khảo: https://learn.microsoft.com/en-us/windows/win32/adschema/control-access-rights

Reverse Search & Mapping to a GUID Value

-ResolveGUIDs Flag

Create a List of Domain Users

Further Enumeration of Rights Use

Get-DomainGroup

Với GenericAll ta có thể:

  • Modify group membership

  • Force change password

  • Thực hiện Kerberoasting attack

Enumerating ACLs with BloodHound

Tìm attack path bằng BloodHound được đánh giá là mạnh hơn PowerView. Lấy các data đã thu thập trước đó từ SharpHound ingestor sau đó upload lên BloodHound. Sử dụng tab Node Info và scroll xuống Outbound Control Rights, option này chỉ show object mà ta có quyền kiểm soát trực tiếp, thông qua group membership và số lượng object mà user này có thể controll qua ACL attack Transitive Object Control.

View Node Info:

Viewing potential attack:

Viewing queries:

Last updated