
Анализирует и разрешает DACL одного субъекта Active Directory для выявления входящих прав доступа, разрешения SID и логирования атрибутов LDAP для импорта в BloodHound, что позволяет проводить целевой анализ путей повышения привилегий.
Aced — это инструмент для анализа и разрешения DACL одного целевого участника Active Directory. Aced выявляет интересные права на входящий доступ, разрешённые для целевой учётной записи, разрешает SID входящих разрешений и представляет эти данные оператору. Кроме того, функции логирования pyldapsearch были интегрированы с Aced для локального логирования атрибутов LDAP целевого участника, которые затем могут быть обработаны сопутствующим инструментом pyldapsearch BOFHound для загрузки собранных данных в BloodHound.
Я написал Aced, потому что хотел более целенаправленный подход к запросам ACL. Bloodhound — отличный инструмент, однако он чрезвычайно шумный. Bloodhound собирает всё подряд, в то время как Aced собирает один объект, предоставляя оператору больше контроля над тем, какие и как данные собираются. Риск обнаружения снижается за счёт запроса только того, что LDAP хочет вам сообщить, и отказа от выполнения действий, известных как "дорогие LDAP-запросы". Aced имеет возможность отказаться от SMB-соединений для разрешения имени хоста. Вы можете предпочесть LDAPS вместо LDAP. Благодаря дополнительной интеграции с 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.
