>
Ноябрь 2017
Пн Вт Ср Чт Пт Сб Вс
« Окт    
 12345
6789101112
13141516171819
20212223242526
27282930  

Как получить контроль над Windows в корпоративной сети

Хочу тебя познакомить с одной атакой, которая была представлена на последнем Black Hat Las Vegas 2015. На мой взгляд, это одно из немногих реалистичных и дельных исследований среди тех, что были на конференции.

Вообразим ситуацию: в большой организации есть парк машин с Windows, и все их надо обновлять. Понятно, что заставлять каждый из хостов ходить в интернет за обновлениями накладно и неудобно, а потому внутри корпоративной сети поднимают сервер WSUS (Windows Server Update Services), который и используется для управления обновлениями: их выгрузкой, распространением и распределением.


Поскольку задача типичная и решение готовое, WSUS крайне распространен, а потому заманчива и возможность атак на него и через него. Компания Contextis изучила принципы его работы и представила очень мощную (мы можем получить RCE с привилегиями System), но легкую в эксплуатации атаку. Исследование получилось объемным, так что я сосредоточусь на основных пунктах.

Итак, в компании поднимается сервер WSUS, а в настройках конечных хостов через групповые политики указывается, что обновляться нужно именно с этого сервера. Для общения хостов с сервером используется протокол SOAP, причем по умолчанию работает он по HTTP-протоколу.
Это один из важнейших фактов для нас. Стандартный порт — 8530.

Путь до сервера для конечного хоста хранится здесь:

Конечные хосты взаимодействуют с сервером следующим образом. Сначала конечный хост регистрируется на сервере и получает в ответ cookie, которую и использует потом при общении с сервером. После этого хост систематически (обычно раз в сутки) запрашивает, есть ли для него
обновления. WSUS отвечает перечнем обновлений и путями, по которым их можно скачать (тоже на WSUS). При автоматическом обновлении хост скачивает и устанавливает данные обновления (от SYSTEM, конечно). Аналогичный процесс имеется и для обновления драйверов. Фактически процесс (и протокол) аналогичен обычному обновлению ОС через Windows Update.
Обновления должны быть подписаны валидным сертификатом Microsoft — это и есть главный элемент защиты. Только они могут быть установлены.

Было выяснено, что существует несколько видов обновлений. И самый интересный для нас — CommandLineInstallation (это handler из запроса). Суть его в том, что какой-то исполняемый файл будет загружен в ОС, а потом запустится с определенными параметрами (например, это используется для запуска антивиря MS).

Итак, у нас есть хосты и сервер WSUS. Общение между ними идет по незащищенному протоколу HTTP, и мы можем провести атаку MITM и менять данные в запросах и ответах SOAP (сами запросы SOAP не подписываются). Поскольку у клиента нет никакой возможности проверить, существуют ли обновления, мы по ходу атаки можем спокойно установить все что угодно. Используя CommandLineInstallation, мы можем исполнять любые команды в операционной системе и с любыми параметрами.

BGinfo из Sysinternals Tools подписан MS

BGinfo из Sysinternals Tools подписан MS

Исполняемый файл, конечно, должен быть подписан сертификатом Microsoft, но специального сертификата Windows Update не существует. Сгодится любой подписанный MS СA. В качестве отличного варианта Contextis предложила использовать тулзы из Sysinternals Tools, написанные Руссиновичем. С тех пор как они стали официальными инструментами Microsoft, они получили и валидную подпись. С помощью PsExec мы можем выполнять произвольные команды и запускать любое ПО (к примеру, Meterpreter). Точно так же можно использовать bginfo, так как некоторые сторонние антивирусы ругаются на PsExec. Как мы видим, в настрой ках по умолчанию вся система очень небезопасна.

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

[Всего голосов: 2    Средний: 3.5/5]

Share Button

Вам может быть интересно также:

Last updated by at .

2 комментария Как получить контроль над Windows в корпоративной сети

Leave a Reply

You can use these HTML tags

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">