46,67
Рейтинг
Varonis Systems
Защита от внутренних угроз и комплексных кибератак
11 декабря 2019

Проблема конфиденциальности данных в Active Directory

Блог компании Varonis SystemsИнформационная безопасностьСистемное администрированиеСерверное администрирование
Перевод
Автор оригинала: Andy Green


Я занимался тестированиями на проникновение с использованием PowerView и использовал его для извлечения информации о пользователях из Active Directory (далее – AD). В то время я делал акцент на сборе информации о членстве в группах безопасности, а затем использовал эту информацию, чтобы перемещаться по сети. В любом случае, AD содержит конфиденциальные данные о сотрудниках, некоторые из них действительно не должны быть доступны всем в организации. Фактически в файловых системах Windows существует эквивалентная проблема «Everyone», которая также может использоваться как внутренними, так и внешними злоумышленниками.

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

Active Directory — это корпоративный Facebook


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

Системные администраторы, конечно, знакомы со скриншотом ниже. Это интерфейс Active Directory Users and Computers (ADUC), где они устанавливают и редактируют информацию о пользователях и назначают пользователей в соответствующие группы.



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

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

Конечно, нет! Проблема усугубляется, когда данные высшего руководства компании доступны для всех сотрудников.

PowerView для всех


Здесь вступает в игру PowerView. Он предоставляет очень удобный интерфейс PowerShell для лежащих в основе (и запутанных) функций Win32, которые обращаются к AD. Короче говоря:
это делает получение полей AD таким же простым, как ввод очень короткого командлета.

Давайте возьмем пример сбора информации о сотруднице Cruella Deville, которая является одним из руководителей компании. Для этого используем командлет PowerView get-NetUser:



Установка PowerView не является серьезной проблемой – убедитесь в этом сами на странице github. И что более важно, вам не нужны повышенные привилегии для выполнения многих команд PowerView, таких как get-NetUser. Таким образом, мотивированный, но не очень технически подкованный сотрудник может начать ковыряться в AD без особых усилий.

Из приведенного выше скриншота видно, что инсайдер может быстро узнать много нового о Cruella. Вы тоже заметили, что в поле «info» раскрывается информация о личных привычках и пароле пользователя?

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

В Active Directory есть свои ACL


Интерфейс AD Users and Computers позволяет устанавливать разрешения для объектов AD. В AD существуют ACL, и администраторы могут назначать или запрещать доступ через них. Вам нужно нажать «Advanced» в меню ADUC View, а затем, когда вы откроете пользователя, вы увидите вкладку «Security», в которой вы устанавливаете ACL.

В моем сценарии с Cruella я не хотел, чтобы все прошедшие проверку пользователи (Authenticated Users) могли видеть ее личную информацию, поэтому я запретил им доступ для чтения:



И теперь обычный пользователь увидит это, если попробует Get-NetUser в PowerView:



Мне удалось скрыть заведомо полезную информацию от посторонних глаз. Чтобы сохранить к ней доступ для релевантных пользователей, я создал другой ACL, чтобы позволить членам VIP-группы (Cruella и другим ее высокопоставленным коллегам) получить доступ к этим конфиденциальным данным. Другими словами, я реализовал разрешения AD на основе ролевой модели, что сделало чувствительные данные недоступными для большинства сотрудников, включая инсайдеров.

Тем не менее, вы можете сделать членство в группе невидимым для пользователей, установив соответствующим образом ACL для объекта группы в AD. Это поможет с точки зрения конфиденциальности и безопасности.

В своей серии эпических пентестов я показал, как можно перемещаться по системе, изучая членство в группах с помощью PowerViews Get-NetGroupMember. В моем сценарии я ограничил доступ для чтения к членству в конкретной группе. Вы видите результат выполнения команды до и после изменений:



Мне удалось скрыть членство Cruella и Monty Burns в группе VIP, что усложнило хакерам и инсайдерам разведку инфраструктуры.

Этот пост предназначался для того, чтобы мотивировать вас более внимательно изучить поля
AD и связанные с ними разрешения. AD — отличный ресурс, но подумайте, как бы вы
хотели делиться конфиденциальной информацией и персональными данными, особенно,
когда речь идет о первых лицах вашей организации.  
Теги:пентестыactive directoryacl
Хабы: Блог компании Varonis Systems Информационная безопасность Системное администрирование Серверное администрирование
+1
5,3k 57
Комментарии 3
Похожие публикации
Лучшие публикации за сутки
Информация
Дата основания

1 мая 2005

Численность

1 001–5 000 человек

Дата регистрации

4 февраля 2015

Блог на Хабре