
単一のActive DirectoryプリンシパルのDACLを解析・解決し、着信アクセス権限を特定、SIDを解決、BloodHound取り込み用にLDAP属性をログ記録することで、標的型特権昇格パス分析を可能にします。
Acedは、単一のターゲットActive DirectoryプリンシパルのDACLを解析・解決するツールです。Acedは、対象アカウントに対する着信アクセス許可の興味深い権限を特定し、着信権限のSIDを解決して、そのデータを操作者に提示します。さらに、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に取り込まれたデータがどのように見えるかを示します。
