Tw-city.info

IT Новости
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка доменных политик

Политика паролей учетных записей в Active Directory

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

По-умолчанию в домене AD настройка единых требований к паролям пользователей осуществляется с помощью групповых политик. Политика паролей учетных записей домена настраивается в политике Default Domain Policy.

  1. Чтобы настроить политику паролей, откройте консоль управления доменными GPO (Group Policy Management console – gpmc.msc).
  2. Разверните ваш домен и найдите политику Default Domain Policy. Щелкните по ней ПКМ и выберите Edit.
  3. Политики паролей находятся в следующем разделе редактора GPO: Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Политики учетных записей -> Политика паролей (Computer configuration-> Windows Settings->Security Settings -> Account Policies -> Password Policy).
  4. Чтобы отредактировать настройки нужной политики, дважды щелкните по ней. Чтобы включить политику, отметьте галку Define this policy settings и укажите необходимую настройку (в примере на скриншоте я задал минимальную длину пароля пользователя 8 символов). Сохраните изменения.
  5. Новые настройки парольной политики будут применены ко все компьютерам домена в фоновом режиме в течении некоторого времени (90 минут), при загрузке компьютера, либо можно применить параметры немедленно, выполнив команду gpupdate /force.

Теперь рассмотрим все доступные для настройки параметров управления паролями. Всего имеются шесть политик паролей:

  • Вести журнал паролей (Enforce password history) – определяет количество старых паролей, которые хранятся в AD, запрещая пользователю повторно использовать старый пароль.
  • Максимальный срок действия пароля (Maximum password age) – определяет срок действия пароля в днях. После истечения срока дейсвтвия пароля система потребует у пользователя сменить пароль. Обеспечивает регулярность смены пароля пользователями.
  • Минимальный срок жизни пароля (Minimum password age) – как часто пользователи могут менять пароль. Этот параметр не позволит пользователю несколько раз подряд сменить пароль, чтобы вернуться к любимому старому паролю, перезатерев пароли в журнале Password History. Как правило тут стоит оставить 1 день, чтобы предоставить пользователю самому сменить пароль в случае его компрометации (иначе менять пароль пользователю придется администратору).
  • Минимальный срок действия паролей (Minimum password length) – не рекомендуется делать пароль короче, чем 8 символов (если указать тут 0 – значит пароль не требуется).
  • Пароль должен отвечать требование сложности (Password must meet complexity requirements) – при включении этой политики пользователю запрещено использовать имя своей учетной записи в пароле (не более чем два символа подряд из username или Firstname), также в пароле должны использоваться 3 типа символов из следующего списка: цифры (0 – 9), символы в верхнем регистре, символы в нижнем регистре, спец символы ($, #, % и т.д.). Кроме того, для исключения использования простых паролей (из словаря популярных паролей) рекомендуется периодически выполнять аудит паролей учетных записей домена.
  • Хранить пароли, использую обратимое шифрование (Store passwords using reversible encryption) – пароли пользователей в базе AD хранятся в зашифрованном виде, но в некоторых случаях некоторым приложениям нужно предоставить доступ к паролям в домене. При включении этой политики пароли хранятся в менее защищенной виде (по сути открытом виде), что небезопасно (можно получить доступ к базе паролей при компрометации DC, в качестве одной из мер защиты можно использовать RODC).

Кроме того, нужно отдельно выделить настройки в разделе GPO: Политика блокировки учетной записи (Account Lockout Password):

  • Пороговое значение блокировки (Account Lockout Threshold) – как много попыток набрать неверный пароль может сделать пользователь перед тем, как его учетная запись будет заблокирована.
  • Продолжительность блокировки учетной записи (Account Lockout Duration) – на какое время нужно блокировать учетную запись (запретить вход), если пользователь ввел несколько раз неверный пароль.
  • Время до сброса счетчика блокировки (Reset account lockout counter after) – через сколько минут после последнего ввода неверного пароля счетчик неверных паролей (Account Lockout Threshold) будет сброшен.

Настройки парольных политик домена AD по-умолчанию перечислены в таблице:

Windows Server 2012 R2 групповая политика

Здравствуйте, данная статья расскажет вам о групповой политике Windows Server 2012. Group Police — это мощный инструмент который позволяет управлять пользователями, системой, различными настройками централизованно.

Управление и настройки Group Police происходит через Active Directory а именно настройками для пользователей и ПК которые входят в домен.

Развитие групповых политик производится в рамках домена и здесь же же реплицируются, в основном они нужны для настройки конфигурации нескольких компьютеров в том числе, здесь расположено и настройки безопасности, установка программного обеспечения, различные сценарии, переадресации папок и предпочтения!

Настройки которые создаются в групповой политики расположены в объектах групповых политик.

Существуют два типа ГП а именно: локальный и не локальный.

Не локальные объекты ГП находятся на контроллере домена и иметь к ним доступ возможно только в среде AD, они могут быть использованы только к пользователям и компьютерам в web-сайте, доменах или подразделениях.

Локальные объекты ГП хранятся на локальном ПК и причем на компьютере будет существовать только 1 локальный объект ГП и он будет содержать набор различных параметров доступных вне локальном объекте.

В случае конфликта локального объекта будут перезаписаны в не локальный, или параметры будут применены совместно.
Каждый объект ГП состоит из контейнера GP и шаблона GP.

В системе присутствует два объекта Group Police по умолчанию, это политика домена по дефолту и контроллера домена.

Default Domain Controller Police – эта политика создана в Server 2012 по умолчанию если выполнено условие развертывания сервер-доменных служб AD, и она содержит настройки которые применены только к контроллеру домена.

Default Domain Police (политика домена по дефолту) – создается так же при развертывании роли сервера-доменных служб AD и содержит настройки которые применены ко всем рабочим станциям и пользователям домена.

Можно создавать свои объекты но при создании нужно всегда осознавать целесообразность этих действий, каждый объект состоит из параметров в которых можно выделить две папки:

Computer Configuration – данная папка будет содержать настройки, которые будут применяться к ПК и неважно кто из пользователей заходят в систему.

User Configuration – папка содержит настройки, которые будут использованы для применения к пользователям Microsoft и не важно какую рабочую станцию они ,будут использовать.

Данные параметры будут иметь существенные полномочия, которые в последствии будут решать судьбу пользователей в целом.

В папках Computer Configuration и User Configuration наблюдаем две подпапки это папка Policies (параметр политики) – в которой расположена конфигурация политики однозначно применяющиеся к GP, а папка Preferences (параметры предпочтений) – содержит различные преимущества которые возможно использовать для редактирования почти каждых параметров реестра, файла, папки или любого элемента, с помощью данной папки можно настроить программы которые не зависят от ГП.

В процессе изменения настроек Group Police вы столкнетесь с различными вариантами, но в общем случае вам потребуется выбрать из трех вариантов, которые приводят к результатам показанных ниже:

Enabled — запись в реестр включения

Disabled – это противоположный алгоритм Enabled, который будет записан со значением выключения

Not Configured — это политика не будет записывать в реестр, соответственно она не оказывает какого-либо влияния

Важно знать когда применяются Group Police, если вы изменили параметр относящиеся к настройкам компьютера, то обновления вступят в силу при запуске, если применяем к пользователям то при следующем входе в систему.

Разумеется не всегда удобно и выгодно ждать когда же компьютер будет перезагружен или пользователь заново войдет в систему, поэтому по дефолту изменение в конфигурации политики происходят каждые 90 минут, это время вы можете изменить. Если хотим запустим политику сразу, запускаем команду: gpupdate.

Если у вас имеются подразделения и в них будут присутствовать какие-то дочерние подразделения, то изначально в приоритете стоит сначала дочернее подразделение после подразделения и только после домен и т.д

Хочу отметить что этот инструмент очень сложный и очень большой, и вместо того что бы еще больше рассуждать о теории мы перейдем непосредственно к настройке

Настройка GPO Server 2012:

Для того что бы начать работу откройте «Панель управления»

Далее перейдите во вкладку «Администрирование»

В открывшимся окне щелкните по пункту «Управление ГП»

В объектах групповой политике вы увидите две политике по дефолту, именно их и будем редактировать. Для внесения изменений жмем ПКМ по «Default Domain Policy» и кликнем «Изменить»

Если мы развернем в конфигурации ПК папку Политики то увидим три подпапки это: конфигурация программ, конфигурация windows, административные шаблоны.

Одним из показательных примеров того как изменять политику касающегося пользователя является изменения касающихся с акаунтом. Переходим: «ПолитикиКонфигурация WindowsПараметры безопасностиПолитика учетных записей» и видим здесь три раздела для изменений, давайте пока что внесем изменения скажем в Политику паролей выставим значения как показано на рисунке ниже, все значения вы выставляете как посчитаете нужным:
Заходим в «Максимальный срок действия пароля» и убираем галочку с «Определить следующий параметр политики» после чего применяем изменения, данная функция необходима для того что бы у пользователя был постоянно один и тот же пароль

В свойствах «Минимальной длины пароля» вновь уберем переключатель и применим изменения

И наконец то самый интересный пункт «Пароль должен отвечать требованиям сложности» ставим «Отключено» и применяем изменения, после отключения данной политике пользователю не нужно будет вводит пароль который бы отвечал требованиям безопасности, но это еще не окончательные настройки, что бы полный алгоритм отключения сложных паролей читайте данную статью.

Но предупреждаю, как только вы внесете изменения в политику паролей Server 2012, безопасность вашей системы ухудшится, поэтому решайте сами!

Приведу еще один пример, допустим мы хотим запретить пользователю слушать любые аудио дорожки, за это будет отвечать служба «Windows Audio» которая находится в папке «Системные службы»

Но для начала откроем список локальных служб у пользователя, и сможем увидеть, что данная служба у него пока что запущена по умолчанию

Мы возвращаемся на контроллер домена и меняем параметр «Windows Audio» для этого кликаем по ней ПКМ и переходим в «Свойства»

Прежде всего включаем чекбокс «Определись следующий параметр политики» в режиме запуска ставим «Запрещен» далее «Применить»

Когда пользователь вновь войдет в систему то служба уже будет отключена и звук функционировать у него не будет.

На этом я заканчиваю рассказ о Group Police, возникающие вопросы по теме пишите в комментарии и не забываем подписываться на новости!

Настройка групповой политики на Windows Server 2016

Групповые политики являются одним из самых эффективных способов управления компьютерной сетью, построенной на базе Windows-сетей. Групповые политики используют для упрощения администрирования, предоставляя администраторам централизованное управление привилегиями, правами и возможностями как пользователей, так и компьютеров сети.

При помощи политики возможно:

  • назначать сценарии пользователя и сценарии компьютера, запускающиеся в конкретно указанное время;
  • определять политики параметров пароля учетных записей, блокировку пользователей;
  • распространять программное обеспечение на компьютеры сети при помощи публикации или назначения;
  • выполнять набор настроек безопасности для удаленных машин;
  • ввести контроль над доступом к windows-компонентам, системным ресурсам, сетевым ресурсам, утилитам панели управления, рабочему столу и экрану;
  • проводить настройку по распределению прав на доступ к файлам и папкам;
  • настраивать перенаправление определенных папок из профиля пользователя.

Групповые политики возможно применять сразу на нескольких доменах, на отдельных доменах, на подгруппах в домене, на отдельных системах.

Политики, применяемые к отдельным системам, называются локальными групповыми политиками. Такие политики хранятся только на локальном компьютере. Остальные групповые политики соединены в объекты и хранятся в хранилище данных Active Directory.

Управление групповых политик имеется только в профессиональных и серверных версиях Windows.

Для каждой новой версии Windows вносились новые изменения в групповую политику. В некоторых случаях старые политики не применяются на новые версии Windows.

Обычно большинство политик прямо совместимы. Это означает, что, как правило, политики, предоставленные в Windows Server 2003, могут использоваться на Windows 7 и более поздних, а также на Windows Server 2008 и более поздних. Однако, политики для Windows 8/10 и Windows Server 2012/2016 обычно не применимы к более ранним версиям Windows. Для того, чтобы узнать какие версии поддерживает политика, можно открыть окно ее свойств – там посмотреть на поле Требование к версии или поддерживается. В нем указаны версии ОС, на которых эта политика будет работать:

Редактирование групповых политик

Консоль редактирования групповой политики входит в состав сервера, ее требуется установить в диспетчере сервера как дополнительный компонент управления групповыми политиками:

После этого в составе программ меню Администрирование появляется задача Управление групповыми политиками.

В оснастке Управление групповой политикой назначаются политики к подразделениям, а благодаря иерархической структуре можно визуально понять к какой группе относятся какая-либо политика:

Групповая политика изменяется в редакторе управления групповыми политиками – для этого требуется выбрать команду Изменить в меню Действия. Так же новую групповую политику можно создать либо «с нуля», для этого выбираем Объекты групповой политики выбираем команду Создать в меню Действие. Записываем новое имя объекта групповой политики после этого нажимаем ОК. Можно скопировать в нее параметры уже существующей политики в зависимости от требуемой задачи.

Чтобы применить созданную политику, требуется установить для нее связь с соответствующим объектом службы каталогов в оснастке Управление групповой политикой:

Примененную политику можно настроить по фильтру безопасности. Таким способом параметры данного объекта групповой политики возможно разделить только для заданных групп, пользователей и компьютеров, входящих в домен:

Рекомендации по применению политик

Главное заключается в том, чтобы не изменять политику по умолчанию. Потому как если в политике возникнет какая-либо серьезная ошибка, то возврат к начальному состоянию приведет к удалению не только последних настроек, но и всех других параметров. Поэтому для административных действий по управлению системой создавайте новые политики, тогда для изменения настроек вам потребуется только отключать/включать привязку политик к организационной структуре.

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

Не стоит удалять ранее созданные групповые политики – желательно просто отключить привязку их от объекта службы каталогов. Они могут потребоваться в дальнейшем для анализа в случае каких-либо проблем.

В рамках нашей услуги ИТ-обслуживание мы не только настраиваем групповые политики, но и берем на себя обслуживание всей ИТ-структуры клиента, включая все настройки, обновления ПО и поддержку в режиме 24/7.

Групповые политики Active Drirectory

Групповые политики Windows являются неотъемлемой частью администрирования Windows-систем. Рассмотрим примеры работы с этим инструментом на VDS под управлением ОС семейства Windows Server.

Для чего необходимы групповые политики

Говоря простым языком, Групповая политика — это инструмент архитектуры Active Directory, который позволяет управлять настройками серверов и рабочих терминалов, подключенных к домену, централизованно. Также, с помощью групповых политик достаточно просто распространить программное обеспечение. Администратор может указать политики для группы в одном месте, а затем применить их к целевой группе пользователей.

Во многих компаниях, как правило, применяется деление на отделы: отдел кадров, бухгалтерия, юристы, отдел системного администрирования. Предположим, что каждому отделу необходим собственный минимальный набор программного обеспечения, а рабочие станции должны быть настроены для конкретных нужд и под конкретные задачи. Благодаря групповым политикам появляется возможность создать настройки для конкретных групп пользователей в домене. При помощи Active Directory GPO администратор может устанавливать и управлять стандартизированными наборами настроек, конкретно для бухгалтерии или отдела кадров.

Настроить рабочие места (компьютеров и пользователей) проще и эффективнее потому что расположены по тому что располагаются централизованно и требуют дублирования на каждом ПК.

Компоненты GPO

Выделяют два компонента групповых политик — клиентский и серверный, т.е. формируется структура “клиент-сервер”.

Серверный компонент представляет оснастка MMC (Microsoft Management Console), предназначенная для настройки групповой политики. MMC можно использовать для создания политик, а также для контроля и управления административными шаблонами, настройками безопасности (установка ПО, скрипты и т.п.). Обобщенное название “возможностей” называется расширением. Каждое расширение может иметь дочернее расширение, которое разрешает добавление новых или удаление старых компонентов, а также их обновление.

Клиентский компонент получает и применяет настройки групповой политики. Клиентские расширения являются компонентами запускаемыми на клиентской ОС, которые отвечают за интерпретацию и обработку объектов групповой политики.

Для администрирования GPO используют оснастки MMC — Group Policy Management Console (GPMC) и Group Policy Management Editor.

Сценарии использования Active Directory GPO:

  • Централизованная настройка пакета программ Microsoft Office.
  • Централизованная настройка управлением питанием компьютеров.
  • Настройка веб-браузеров и принтеров.
  • Установка и обновление ПО.
  • Применение определенных правил в зависимости от местоположения пользователя.
  • Централизованные настройки безопасности.
  • Перенаправление каталогов в пределах домена.
  • Настройка прав доступа к приложениям и системным программам.

Оснастка управления групповыми политиками

Сперва следует установить роль сервера Active Directory Domain Service (AD DS) на контроллер домена. После этого будет доступна оснастка Group Policy Management, для ее запуска вызываем окно “Выполнить” (Windows + R). В открывшемся окне вводим команду:

И нажимаем “OK”.

Возможно оснастка не сможет открыться т.к. не была установлена ранее. Исправим это.

1. Открываем диспетчер серверов и выбираем установку ролей и компонентов.

2. На этапе выбора типа установки, отметим параметр “Установка ролей и компонентов”. Кликаем по кнопке “Далее”.

3. Так как установка выполняется для текущего сервера — нажимаем “Далее”.

4. Установку серверных ролей пропускаем нажатием на кнопку “Далее”.

5. На этапе выбора компонентов отметим галкой “Управление групповой политикой”. Кликаем по кнопке “Далее”.

Завершаем установку компонентов как обычно.

Окно оснастки управления групповой политикой выглядит так:

Создание объектов групповой политики

Добавим новый объект групповой политики. В левой части, проследуем по пути: Лес → Домены → → Объекты групповой политики.

В правой части окна, кликаем правой кнопкой мыши в свободном месте. В открывшемся контекстном меню, выбираем “Создать”.

В открывшемся окне, вводим имя новой политики. Нажимаем “OK”.

Добавленный объект появится в общем списке:

Настроим созданный объект

Для настройки нового объекта кликаем по нему правой кнопкой мыши. В контектстном меню выбираем “Изменить”.

Откроется окно редактора управления групповыми политиками. Займемся “полезным” делом — удалим папку со стандартными играми из меню Пуск. Для этого, в меню слева проследуем по пути Конфигурация пользователя Конфигурация пользователя → Политики → Административные шаблоны: получены определения политик (ADMX-файлы) с локального компьютера → Меню “Пуск” и панель задач.

В правой части окна найдем параметр “Удалить ссылку “Игры” из меню “Пуск””. Для удобства поиска можно воспользоваться сортировкой по имени, вверху окна.

Кликаем по этому параметру правой кнопкой мыши, выбираем “Изменить”.

В открывшемся окне изменим состояние на “Включено”. В поле комментария рекомендуем не игнорировать. Для завершения настройки нажимаем “OK”.

Создание объектов можно считать оконченным.

Поиск объектов

В корпоративных средах, как правило, создается большое количество объектов GPO. Хорошо было бы уметь находить нужный объект. У консоли есть данный функционал. Для этого, в левой части окна кликаем правой кнопкой мыши по лесу. В открывшемся меню выбираем “Найти…”

В открывшемся окне выбираем в каком домене выполнять поиск. Можно выполнить поиск и по всем доменам, но это может занять продолжительное время.

Попробуем найти созданный ранее объект.

В поле “Элемент поиска” из выпадающего списка выбираем “Имя объекта групповой политики”. В условии оставляем вариант “Содержит”. В “Значение“ указываем имя созданной ранее политики. Именно по этой причине следует создавать понятные имена политик. Нажимаем кнопку “Добавить”.

Критерии поиска заданы. нажимаем кнопку “Найти” и просматриваем результаты поиска.

Удаление объекта групповой политики

Если в объекте GPO пропадает необходимость, будет лучше его удалить. Кликаем по созданному объекту правой кнопкой мыши, в контекстном меню выбираем “Удалить”. Если уверены в своем решении, на вопрос подтверждения отвечаем “Да”.

Атаки на Active Directory. Разбираем актуальные методы повышения привилегий

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

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

Пароли из SYSVOL и GPP

На каждом компьютере с Windows, который работает в сети с Active Directory, имеется встроенная учетная запись администратора, защищенная паролем. Одно из стандартных требований безопасности — регулярно менять этот пароль. Казалось бы, задача несложная. Но только не когда в сети насчитывается под сотню машин.

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

Из этого следует вывод: получение учетных данных администратора на одной из машин сделает злоумышленника админом сразу на всех. Рассмотрим два способа добиться такого результата.

Учетные данные в SYSVOL

SYSVOL — это общедоменный ресурс Active Directory, к которому у всех авторизованных пользователей есть доступ на чтение. SYSVOL содержит сценарии входа, данные групповой политики и другие данные, которые должны быть доступны везде, где распространяется политика домена. При этом SYSVOL автоматически синхронизируется и используется всеми контроллерами домена. Все групповые политики домена хранятся по адресу

Чтобы упростить управление локальной учетной записью администратора на удаленных компьютерах с Windows, для каждой из них можно использовать собственный сценарий смены пароля. Проблема в том, что часто пароль хранится в виде открытого текста в скрипте (например, в файле VBS), который, в свою очередь, находится в SYSVOL. Вот пример одного из результатов поиска сценария VBS, меняющего пароль локального администратора на сетевых машинах.

Пример VBS-скрипта с официального сайта MSDN

Этот сценарий доступен в галерее Microsoft TechNet, из-за чего нередко используется системными администраторами, которые предпочитают готовые решения. Извлечь из него пароль не составляет никакого труда. А поскольку скрипт хранится в SYSVOL, к которому у каждого пользователя домена есть доступ для чтения, наличие пароля автоматически превращает его обладателя в локального администратора на всех сетевых машинах с виндой на борту.

Настройки групповой политики

В 2006 году инструмент PolicyMaker от Microsoft Bought Desktop Standard был переименован и выпущен вместе с Windows Server 2008 как Group Policy Preferences (GPP, «предпочтения групповой политики»). Одна из наиболее полезных функций GPP — возможность создавать локальных пользователей, настраивать и изменять их учетки, а также сохранять учетные данные в нескольких файлах сценариев:

  • карта дисков (Drives.xml);
  • источники данных (DataSources.xml);
  • конфигурация принтера (Printers.xml);
  • создание/обновление сервисов (Services.xml);
  • запланированные задачи (ScheduledTasks.xml).

Инструмент, безусловно, полезный: с его помощью можно автоматизировать многие рутинные действия. Например, GPP позволяет использовать групповую политику для выполнения запланированных задач с заданными учетными данными, а также при необходимости менять пароли локального администратора на большом количестве компьютеров.

Теперь давай посмотрим, как эта штука работает. При создании нового предпочтения групповой политики в SYSVOL генерируется связанный XML-файл с соответствующими данными конфигурации. Если в ней указан пароль пользователя, он будет зашифрован AES 256 бит. Но в 2012 году Microsoft опубликовала в MSDN ключ AES, который можно использовать для расшифровки пароля.

Ключ шифрования, представленный MSDN

Иными словами, любой авторизованный в домене юзер может найти в общем ресурсе SYSVOL файлы XML, содержащие cpassword, то есть зашифрованный пароль AES.

Пример содержимого файла Groups.xml

Быстро найти эти значения можно следующей командой:

Для расшифровки пароля можно воспользоваться инструментом Cryptool, при этом нужно в ручном режиме декодировать Base64 и указать ключ с MSDN (подробная инструкция по расшифровке приведена в статье на Хабре). Существует и полностью автоматизированное средство под названием gpp-decrypt, которое требует только значение cpassword и уже предустановлено в Kali Linux. Аналогичная утилита для Windows называется Get-GPPPassword, ее можно отыскать в наборе программ PowerSploit.

Ну а для очень ленивых есть модуль smb_enum_gpp из набора Metasploit. Этот инструмент попросит указать только учетные данные пользователей и адрес контроллера домена.

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

DNSAdmins

Microsoft не только реализовала собственный DNS-сервер, но и внедрила для него протокол управления, позволяющий интегрировать DNS-сервер с доменами Active Directory. По умолчанию контроллеры домена также являются DNS-серверами, поэтому DNS-серверы должны быть доступны каждому пользователю домена. Это, в свою очередь, открывает потенциальную возможность для атаки на контроллеры домена: с одной стороны мы имеем сам протокол DNS, а с другой — протокол управления, основанный на RPC.

Пользователь, входящий в группу DNSAdmins или имеющий права на запись в объекты DNS-сервера, может загрузить на DNS-сервер произвольную DLL с привилегиями System. Это очень опасно, поскольку многие корпоративные сети используют контроллер домена в качестве DNS-сервера.

Таким образом, для реализации атаки мы можем просто загрузить на DNS-сервер произвольную библиотеку с помощью dnscmd (путь \ops-builddll должен быть доступен для чтения DC):

Чтобы проверить, была ли загружена DLL, можно использовать следующую команду:

Так как наш пользователь — член группы DNSAdmins, мы можем перезапустить службу DNS:

После перезапуска DNS-сервера будет выполнен код из загруженной библиотеки. Такая библиотека, например, может содержать скрипт PowerShell для обратного подключения.

Пример PowerShell-кода в DLL

После успешного выполнения скрипта мы будем прослушивать на своем хосте обратное подключение:

Пример успешного бэкконнекта

В результате мы получим права system на DC.

Делегирование Kerberos

Делегирование — это функция Active Directory, позволяющая учетке пользователя или компьютера выдавать себя за другую учетную запись. В качестве примера разберем ситуацию, когда пользователь обращается к веб-приложению, чтобы работать с ресурсами на сервере базы данных.

Схема взаимодействия с базой данных через веб-сервер

Исходя из этой схемы, веб-сервер должен работать с сервером базы данных от имени пользователя. Здесь и помогает делегирование — к учетным записям пользователей в среде Windows применяется флаг TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (T2A4D) User-Account-Control .

Атрибут User-Account-Control (который не следует путать с механизмом контроля учетных записей Windows) устанавливает определенные атрибуты для учетных записей Active Directory — например, если учетная запись отключена, заблокирована или пароль пользователя никогда не истекает.

Для реализации делегирования Microsoft внедрила расширение протокола Kerberos «Служба для доступа пользователя к себе» ( S4U2Self ). Это расширение позволяет службе запрашивать токен для другого пользователя, предоставляя имя пользователя, но не вводя пароль. Когда учетная запись пользователя имеет флаг T24AD , такие токены могут быть запрошены с атрибутом forwardable, который дает службе возможность аутентифицироваться с этими токенами для других служб.

Чтобы избежать неограниченного делегирования, Microsoft гарантировала, что данные токены могут использоваться только для определенных служб, которые настроены для учетной записи пользователя через расширение «Служба для пользователя через прокси» ( S4U2proxy ). Этот параметр контролируется атрибутом msDS-AllowedToDelegateTo в учетной записи пользователя. Он содержит список имен участников службы, который указывает, на какие службы Kerberos пользователь может перенаправлять эти токены (так же, как выполняется обычное ограниченное делегирование в Kerberos). Например, ты хочешь, чтобы твоя веб-служба имела доступ к общей папке для пользователей. Тогда учетная запись службы должна иметь атрибут

Для наглядности рассмотрим схему аутентификации Kerberos.

Схема аутентификации Kerberos

  1. Пользователь аутентифицируется в веб-сервисе с использованием не Kerberos-совместимого механизма аутентификации.
  2. Веб-служба запрашивает билет для учетной записи user без указания пароля, как для учетной записи svc_web .
  3. KDC проверяет значение svc_web userAccountControl для флага TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION , а также не заблокирован ли целевой пользователь для делегирования. Если все в порядке, KDC возвращает перенаправляемый билет для учетной записи пользователя ( S4U2Self ).
  4. Затем служба передает этот билет обратно в KDC и запрашивает билет для службы cifs/fs.contoso.com .
  5. KDC проверяет поле msDS-AllowedToDelegateTo в учетной записи svc_web . Если служба указана в списке, она вернет билет службы для общей папки ( S4U2proxy ).
  6. Веб-служба теперь может проходить проверку подлинности на общем ресурсе в качестве учетной записи пользователя с использованием предоставленного билета.

Неограниченное делегирование

При неограниченном делегировании Kerberos на сервере, на котором размещена служба, контроллер домена DC помещает копию TGT (ticket granting ticket — билет для получения билета) пользователя в TGS (Ticket Granting Server — сервер выдачи билетов или разрешений) службы. Когда данные пользователя предоставляются серверу для доступа к службе, сервер открывает TGS и помещает TGT пользователя в LSASS (Local Security Authority Subsystem Service — сервис проверки подлинности локальной системы безопасности) для дальнейшего использования. Сервер приложений теперь может выдавать себя за этого пользователя без ограничений!

Таким образом, хост, на котором активно неограниченное делегирование, будет содержать в памяти TGT делегированного пользователя. Наша задача — его достать, чтобы скомпрометировать пользователя. Данный вид атаки возможен, если мы скомпрометировали сам хост либо пользователя, имеющего право управлять хостом с делегированием.

Обнаружить все компьютеры с неограниченным делегированием Kerberos очень просто: у них будет выставлен флаг TrustedForDelegation . Это определяется с помощью инструмента ADModule, а конкретнее — следующей команды:

Того же результата можно достигнуть, выполнив такую команду PowerView:

Теперь нужно отослать запрос MS-RPRN RpcRemoteFindFirstPrinterChangeNotification (аутентификация Kerberos) на сервер печати DC (служба Spooler). DC немедленно отправит ответ, который включает TGS (полную копию TGT) учетной записи компьютера контроллера домена, так как на нашем хосте используется неограниченное делегирование.

Чтобы это сделать, сначала поставим прослушивание входящих соединений с помощью Rubeus:

Теперь инициируем запрос с помощью SpoolSample:

В Rubeus мы увидим подключение.

Подключение Rubeus

Теперь получим TGT:

Имея TGT, мы можем выполнить DCSync-атаку с помощью mimikatz:

DCSync krbtgt

Мы добыли NTLM-хеш учетной записи krbtgt и теперь можем сделать golden ticket, с которым получим полный доступ ко всей инфраструктуре домена:

Теперь можно удаленно подключиться к контроллеру домена с учетной записью администратора:

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

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

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

Читать еще:  Служба доменных имен это
Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×