
단일 Active Directory 사용자의 DACL을 구문 분석하여 인바운드 액세스 권한을 식별하고, SID를 확인하며, BloodHound 수집을 위한 LDAP 속성을 기록함으로써, 목표 지향적 권한 상승 경로 분석을 가능하게 합니다.
Aced는 단일 대상 Active Directory 보안 주체의 DACL을 구문 분석하고 확인하는 도구입니다. Aced는 대상 계정에 대해 허용된 흥미로운 인바운드 액세스 권한을 식별하고, 인바운드 권한의 SIDS를 확인한 후 해당 데이터를 운영자에게 제공합니다. 또한 pyldapsearch의 로깅 기능이 Aced에 통합되어 대상 보안 주체의 LDAP 속성을 로컬에 기록하며, 이는 pyldapsearch의 동반 도구인 BOFHound에서 구문 분석하여 수집된 데이터를 BloodHound로 가져올 수 있습니다.
Aced를 작성한 이유는 단순히 ACL을 쿼리하는 더 표적화된 접근 방식을 원했기 때문입니다. Bloodhound는 훌륭하지만 매우 시끄럽습니다. Bloodhound는 모든 것을 수집하는 반면 Aced는 단일 항목을 수집하여 운영자가 데이터를 수집하는 방법과 대상을 더 잘 제어할 수 있도록 합니다. 탐지 가능성은 LDAP이 알려주고자 하는 것만 쿼리하고 "비용이 많이 드는 LDAP 쿼리"로 알려진 작업을 수행하지 않음으로써 줄어듭니다. Aced는 호스트 이름 확인을 위해 SMB 연결을 생략하는 옵션이 있습니다. LDAP보다 LDAPS를 선호하는 옵션이 있습니다. BloodHound와의 추가 통합을 통해 수집된 데이터는 팀과 공유할 수 있는 친숙한 형식으로 저장될 수 있습니다. 권한 상승 공격 경로는 목표 대상에서 거꾸로 이동하여 구축할 수 있습니다.
아래 코드를 도용해준 분들께 감사드립니다:
@_dirkjan
@fortaliceLLC
@eloygpz
@coffeegist
@tw1sm
└─# python3 aced.py -h
_____
|A . | _____
| /.\ ||A ^ | _____
|(_._)|| / \ ||A _ | _____
| | || \ / || ( ) ||A_ _ |
|____V|| . ||(_'_)||( v )|
|____V|| | || \ / |
|____V|| . |
|____V|
v1.0
Parse and log a target principal's DACL.
@garrfoster
usage: aced.py [-h] [-ldaps] [-dc-ip DC_IP] [-k] [-no-pass] [-hashes LMHASH:NTHASH] [-aes hex key] [-debug] [-no-smb] target
Tool to enumerate a single target's DACL in Active Directory
optional arguments:
-h, --help show this help message and exit
Authentication:
target [[domain/username[:password]@]<address>
-ldaps Use LDAPS isntead of LDAP
Optional Flags:
-dc-ip DC_IP IP address or FQDN of domain controller
-k, --kerberos Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters. If valid
credentials cannot be found, it will use the ones specified in the command line
-no-pass don't ask for password (useful for -k)
-hashes LMHASH:NTHASH
LM and NT hashes, format is LMHASH:NTHASH
-aes hex key AES key to use for Kerberos Authentication (128 or 256 bits)
-debug Enable verbose logging.
-no-smb Do not resolve DC hostname through SMB. Requires a FQDN with -dc-ip.
아래 데모에서는 corp.local\lowpriv 계정의 자격 증명을 보유하고 있습니다. Domain Admins에서 열거를 시작함으로써 높은 가치의 대상에서 거꾸로 이동하여 권한 상승을 위한 잠재적 경로가 식별됩니다.
그리고 다음은 bofhound에 의해 변환되어 BloodHound로 가져와진 데이터의 모습입니다.
