Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
| Помогли мы вам |
Active Directory позволяет строить сети со сложной архитектурой, включающей несколько доменов и лесов, которые поддерживают определенную иерархию взаимного доверия. Подобные системы неидеальны с точки зрения безопасности, и, хорошо разбираясь в их устройстве, взломщик может получить к ним несанкционированный доступ. В этой статье мы разберем несколько видов атак на отношения доменов и лесов в Active Directory.
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Множество компаний использует среду Active Directory для администрирования сети своей организации. Компании растут, домен расширяется, и рано или поздно наступает момент, когда требуется создать в домене другие домены, чтобы разграничить пользователей, обязанности, да и, в конце концов, позаботиться о безопасности.
Допустим, у нас есть компания MISHA Corporation. У нее может быть домен misha. для администраторов, bank. для финансового отдела, dev. для разработчиков и так далее.
Доверие между двумя доменами может быть двусторонним — пользователи домена bank. могут получать доступ к ресурсам dev., а пользователи dev. — к bank.. А может быть односторонним — в таком случае лишь пользователи одного определенного домена имеют доступ к ресурсам другого. Допустим, учетные записи домена dev. могут ходить в домен bank., а вот пользователи bank. в dev. не могут.
Наша прекрасная компания продолжает расширяться и покупает другую компанию, назовем ее MYCRASOFT Corporation. У этой фирмы также есть домен — mycra., в нем имеются пользователи, сервисы, группы. Все настроено и отлично работает. Само собой, теперь пользователям домена misha хотелось бы получить доступ к этому домену. Здесь мы плавно переходим к понятию леса.
Лес — самая крупная структура в AD. Внутри леса находятся деревья — некий набор доменов (misha., bank., dev.). Между лесами также можно настроить как одностороннее, так и двустороннее доверие.
Мы рассмотрим безопасность этих доверенных отношений. Опишем набор атак — от простых к сложным — и разберем такие темы, как SID Filtering, PAM Trust, TGT Delegation.
Когда я пишу «между лесами», я имею в виду атаку, которая выполняется из одного леса на другой, например misha.. Если я пишу «между доменами», то я имею в виду атаку между деревьями (dev.). Чтобы понимать, о чем тут идет речь, читателю нужно разбираться в Kerberos, делегировании, а также иметь базовые знания в Active Directory, так как статья не предполагает объяснение этих технологий, а лишь рассматривает их возможные недостатки.
Сначала предлагаю определить масштаб проблемы. Иногда мы будем использовать PowerView и Active для перечисления объектов.
Выявить все отношения между лесами поможет встроенный инструмент nltest:
nltest /domain_trusts
Nltest
Из вывода мы видим, что в исследуемой сети целых три леса. Между ними всеми установлено двустороннее доверие, а production. имеет атрибут enable_tgt, о котором мы поговорим немного позже.
Соберем чуть больше информации с помощью следующих инструментов:
# Получить информацию о лесе# PowerViewGet-ForestGet-Forest-Forestpriv.local# AD ModuleGet-ADForestGet-ADForest-Identitypriv.local# Получить все домены в лесу# PowerView# PowerView v3Get-ForestDomainGet-ForestDomain-Forestpriv.local# PowerView v2Get-NetForestDomain-VerboseGet-NetForestDomain-Forestpriv.local# AD Module(Get-ADForest).Domains
Конечно же, мы можем использовать nltest с приведенным выше синтаксисом, чтобы узнать отношения и внутри леса, но рассмотрим вариант с PowerView и AD Module:
#v3Get-DomainTrustGet-DomainTrust-Domainpriv.localGet-DomainTrust-SearchBaseGC://priv.local# v2Get-NetDomainTrust-Domainpriv.local# Найти все внешние (external) доверия в текущем лесуGet-NetDomainTrust|?{$_.TrustType-eq'External'}# AD ModuleGet-ADTrustGet-ADTrust-Identitypriv.local
Полученный нами вывод показывает связи и отношения внутри леса в исследуемой сети.
Обеспечивает безопасность специальный ключ — ключ доверия, который автоматически генерируется при создании отношений. При установлении доверия в каждом домене создается связанный пользовательский объект для хранения ключа доверия. Имя пользователя — это NetBIOS-имя другого домена, которое заканчивается символом $ (аналогично имени учетной записи компьютера). Например, в случае доверия между доменами misha. и mycra. домен misha будет хранить ключ доверия в пользователе mycra$, а домен mycra будет хранить его в пользователе misha$.
|
|
|

