Autobloody - автоматическая эксплуатация привилегий Active Directory
Сегодня рассмотрим инструмент, позволяющий автоматически эксплуатировать некоторые векторы эскалации привилегий Active Directory, отображаемые Bloodhound.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Установка
sudo apt install libkrb5-dev # библиотека для работы с kerberos python -m venv venv # создание виртуального окружения source /venv/bin/activate # активация виртуального окружения pip install neo4j # python драйвер для работы с БД neo4j pip install autobloody # установка самой утилиты
Также необходимо установить плагин GDS для neo4j.
Ограничения
На текущий момент программа позволяет автоматически эксплуатировать следующие привилегии:
- MemberOf
- ForceChangePassword
- AddMembers
- AddSelf
- DCSync
- GetChanges/GetChangesAll
- GenericAll
- WriteDacl
- GenericWrite
- WriteOwner
- Owns
- Contains
- AllExtendedRights
Пример использования
Данное решение имеет следующие настройки:
usage: autobloody.py [-h] [--dburi DBURI] [-du DBUSER] -dp DBPASSWORD -ds DBSOURCE -dt DBTARGET [-d DOMAIN] [-u USERNAME] [-p PASSWORD] [-k] [-c CERTIFICATE] [-s] --host HOST
-h, --help выводит справку
--dburi DBURI URI для подключения к neo4j (по-умолчанию "bolt://localhost:7687")
-du DBUSER, --dbuser DBUSER
Пользователь для neo4j (по-умолчанию "neo4j")
-dp DBPASSWORD, --dbpassword DBPASSWORD
Пароль для neo4j
-ds DBSOURCE, --dbsource DBSOURCE
Регистрозависимое имя источника атаки (в bloodhound свойство name)
-dt DBTARGET, --dbtarget DBTARGET
Регистрозависимое имя цели атаки (в bloodhound свойство name)
-d DOMAIN, --domain DOMAIN
Имя домена
-u USERNAME, --username USERNAME
Имя пользователя для NTLM аутентификации
-p PASSWORD, --password PASSWORD
Пароль или хэш (LMHASH:NTHASH) для NTLM аутентификации
-k, --kerberos
-c CERTIFICATE, --certificate CERTIFICATE
Сертификат для аутентификации, формат: "path/to/key:path/to/cert"
-s, --secure Использовать LDAP over TLS (LDAPS), по-умолчанию LDAP
--host HOST IP или hostname доменного контроллера (DC) (ex: my.dc.local or 172.16.1.3)Для наполнения домена использован скрипт BadBlood.
Представим, что у нас есть учетная запись SUSANA_AYERS,но у нас есть потребность в захвате учетной записи EMILY_GIBBS.
При рассмотрении результатов выгрузки SharpHound в BloodHound мы видим, что SUSANA_AYERS входит в группу ПОЛЬЗОВАТЕЛИ ДОМЕНА, а группа ПОЛЬЗОВАТЕЛИ ДОМЕНА входит в группу LE-SOYAFORTU-DISTLIST1. В свою очередь группа LE-SOYAFORTU-DISTLIST1 имеет разрешение GenericAll при взаимодействии с пользователями GERRY_YOUNG или RAPHAEL_CLINE.
Учетная запись с разрешением GenericAll может выполнять практически любые действия с ресурсом, включая полное контролирование его содержимого и настроек без каких-либо ограничений.Соответственно, SUSANA_AYERS, как член группы LE-SOYAFORTU-DISTLIST1, может менять любые настройки пользователей GERRY_YOUNG и RAPHAEL_CLINE, в том числе пароль. Таким образом, изменив пароль любого из этих пользователей, получаем доступ к выполнению команд от их имени после аутентификации.
Здесь начинается вторая итерация эскалация привилегий. Для примера полагаем, что мы получили доступ к аккаунту RAPHAEL_CLINE.
Пользователь RAPHAEL_CLINE является частью группы SA-240-DISTLIST1, а эта группа имеет разрешение GenericAll при взаимодействии с EMILY_GIBBS, поэтому RAPHAEL_CLINE так же имеет это разрешение. Таким образом, RAPHAEL_CLINE меняет пароль EMILY_GIBBS, эскалация привилегий завершена.
- Пароль SUSANA_AYERS:
Arbzuik111 - URI neo4j:
bolt://localhost:7687 - Пароль для neo4j:
yNgGAi4dla - Домен:
GISCYBERTEAM.LOCAL - Адрес доменного контроллера:
192.168.207.134
autobloody -dp yNgGAi4dla -ds SUSANA_AYERS@GISCYBERTEAM.LOCAL -dt EMILY_GIBBS@GISCYBERTEAM.LOCAL -u SUSANA_AYERS -p Arbuzik111 --host 192.168.207.134 -d GISCYBERTEAM.LOCAL
Как видно, утилита автоматически обнаруживает вектор эскалации привилегий и эксплуатирует его.
Заключение
Сегодня мы с вами рассмотрели инструмент, позволяющий автоматически эксплуатировать векторы эскалации привилегий Active Directory через результаты программного решения Bloodhound, что в свою очередь станет отличным дополнением в инструментариях специалиста по тестированию на проникновение.