Содержание статьи
Другие статьи про атаки на Active Directory
- Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий
- Атаки на Active Directory. Разбираем актуальные методы повышения привилегий
- Боковое перемещение в Active Directory. Разбираем техники Lateral Movement при атаке на домен
- Защита от детекта в Active Directory. Уклоняемся от обнаружения при атаке на домен
- Защита от детекта в Active Directory. Как обмануть средства обнаружения при атаке на домен
- Сбор учеток в Active Directory. Как искать критически важные данные при атаке на домен
- Бэкдоры в Active Directory. Используем групповые политики, чтобы сохранить доступ к домену
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный информацией из этой статьи.
Kerberos Golden Tickets
Один из способов сохранить доступ к системе — сформировать Golden Ticket: пароль учетной записи krbtgt
не будет изменен при тех же условиях, при которых может быть изменен пароль администратора.
Golden Ticket — это поддельные билеты для выдачи билетов, также называемые аутентификационными билетами (они же TGT). Если посмотреть на схему аутентификации Kerberos в случае Golden Ticket, то можно заметить, что подлинность Kerberos не проверяется (AS-REQ и AS-REP с контроллером домена). Так как Golden Ticket является поддельным TGT, он отправляется контроллеру домена как часть TGS-REQ для получения билета TGS.
Золотой билет Kerberos — действительный билет Kerberos TGT, поскольку он зашифрован и подписан доменной учетной записью Kerberos (krbtgt
). А так как TGT зашифрован хешем пароля krbtgt
и может быть расшифрован любой службой KDC в домене, то билет и воспринимается как реальный. Для того чтобы сделать Golden Ticket, нам необходимо знать следующее:
- SPN домена.
- SID домена.
- NTLM-хеш доменной учетной записи
krbtgt
. - Имя пользователя, под которым будет работать оператор (даже если такого пользователя не существует).
Так как имя пользователя может быть любым, остается найти три недостающих компонента. Название и SID домена можно узнать с помощью PowerShell-команды Get-ADDomain
.
Теперь нужно получить NTLM-хеш учетной записи krbtgt
. Сделать это можно как удаленно, так и с помощью mimikatz. С использованием mimikatz у оператора есть выбор: выполнить атаку DCSync, используя базу Security Account Managers (SAM), или задействовать модуль sekurlsa.
mimikatz # lsadump::dcsync /user:krbtgt
mimikatz # privilege::debug
mimikatz # lsadump::lsa /inject /name:krbtgt
mimikatz # sekurlsa::krbtgt
Удаленная атака выполняется также с использованием DCSync или при наличии открытой сессии meterpreter
.
impacket-secretsdump domain.dom/root@192.168.6.100
Существует два варианта использования meterpreter
: при помощи hashdump
и dcsync_ntlm
(для второго нужно загрузить модуль kiwi).
С помощью полученной информации можно создать и применить Golden Ticket. Сделаем это тремя способами: используя mimikatz, удаленно с помощью ticketer
и с использованием meterpreter
.
Ticketer
Первым делом следует создать билет. Для этого используем скрипт ticketer
из пакета impacket
(напомню, что имя пользователя можно выдумать любое).
impacket-ticketer -nthash 08f5bf2e292d77d8e460d3926a0d90de -domain-sid S-1-5-21-719111203-942671344-1831409528 -domain domain.dom anyuser
В текущей директории создан билет anyuser.ccache
. Экспортируем его.
export KRB5CCNAME=anyuser.ccache
Теперь подключимся с помощью psexec
из того же пакета impacket
.
python3 psexec.py -k -no-pass [домен]/[пользователь]@[имя хоста]
Получаем удаленное управление с правами SYSTEM
.
Mimikatz
Создадим поддельный золотой билет с помощью mimikatz.
Если в данной команде не использовать параметр /ptt
, то билет будет просто сохранен в текущей директории. В данном случае он сразу будет кеширован в памяти. Давай проверим это, вызвав командную строку.
mimikatz # misc::cmd
Теперь, выполнив команду klist
, наблюдаем кешированный Golden Ticket.
Meterpreter
Для работы с meterpreter
будем использовать модуль kiwi. Первым делом создадим Golden Ticket.
Теперь применим его.
И проверим, что билет успешно загружен.
Таким образом, у нас остается возможность работы с повышенными привилегиями, при этом мы не используем учетных данных администраторов. Это означает, что мы можем получить доступ всегда, даже при смене паролей пользователей, изменении их ролей и даже при удалении скомпрометированных учетных записей.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»