Ду­маю, ты уже мно­го раз слы­шал, что под­дер­жку NTLM Relay в Windows вот‑вот отклю­чат. Я тоже слы­шал это не раз, но сей­час начало 2025 года, и поч­ти на каж­дом про­екте я до сих пор встре­чаю NTLM Relay. Сегод­ня я рас­ска­жу про акту­аль­ные тех­ники Relay-атак, свя­зан­ные с SCCM, а так­же методы защиты от них.

Ми­нут­ка исто­ричес­кого экскур­са. В кон­це 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

Так­же я выделил клю­чевую мысль: «может пов­лиять на каж­дый компь­ютер в орга­низа­ции». Но ого­ворюсь: при усло­вии, если компь­ютер находит­ся под управле­нием сер­вера SCCM.

Со струк­турой помог­ла разоб­рать­ся схе­ма, при­веден­ная ниже.

Схема устройства сайтов SCCM/MECM
Схе­ма устрой­ства сай­тов SCCM/MECM

Вот клю­чевые сос­тавля­ющие SCCM:

  • Ар­хитек­тура «кли­ент‑сер­вер». Кли­ента­ми выс­тупа­ют все узлы домена, нап­ример DC или Exchange, а сер­вером — мас­тер SCCM.
  • Ре­али­зова­на отка­зоус­той­чивость. Она дос­тига­ется добав­лени­ем пас­сивно­го сер­вера, готово­го перех­ватить обя­зан­ности мас­тера в слу­чае, если тот вый­дет из строя.
  • Ра­бота­ет в тер­минах сай­тов. Здесь всё из офи­циаль­ной докумен­тации, прос­то нуж­но при­вык­нуть к тер­миноло­гии: сай­тов в одном домене AD может быть нес­коль­ко.
  • Ре­али­зова­на иерар­хия сай­тов. Сай­ты могут быть свя­заны меж­ду собой дочер­ними отно­шени­ями. Каж­дый сайт мож­но ата­ковать незави­симо от дру­гого.
  • Ре­али­зова­на ролевая модель. В сай­тах SCCM исполь­зует­ся хорошо про­рабо­тан­ная ролевая модель как для поль­зовате­лей, так и для сер­веров. Под­робно на этом оста­нав­ливать­ся не буду, в рам­ках статьи важ­ны толь­ко две роли: Full administrator для поль­зовате­лей и Site system servers для сер­веров. Под­робнее про ролевую модель сер­веров мож­но про­читать в до­кумен­тации (так­же — в раз­деле для поль­зовате­лей).
  • Ис­поль­зует MSSQL. SCCM вооб­ще не может сущес­тво­вать без MSSQL. В БД хра­нит­ся вся слу­жеб­ная информа­ция, нап­ример таб­лицы с запися­ми про роли. Оснас­тка MSSQL может быть раз­верну­та на мас­тере, но зачас­тую выделя­ется в отдель­ный сер­вер.
 

Разведка

На этом пора закан­чивать с теорией и прис­тупать к прак­тике. В качес­тве стен­да я взял лабу GOAD. Если у тебя воз­никнет желание поп­робовать все опи­сан­ное ниже, то ты без проб­лем раз­вернешь стенд и про­ведешь тес­ты. Схе­ма стен­да дос­таточ­но понят­ная, у меня будет SCCM/MECM, кон­трол­лер домена, который не находит­ся под управле­нием SCCM, кли­ент SCCM и сер­вер с MSSQL для хра­нения всей слу­жеб­ной информа­ции.

Схема стенда для проведения тестов
Схе­ма стен­да для про­веде­ния тес­тов

Все даль­нейшие дей­ствия под­разуме­вают наличие у ата­кующе­го учет­ной записи в домене 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

Пос­ле раз­ведки через LDAP мож­но про­вес­ти раз­ведку по SMB. Это будет впол­не по силам сде­лать руками.

Разведка SCCM через SMB с помощью CrackMapExec
Раз­ведка SCCM через SMB с помощью CrackMapExec

Но луч­ше авто­мати­зиро­вать.

Разведка SCCM через SMB с помощью sccmhunter
Раз­ведка SCCM через SMB с помощью sccmhunter

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

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии