Содержание статьи
Минутка исторического экскурса. В конце 2023 года коллеги из Specterops опубликовали исследование, в котором подробно раскрыли техники повышения привилегий в домене AD через эксплуатацию серверов SCCM (System Center Configuration Manager). С тех пор вышло еще несколько крутых ресерчей на ту же тему. Если хочешь фундаментально во всем разобраться — добро пожаловать в репозиторий на GitHub, где собраны и упорядочены техники получения учеток, повышения привилегий и постэксплуатации, связанные с SCCM. Здесь же я хочу наглядно продемонстрировать, как можно пользоваться атаками NTLM Relay на SCCM.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Теория
Для тех, кто только погружается в тему и еще не знает, что такое SCCM, дам небольшую справку. Итак, System Center Configuration Manager (с 2020 года известен как Microsoft Endpoint Configuration Manager, MECM) — это ПО для централизованного управления. В официальной документации мне не удалось обнаружить четкого определения, что это за сущность и зачем нужна, поэтому я сформулировал его самостоятельно.
Можно заметить, что это определение, по сути, описывает сам Active Directory (далее AD). На самом деле — и да и нет: Configuration Manager был создан для облегчения жизни ИТ‑администраторам, а также для снижения затрат на администрирование.
Приведу простой пример. Когда в твоей компании тысяча сотрудников, с администрированием может справиться условно пять человек, а что, если компания выросла до десяти тысяч или даже ста тысяч человек? Наймем пятьдесят или пятьсот человек соответственно? Конечно, мы хотим избежать линейной зависимости, для этого и был придуман сначала AD, а после Configuration Manager.
SCCM зачастую встречается в достаточно больших компаниях, где количество пользователей давно перевалило за десять тысяч. Он объединяет в себе почти все возможные оснастки в AD и позволяет более эффективно управлять рабочими станциями, софтом и всем остальным.
Для подтверждения моих слов — скриншот из официальной документации.
![Документация Microsoft Документация Microsoft](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40559/image11.png)
Также я выделил ключевую мысль: «может повлиять на каждый компьютер в организации». Но оговорюсь: при условии, если компьютер находится под управлением сервера SCCM.
Со структурой помогла разобраться схема, приведенная ниже.
![Схема устройства сайтов SCCM/MECM Схема устройства сайтов SCCM/MECM](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40525/image8.png)
Вот ключевые составляющие SCCM:
- Архитектура «клиент‑сервер». Клиентами выступают все узлы домена, например DC или Exchange, а сервером — мастер SCCM.
- Реализована отказоустойчивость. Она достигается добавлением пассивного сервера, готового перехватить обязанности мастера в случае, если тот выйдет из строя.
- Работает в терминах сайтов. Здесь всё из официальной документации, просто нужно привыкнуть к терминологии: сайтов в одном домене AD может быть несколько.
- Реализована иерархия сайтов. Сайты могут быть связаны между собой дочерними отношениями. Каждый сайт можно атаковать независимо от другого.
- Реализована ролевая модель. В сайтах SCCM используется хорошо проработанная ролевая модель как для пользователей, так и для серверов. Подробно на этом останавливаться не буду, в рамках статьи важны только две роли: Full administrator для пользователей и Site system servers для серверов. Подробнее про ролевую модель серверов можно прочитать в документации (также — в разделе для пользователей).
- Использует MSSQL. SCCM вообще не может существовать без MSSQL. В БД хранится вся служебная информация, например таблицы с записями про роли. Оснастка MSSQL может быть развернута на мастере, но зачастую выделяется в отдельный сервер.
Разведка
На этом пора заканчивать с теорией и приступать к практике. В качестве стенда я взял лабу GOAD. Если у тебя возникнет желание попробовать все описанное ниже, то ты без проблем развернешь стенд и проведешь тесты. Схема стенда достаточно понятная, у меня будет SCCM/MECM, контроллер домена, который не находится под управлением SCCM, клиент SCCM и сервер с MSSQL для хранения всей служебной информации.
![Схема стенда для проведения тестов Схема стенда для проведения тестов](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40542/image27.png)
Все дальнейшие действия подразумевают наличие у атакующего учетной записи в домене AD.
В первую очередь мы должны понять, есть ли в домене SCCM. Сделать это можно с помощью одного нехитрого LDAP-запроса:
ldapsearch -E pr=10000/noprompt -D <username>@<domain> -w <password> -x -H ldap://<IP> -b
DC=<domain>,DC=<domain> '(objectclass=mssmsmanagementpoint)' dnshostname,msSMSSiteCode
Также в сообществе разработали инструмент для автоматизации всей разведки — sccmhunter.py. Можно воспользоваться им, тогда вся полученная информация еще будет упорядочена в красивые таблицы.
![Разведка SCCM с помощью sccmhunter Разведка SCCM с помощью sccmhunter](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40528/image5.png)
После разведки через LDAP можно провести разведку по SMB. Это будет вполне по силам сделать руками.
![Разведка SCCM через SMB с помощью CrackMapExec Разведка SCCM через SMB с помощью CrackMapExec](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40530/image38.png)
Но лучше автоматизировать.
![Разведка SCCM через SMB с помощью sccmhunter Разведка SCCM через SMB с помощью sccmhunter](https://static.xakep.ru/images/6504f530a52771cd2c9e5a6ce352fbbb/40561/image1.png)
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее