Содержание статьи
- Другие статьи про атаки на Active Directory
- Kerberos Golden Tickets
- Ticketer
- Mimikatz
- Meterpreter
- Kerberos Silver Ticket
- Ticketer
- Mimikatz
- SIDHistory
- Golden Ticket + SIDHistory
- AdminSDHolder
- DCShadow
Представь, что мы скомпрометировали привилегированные учетные записи, используя разные техники повышения привилегий, распространились по сети, скрылись от средств обнаружения, но неожиданно потеряли контроль над доменом, потому что администратор по какой-то причине сменил пароль! В сегодняшней статье мы разберем способы сохранить административный доступ, даже если администратор сменил пароли или разрешения.
Другие статьи про атаки на Active Directory
- Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий
- Атаки на Active Directory. Разбираем актуальные методы повышения привилегий
- Боковое перемещение в Active Directory. Разбираем техники Lateral Movement при атаке на домен
- Защита от детекта в 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.

Теперь применим его.

И проверим, что билет успешно загружен.

Таким образом, у нас остается возможность работы с повышенными привилегиями, при этом мы не используем учетных данных администраторов. Это означает, что мы можем получить доступ всегда, даже при смене паролей пользователей, изменении их ролей и даже при удалении скомпрометированных учетных записей.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
1 год7690 р. |
1 месяц720 р. |
Я уже участник «Xakep.ru»