Что такое SMB и DCERPC

«Многие думают, что SMB — это просто файловый доступ, а DCE/RPC — какая-то старая технология. На деле, это не два отдельных протокола, а единый стек, на котором держится безопасность всей сетевой авторизации в Windows-доменах. Понимание того, как они работают вместе, — ключ к эффективной защите от атак, которые используют эту сложную взаимозависимость.»

Что связывает SMB и DCE/RPC?

SMB и DCE/RPC — это не параллельные дороги, а два уровня одного процесса. Первоначально SMB был простым протоколом для файлового обмена. Однако для сложных сетевых операций, таких как удаленное администрирование, управление политиками или запросы к службе каталогов, потребовался более универсальный механизм. Им стал DCE/RPC — фреймворк для удаленного вызова процедур.

SMB в современных реализациях (начиная с SMB2) часто выступает в роли одного из возможных транспортов для DCE/RPC, так называемого «named pipe». Запрос, который выглядит как доступ к файлу или каталогу (уровень SMB), на самом деле переносит в себе сложную DCE/RPC-структуру, предназначенную для выполнения процедур на удаленном хосте.

SMB: больше чем доступ к папке

Server Message Block (SMB) эволюционировал от простого файлового протокола до комплексной системы управления удаленными ресурсами. Его ключевая роль в безопасности выходит далеко за рамки прав доступа к файлам. Именно через SMB происходит первоначальное подключение и часто — аутентификация, которая затем используется другими протоколами.

Архитектура и эволюция версий

  • SMB1/CIFS: Устаревшая, но все еще встречающаяся версия. Не поддерживает современное шифрование, использует уязвимые механизмы аутентификации (например, NTLMv1). Именно она стала основой для таких эпидемий, как WannaCry через уязвимость EternalBlue.
  • SMB2/3: Современные версии, которые принесли значительные улучшения производительности и безопасности. SMB3 поддерживает сквозное шифрование (AES-128-GCM), защиту от атак типа «man-in-the-middle» через механизм подписывания и pre-authentication integrity.

Основная проблема SMB с точки зрения ФСТЭК и 152-ФЗ — это его повсеместная включенность. Протокол часто работает на критически важных серверах (файловые хранилища, контроллеры домена), а его некорректная настройка (оставленный для совместимости SMB1, слабые настройки шифрования) открывает всю сеть для компрометации.

Распространенные векторы атак через SMB

Вектор атаки Сущность уязвимости Типичное последствие
Атаки на аутентификацию Перехват или подбор хэшей NTLM (часто через SMB-трафик) для последующего «пас-зе-хэш» или офлайн-взлома. Получение учетных данных привилегированного пользователя.
Эксплуатация уязвимостей в реализации Ошибки в обработке сетевых пакетов (например, переполнение буфера в SMBv1). Удаленное выполнение кода (RCE) с правами системы.
Отсутствие подписи (SMB Signing Disabled) Злоумышленник может модифицировать трафик между клиентом и сервером. Повышение привилегий, перехват сессии.

DCE/RPC: скрытая проводка Windows

Distributed Computing Environment/Remote Procedure Call (DCE/RPC) — это не протокол в привычном смысле, а среда, которая определяет, как клиент должен упаковать вызов функции и отправить его для выполнения на удаленном сервере. В мире Windows практически вся логика управления — от изменения записи в Active Directory до запуска службы — осуществляется через вызовы DCE/RPC.

Для работы DCE/RPC нужен транспорт. И здесь начинается его связь с SMB: одним из основных транспортов является механизм именованных каналов (named pipes) поверх SMB. Клиент подключается к серверу через SMB к «файлу» типа pipesvcctl (для управления службами) или pipelsarpc (для политик безопасности), а затем по этому каналу передаются уже структурированные DCE/RPC-сообщения.

Интерфейсы (UUID) и их значение для защиты

Каждая группа удаленных процедур (например, для работы с реестром, сетевыми ресурсами, самописным ПО) имеет свой уникальный идентификатор (UUID). Сетевые экраны и системы обнаружения вторжений могут фильтровать DCE/RPC-трафик именно на уровне UUID, блокируя доступ к опасным интерфейсам (например, MS-RPRN для удаленной печати, который используется в атаках для кражи хэшей паролей).

  • Endpoint Mapper (порт 135/TCP): Служба, к которой клиент обращается первым, чтобы узнать, на каком порту (часто динамическом) «слушает» нужный ему интерфейс.
  • Прямой транспорт: Помимо SMB, DCE/RPC может работать напрямую поверх TCP (порты 135 и динамические высокие) или HTTP. Это важно для систем сегментации сети.

Угрозы на уровне DCE/RPC

Категория угрозы Пример Почему это работает
Недостаточная проверка прав Анонимный доступ к некоторым интерфейсам (например, для перечисления пользователей). Некорректные настройки безопасности домена, позволяющие получать разведывательную информацию без аутентификации.
Уязвимости в самих интерфейсах Ошибки в RPC-сервисах Windows (например, уязвимость в службе «Служба удаленного управления Windows»). Приводят к удаленному выполнению кода на критически важных системах.
Злоупотребление легитимными функциями Использование интерфейса MS-DRSR (репликация Active Directory) для извлечения хэшей паролей всех пользователей домена. Атакующий с правами администратора домена использует штатные механизмы для вредоносных целей.

Практические рекомендации для российских ИБ-специалистов

Защита стека SMB/DCE/RPC — это не единовременная настройка, а постоянный процесс мониторинга и ужесточения политик.

  • Полный отказ от SMB1: Отключите его на всех системах (и клиентах, и серверах) через групповые политики. Это базовый и самый эффективный шаг.
  • Принудительное использование SMB Signing и шифрования SMB3: Настройте политики домена, требующие подпись SMB-пакетов для всех серверов, а шифрование — для серверов с чувствительными данными.
  • Сегментация сети: Ограничьте доступ по портам 135 (TCP), 139 и 445 (TCP/UDP) между сегментами. Контроллеры домена, файловые серверы и рабочие станции должны быть в разных VLAN с жесткими правилами фильтрации.
  • Аутинг интерфейсов DCE/RPC: Используйте сканеры безопасности или средства аудита (например, rpcdump.py из Impacket) для выяснения, какие интерфейсы доступны на ваших серверах. Заблокируйте на сетевом экране все ненужные UUID.
  • Мониторинг аномальной активности: Настройте SIEM на обнаружение подозрительных паттернов: множественные попытки аутентификации через SMB, подключения к именованным каналам, связанным с администрированием (pipeatsvc, pipesamr), с рабочих станций, или активность на порту 135 вне рамок стандартных рабочих процедур.

Игнорирование связки SMB и DCE/RPC, рассматривание их по отдельности, создает иллюзию защищенности. Реальная безопасность лежит в понимании этого тандема как единой системы, где уязвимость или слабое звено на одном уровне немедленно компрометирует весь стек управления инфраструктурой.

Оставьте комментарий