Привет, гость!

Добро пожаловать на CVVPRO - крупнейший теневой кардинг форум РУнета. Чтобы получить полный доступ к форуму войди или пройди регистрацию!

Пентест AD - как ломают внутрянку

Drake3221

Опытный user
Регистрация
22 Сен 2021
Сообщения
692
Реакции
111
Приветствую, дорогой читатель!
В этой статье я расскажу о том, как взламывают и захватывают инфраструктуру, получая полный доступ над всеми серверами.
Посчитал нужным написать данную статью после инцидента с одноимённой компанией, хотелось бы открыть глаза на безопасность таких вещей.


Для начала разберёмся, что же такое AD:

AD (Active Directory) - Служба, разработанная Microsoft, предназначенная для управления данными (доступом к ним), правами и сервисами, а так-же прочими ресурсами в сети.
Она управляет объектами (серверами, пользователями) в домене.

Почти всегда, когда вы имеете дело с инфраструктурой, развёрнутой на Windows серверах, вы имеете дело с Active Directory.
Базовые понятия (много терминов)
DC (Domain Controller) - Контроллер домена, это сервер, который хранит хеши паролей для всех пользователей домена.

LDAP (Lightweight Directory Access Protocol) - Один из основных протоколов, используемых в AD.
Позволяет реализовывать доступ к различным службам каталогов и управления ими.

Service Principal Name (SPN) - Уникальный идентификатор сервиса, используется для авторизации через Kerberos.
Он привязывается к учётной записи, с правами которой запускается сервис.

RPC (Remote Procedure Call) - Это механизм, позволяющий запросить выполнение кода (какой-либо функции) на другом сервере, таким образом, словно эта функция выполняется локально.
Он используется для создания/удаления групп, пользователей, серверов, это достаточно важная часть AD.

SMB (Server Message Block) - Это сетевой протокол, реализующий удалённый доступ к различным файлам, принтерам и другим сетевым ресурсам.
Он позволяет работать с файлами на удалённых серверах, редактировать их, читать и записывать.

Kerberos - Сетевой протокол, реализующий аутентификацию по билетам - специальным токенам для получения доступа к сервисам в AD.
Он позволяет авторизовывать пользователей, выдавать билеты, соответственно он является частью KDC.
> KDC (Key Distribution Center) - Центр распределения ключей. Он отвечает за выдачу билетов пользователям (клиентам), а так-же разграничение доступов к AD сервисам.
> TGT (Ticket Granting Tickets) - Билет для получения TGS билетов (промежуточная стадия), предоставляет собой сессионный токен с временем жизни как правило не более 10 часов.
> TGS (Ticket Granting Service) - Билет для непосредственного доступа к конкретному сервису, с учётом прав текущего пользователя (клиента).
> Silver/Golden Ticket - Подделка TGS билета (путём взлома хеша пароля от SPN), позволяющая выдавать себя за других пользователей.

Как работает Kerberos
Представим, что в компании Example Inc (домен example,com) существует инфраструктура, развёрнутая на Active Directory.
Она включает Windows сервера PROD1 и PROD2, а вы, как один из её сотрудников (клиент инфраструктуры), имеете учётную запись CLNT.

Таким образом, вы клиент CLNT, и вы хотите получить доступ к сервису PROD1 в AD.

Вы должны отправить пакеты центру распределения ключей (KDC) в следующем порядке:
1 - AS_REQ - в сторону KDC (запрос на получение TGT).
На этом этапе вы передаёте имя клиента (ваше) и имя службы, к которой хотите получить доступ, а так-же отметку времени.
Если отметка времени в AS_REQ отличается от текущего времени более чем на 5 минут, запрос не проходит, это сделано в целях безопасности.
2 - AS_REP - от KDC к вам, в случае успешной аутентификации.
Этот пакет содержит зашифрованный TGT билет, сессионный ключ, а так-же метку времени и период действия билета.

На данном этапе вы получаете TGT билет для доступа к сервисам, но для того, чтобы заполучить доступ к конкретному сервису, нужен другой билет:
3 - TGS_REQ - в сторону KDC (запрос на получение конкретного билета, вы представляетесь клиентом CLNT и сообщаете KDC о том, что хотите получить доступ к сервису PROD1)
4 - TGS_REP - от KDC к вам, в случае успеха вы получите TGS билет, который обеспечит вам запрашиваемый доступ.

Таким образом вы заполучили TGS билет для сервиса PROD1. Супер!
Полезные утилиты
impacket - Набор Python-библиотек с открытым исходным кодом, для работы с сетевыми протоколами AD на низком уровне (своего рода API) [github].
Поддерживает SMB, RDP, Kerberos, NTLM, LDAP и прочие технологии, является очень полезным инструментом при пентесте Active Directory.

Kerbrute - Утилита для перебора учётных записей (и их хешей) с отключённой преаутентификацией, часто используется для проведения AS_REP Roasting атак [github].

Rubeus - Утилита для пентеста Active Directory, имеется в арсенале каждого уважающего себя пентестера.
Написана на языке C#.

Если в случае успешной атаки Pass-the-Ticket получится словить TGT билет учётной записи DC, при помощи атаки DCSync станет возможной компрометация NTLM хеша учётной записи krbtgt, создания Golden Ticket и последующего захвата домена.

Почаще следите за активностью ваших серверов (включая сетевой трафик), грамотно разграничивайте права доступа, используйте сильные пароли, не допускайте глупых мисконфигов, а самое главное - не забывайте вовремя обновляться)

Надеюсь, данная статья была полезна для вас. До скорых встреч!
 

Stephaniero

Опытный user
Регистрация
22 Апр 2021
Сообщения
650
Реакции
104
Главный вывод: AD крайне уязвима при плохой настройке
 

veryfry

Опытный user
Регистрация
16 Сен 2021
Сообщения
708
Реакции
91
изучите основы AD - без понимания нормальной работы домена вы не заметите аномалий при тестировании
 

Carlo09

Опытный user
Регистрация
28 Май 2020
Сообщения
838
Реакции
112
двухфакторка и мониторинг аномальных LDAP-запросов и рисков считай нет
 
Сверху Снизу