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

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

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


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

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

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

HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindowsWindowsUpdateWUServer.

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

[ad name=»Responbl»]

Было выяснено, что существует несколько видов обновлений. И самый интересный для нас — 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, чтобы не ждать сутки для проведения атаки.

Click to rate this post!
[Total: 3 Average: 4]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

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

Leave a reply:

Your email address will not be published.