По твоему следу

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

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

6fe

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

Давным-давно я проводил тестирование на проникновение в одной относительно небольшой компании. Руководство опасалось инсайдеров сильнее, чем внешних нарушителей, и сценарий тестирования был соответствующий:штатный сотрудник организации, пытающийся получить доступ к конфиденциальной информации. Я просидел за рабочим местом несколько часов и пытался найти хоть какую-то информацию в свободном доступе. Через какое-то время мне удалось перехватить хэш учетных данных администратора (какой-то скрипт почему-то запускался от его имени, и mimikatz сработал как надо). К этому времени закончилось сканирование сети, и оказалось, что компания не такая уж и маленькая, и в моем распоряжении больше сотни хостов с ничего не говорящими названиями. И что делать дальше? В реальной жизни такой инсайдер мог потратить месяцы на то, чтобы бродить по этим хостам, пытаясь поднять привилегии. Но тестирование на проникновение занимает в лучшем случае пару дней, как мне ускорить процесс? Ведь я фактически гадаю, за какую цель уцепиться. В тот раз мне, кстати, просто повезло =) Но сегодня нам удача уже не потребуется.

Du riescht so gut

Джон Ламберт из Microsoft Threat Intelligence Center как-то написал в своем блоге: «Защищающаяся сторона мыслит списками. Атакующая – графами. И пока это остается правдой, атакующие побеждают».

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

Начнем с установки. Она не замысловата, кстати. Сначала проверим, что у нас установлена Java, и поправим ситуацию, если это не так:

java -version

Bloodhound использует СУБД neo4j, нам подойдет бесплатная Community edition с официального сайта https://neo4j.com/, и разархивировать:

tar zxvf neo4j-community-3.4.7-unix.tar.gz

и запустить:

./neo4j start

Теперь нужно зайти на стартовую страницу и сменить пароль. Пожалуйста, выберите что-то сложное =)

Затем скачаем сам Bloodhound с https://github.com/BloodHoundAD/BloodHound/. Нужно выбрать релиз для нашей операционной системы и ingestor. Ingestor нужно запустить на целевой системе, чтобы собрать данные. Когда данные собраны, запускаем Bloodhound.

Scooby-Doo, Where Are You!

01

Самое первое, что мы увидим, это общие сведения:

 02

Это первый и главный индикатор, что хоть что-то мы собрали, и нам есть с чем работать. Это данные из тестовой лаборатории, а не от реального клиента. В реальной жизни тут будет гораздо больше данных, учетных записей и т.п. Большая часть из которых вам не пригодится.

Bloodhound работает с запросами и первый базовый запрос это нахождение администраторов домена.

03

Отлично, кроме обычной учетной записи мы видим еще двух членов заветной группы: Slava и Admin. Следующим запросом мы посмотрим кратчайший путь до группы администраторов домена.

04

Здесь каждая вершина графа это пользователь, компьютер, группа или домен, а грани – отношения (например доверия, сеансы и т.п).

Смотрите, у этого Slava есть активный сеанс на сервере mail-01.lab.local. Вот он, наш шанс! Если мы захватим токен, мы сможем добраться до заветной группы. Конечно, можно приложить все усилия для перехвата учетной записи администратора и пытаться прорваться на dc-01.lab.local, но почти наверняка это не выйдет. Учетная запись администратора, скорее всего, имеет сложный пароль, а для защиты контроллера домена принятые особые меры. А вот Slava и mail-01.lab.local on могут стать куда более простыми целями и сэкономить кучу времени.

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

One thought on “По твоему следу”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s