Привет, Хабр! Меня зовут Данил Зарипов, я занимаюсь продуктовой экспертизой в Positive Technologies. Эту статью мне помог подготовить мой коллега Кирилл Маслов — наш эксперт по направлению Asset Management. Мы решили не искать лёгких путей и выбрали тему, которая большинству из вас хорошо знакома. Казалось бы, что нового можно сказать про домены, пусть и с точки зрения безопасности? 

Для атакующего захват домена — это фактически победа. Получив контроль над контроллером домена, злоумышленник получает доступ ко всем учетным записям, компьютерам, групповым политикам и доверительным отношениям, а дальше дело техники: найти учетки бухгалтеров и топ‑менеджеров, переключиться на их машины, читать почту, копировать документы. Это самые безобидные последствия. Злоумышленники могут получить доступ к финансовым транзакциям и вывести деньги, или же украсть ноу‑хау компании, всего лишь захватив учетные данные с необходимыми для этого привилегиями. Для бизнеса это может обернуться катастрофой. Для защитников — это не просто еще один сервер, а важнейший источник данных об инфраструктуре, через который можно увидеть большую часть активов предприятия, обнаружить уязвимости, найти небезопасные настройки и даже вычислить Shadow IT.

Однако, как часто бывает в информационной безопасности, самое знакомое скрывает множество нюансов. Давайте разбираться!


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

Итак, домен — это логическая структура, которая объединяет множество компонентов ИТ‑инфраструктуры и покрывает практически всю айтишную часть организации. Многие серверы, рабочие станции пользователей и сервисы живут внутри определенного домена или взаимодействуют с ним. Но также существуют серверы, например, на unix‑ax или рабочие станции на MacOS, которые не учитываются в домене. В результате получаем ситуацию, когда не про все учётные записи и не про все компьютеры знает контроллер домена.

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

Какие данные хранит домен? Вот база, которую нужно держать в голове:

  • Учетные записи пользователей. Логины, хэши паролей, атрибуты, членство в группах.

  • Компьютеры. Каждая рабочая станция и сервер, которые входят в домен, имеют там свою учетную запись.

  • Группы. Администраторы, пользователи, операторы — это основа для разграничения доступа.

  • Групповые политики (Group Policy Objects, GPO). Определяют, как настроены компьютеры и пользователи: от разрешений до реестра и прав на запуск отдельных программ.

  • Доверительные отношения. Домены могут доверять друг другу как внутри одного леса — объединением доменов с общей схемой, конфигурацией и глобальным каталогом, — так и между разными лесами.

Разумеется, в домене хранится гораздо больше информации, и управляется она разными способами. Но перечисленного достаточно, чтобы понять главное: тот, кто контролирует домен, контролирует всё.

Взгляд атакующего: векторы атак и инструменты

Для злоумышленника домен — не только хранилище информации, которое нужно захватить. Это еще и работающие сервисы, которые можно использовать прямо в ходе атаки. Начиная с банальной проверки существования учетных записей и заканчивая полноценным перебором паролей (если это, конечно, не запрещено настройками). В ход идут службы SMB, Exchange, терминальные серверы — любые доступные инструменты, которые позволяют продвинуться дальше. И с каждым таким шагом злоумышленник все ближе к заветной цели — полному контролю над доменом. Поговорим о том, какими техниками и инструментами этого можно добиться.

Популярные направления и несчастливые билеты

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

  1. Kerberoasting — атакующий запрашивает служебные билеты и взламывает их офлайн. Распространено в 40% атак на Active Directory.

  2. Pass‑the‑Hash/Pass‑the‑Ticket — кража хэшей или билетов Kerberos для имитации пользователя без знания пароля. По нашим данным, используется в 50% случаев горизонтального перемещения.

  3. Подбор паролей — всем знакомый брутфорс, то есть массовый подбор общих паролей для множества учетных записей. Такой, казалось бы, давно избитый прием в 30% случаев приводит к получению первоначального доступа (Initial access).

  4. DCSync/DCSshadow — имитация репликации контроллера домена для кражи данных или внесения изменений. Злоумышленники применяют этот метод в 20% продвинутых атак.

  5. Использование программ‑вымогателей через Active Directory — распространение через групповые политики (GPO) или SYSVOL. Около 70% атак с применением этого вредоносного ПО проходят по этому вектору для повышения привилегий и распространения по всей инфраструктуре.

По каждому из этих векторов написаны тонны литературы и статей. Более того, на профильных ресурсах по пентесту каждому посвящены отдельные разделы — с описанием, как именно атаковать, к чему это приводит и что можно получить в результате.

Отдельного разговора заслуживают атаки на билеты Kerberos. Самые известные из них — уже упомянутые Silver Ticket и Golden Ticket.

Silver Ticket считается менее шумным: для него нужен NT‑хэш учетной записи сервиса, после чего злоумышленник подделывает билет и пытается пройти дальше. Golden Ticket получить сложнее — требуется NT‑хэш учетной записи KRBTGT. Но если злоумышленник завладел золотым билетом, значит, он уже скомпрометировал ваш домен‑контроллер и может свободно гулять по инфраструктуре. И да, если такое случилось, мало просто сменить пароль от KRBTGT — предыдущая итерация пароля все еще будет легитимной. Это сделано специально, чтобы сервисы не разлогинили пользователей, а билеты еще какое‑то время жили, так что менять пароль нужно два раза подряд через небольшой промежуток времени. Например, поменяли пароль KRBTGT один раз, прошел час — поменяли еще раз.

Более новые атаки — Diamond Ticket и Sapphire Ticket — уже не требуют выписывания нового билета и работают через подделку уже существующего. Правда, чтобы расшифровать его данные, все равно нужны NT‑хэши от учетки KRBTGT. Нюансов там хватает, но суть ясна: этот вид атак постоянно эволюционирует, и за всеми изменениями нужно следить.

Легитимные утилиты в руках злоумышленников

Под стать векторам инструментов для реализации этих атак тоже предостаточно. Есть полностью легитимные утилиты — например, RSAT, который устанавливается в Windows Professional или Enterprise буквально в пару кликов, или набор Sysinternals, чьи утилиты подписаны сертификатами Microsoft. 

Собери Изучи их всех!
Собери Изучи их всех!

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

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

Взгляд защитников: инвентаризация, уязвимости и Shadow IT

Как мы уже говорили в предыдущих статьях нашего цикла: невозможно защитить то, о существовании чего вы даже не подозреваете. Данные внутри домена дают нам видимость огромной части инфраструктуры предприятия — пользователи, компьютеры, группы и связи между ними. Благодаря этому мы получаем каркас, на который потом накладывается все остальное.

Отдельная история — инвентаризация. С помощью данных из домена мы видим всех пользователей, все компьютеры и все группы. Но главное — через домен можно обнаружить так называемый Shadow IT. Это узлы сети, которые скрыты от регулярного мониторинга: забытые тестовые машины, устройства, подключенные к домену без ведома ИТ‑отдела, а также учетные записи давно выключенных и списанных компьютеров, которые (хотя и пребывают в статусе таковых) почему‑то по‑прежнему входят в привилегированные группы. Такие «мертвые» активы представляют для злоумышленников особый интерес, ведь за ними никто не следит. Атакующий может захватить такую учетную запись и войти в сеть незамеченным, а значит нам как защитникам нужно найти их первыми.

Как получить данные из домена и что с ними делать

Итак, мы разобрались, кому и зачем нужен домен — атакующим для захвата системы, а защитникам для сбора информации о ней. Конечно, нас, как защитников, интересует второе, но как именно мы можем получить все эти данные? Разберемся на примере наших продуктов.

Два профиля для аудита домена в MaxPatrol VM

В MaxPatrol VM для аудита домена предусмотрены два профиля с разными задачами. Первый называется Windows DC Audit. С его помощью можно собрать всю информацию о домене: пользователи, группы, компьютеры и так далее. Плюс к этому выполняется аудит самого домен‑контроллера — мы узнаём о программном обеспечении, которое на нём установлено, его версиях, настройках, параметрах. Этот профиль даёт наиболее полную картину и позволяет в том числе выявить уязвимости самого контроллера. Но задача с этим профилем будет выполняться дольше, потому что собирается больше информации.

Второй профиль называется Microsoft Active Directory Audit. Он собирает информацию только о домене через протокол LDAP. Мы получаем тех же пользователей, группы, компьютеры, но ничего не узнаём о самом домен‑контроллере — его операционной системе, параметрах и так далее. Этот профиль рекомендуется использовать, когда у вас довольно большая инсталляция и нужно сократить время на выполнение аудита. Либо можно разбить задачу сканирования на несколько этапов: сначала собрать данные о домене через этот профиль, а потом отдельно просканировать контроллеры обычным профилем для аудита Windows‑систем.

Контроль небезопасных настроек с MaxPatrol HCC

Модуль MaxPatrol HCC, в свою очередь, смотрит, скорее, на настройки и параметры работы компонентов. Стандарт PT Essentials Windows Server помогает обнаружить в сети активы, на которых имеются небезопасные настройки. Такие настройки тоже могут использоваться атакующим для продвижения или компрометации контроллера домена. И MaxPatrol HCC не просто находит проблемы — он даёт рекомендации по исправлению и позволяет отследить, применились ли эти исправления.

Обогащение событий данными с помощью MaxPatrol SIEM

Но управление уязвимостями и контроль настроек — это только часть работы. Данные из домена могут пригодиться и при расследовании инцидентов. MaxPatrol SIEM тоже умеет использовать информацию из Active Directory с помощью табличных списков Asset Grid, куда передаётся запрос из MaxPatrol VM. Такие списки автоматически наполняются данными об активах и регулярно обновляются, а затем используются в правилах корреляции и обогащения.

Например, можно создать список важных учётных записей администраторов, чтобы правила корреляции реагировали только на изменения в них, или добавить во все события информацию о должностях и департаментах пользователей. Благодаря этому сработка о запуске AD Explorer от администратора и от бухгалтера будет оцениваться по‑разному — с разным уровнем критичности и внимания.

Моделирование атак в MaxPatrol Carbon

Данные из домена пригодятся не только для обнаружения проблем, но и для того, чтобы понять, как этими проблемами может воспользоваться злоумышленник. MaxPatrol Carbon использует информацию об активах и привилегиях пользователей для моделирования путей атак. Например, на основе собранных данных интеллектуальная система строит один из возможных маршрутов: с помощью учётной записи саппорта, используя вектор Kerberoasting, можно получить доступ к администратору домена. Причём MaxPatrol Carbon не просто сообщает о существовании такого пути — он объясняет, что это за путь, насколько он опасен и как его устранить, чтобы хакер не смог добраться до цели и реализовать задуманное.

Маршрут атаки в интерфейсе MaxPatrol Carbon
Маршрут атаки в интерфейсе MaxPatrol Carbon

Аудит доменов на примере MaxPatrol VM

С чего начать практически? Нужно создать учетную запись, которая имеет права на чтение домена. Задача тривиальная, любой администратор знает, как это сделать. После создания добавляем эту учетную запись в интерфейсе MaxPatrol VM в список учетных записей. Далее создаем задачу на сбор данных с нужным профилем, указываем созданную учетную запись, при необходимости меняем порт, сохраняем и запускаем задачу на аудит. После завершения задачи мы увидим все данные, которые получили из домена: пользователи, компьютеры, группы и так далее.

Проверка доверенных доменов и поиск потерянных серверов

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

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

После проверки доверенных доменов можно проверить все контроллеры, которые в них указаны. Таким образом можно перепроверить, не пропустили ли мы что‑то в закрытых сегментах сети, или, возможно, просто не до конца настроили host discovery.

Результат сопоставления данных из Active Directory с активами в MaxPatrol VM.
Результат сопоставления данных из Active Directory с активами в MaxPatrol VM.

Например, в нашей лабораторной инфраструктуре обнаружилось, что один из контроллеров домена — а именно region DC01 — существует в AD, но актива с таким именем в VM нет. Это повод уточнить у ИТ‑специалистов, как так вышло: работает ли этот контроллер на самом деле или пора чистить AD от устаревших записей.

Раз уж мы можем доставать все машины из Active Directory, следующим шагом будет проверка серверов, указанных в доменах. Мы точно так же фильтруем все по типу «сервер» и выполняем присоединение данных несколько раз. Сначала добавляем просто все активы по полному доменному имени (FQDN), а затем из AD обратно все группы, где эта учётная запись существует. В итоге получаем максимально полную информацию, чтобы понять, что это за сервер, для чего он нужен и какие роли выполняет в инфраструктуре.

Самый популярный вопрос про аудит Active Directory

В ходе внедрений и общения с клиентами мы регулярно слышим один и тот же, который возникает у многих — нужно ли сканировать доверенные домены (а точнее, можно ли их не сканировать).

Как это обычно происходит: мы проводим обнаружение хостов и видим, что домен‑контроллеров больше, чем изначально предполагалось. Начинаем выяснять — оказывается, это дочерняя компания, и сканировать их ИТ‑инфраструктуру, по мнению клиента, как‑то неправильно. Формальные причины могут быть разными: не договорились, не наши, пусть сами отвечают за свою безопасность.

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

Заключение

Мы начали этот текст с простой мысли: невозможно защитить то, о чем не знаешь. За время, что мы разбирали устройство домена, векторы атак на домены и инструменты аудита, эта мысль, надеемся, стала еще очевиднее. Домен — это действительно сердце инфраструктуры, и тот, кто его контролирует, управляет практически всем.

Специалистам по информационной безопасности регулярный аудит контроллеров дает сразу несколько критически важных преимуществ. Во‑первых, вы наконец видите все введенные в домен компьютеры, учетные записи, группы и доверительные связи, а заодно находите забытые активы. Во‑вторых, скорость реагирования: когда инцидент все‑таки случается, актуальные данные о домене позволяют быстро понять, что за актив атакован, кому он принадлежит и какие средства защиты на нем стоят. В‑третьих, возможность заранее усилить защиту: найти уязвимости и устранить их, поправить небезопасные настройки, забрать у пользователей избыточные привилегии, тем самым закрыть недостатки инфраструктуры до того, как их обнаружит злоумышленник.

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

Комментарии (0)