Новости

Игра в три буквы. Как «угнать» сеанс RDP и как защитить сеть от угроз

“Один раз отмерь, а семь проверь, чтобы не было потерь.”


К чему это вышесказанная пословица относится, если речь идет об RDP? Сейчас объясним. Учитывая ситуацию в связи с последними новостями, связанными с вирусом и не только, многие компании перешли на удаленный способ работы. Для этого нужно уметь правильно подключаться к серверам или пользователям, вне офиса. Под «правильно» имеется ввиду, что данный сеанс может быть перехвачен и есть способы избежать данного факта. В связи с этим решили написать данный материал, чтобы обезопасить вас и коллег: не попасть в ловушку мошенников и прочих нехороших ребят.

Для начала давайте рассмотрим пару методов «угона» RDP, чтобы было представление о том, что может вас ожидать. Самый распространенный из всего этого «добра» - Man-in-the- middle («Человек-по-середине»).


Реализация атаки «человек посередине» часто может привести к захвату учетных данных. Выполнение этой атаки против сеансов RDP позволит злоумышленнику легко получить простой текстовый пароль учетной записи домена для целей бокового перемещения.
Seth - это инструмент, который может автоматизировать атаки RDP Man-in-the-middle независимо от того, включена ли аутентификация на уровне сети (NLA), о которой, кстати, также добавлю пару слов. Для реализации этой атаки необходимо четыре параметра:
  • Интерфейс Ethernet
  • IP злоумышленника
  • IP-адрес рабочей станции жертвы (клиента)
  • IP-адрес целевого хоста (сервера) RDP


После запуска инструмент выполнит в фоновом режиме серию шагов, чтобы гарантировать успешную реализацию атаки. Вот о каких шагах идет речь: Подмена ответов ARP
  • Включение пересылки трафика IPv4 для перенаправления трафика с хоста жертвы на машину злоумышленника, а затем на целевой сервер RDP.
  • Конфиг iptable для отклонения пакета SYN (можете почитать на Вики про данный флуд) для предотвращения прямой аутентификации RDP.
  • Захват SYN-пакета целевого хоста. Клонирование SSL-сертификата.
  • Перенастройка iptables для маршрутизации трафика от рабочей станции жертвы к целевому хосту RDP.
  • Блокировка трафика на порту 88, чтобы понизить аутентификацию Kerberos до NTLM, что позволяет намного легче получить доступ к управлению.
Сильно в подробности вдаваться не будет, рассмотрим лишь некоторые из вышеперечисленных шагов.
С 1-3 будут выполнены до аутентификации жертвы. Пользователь, который попытается пройти аутентификацию через RDP на целевом сервере, получит такое сообщение:


Когда пользователь установит соединение, учетные данные будут видны злоумышленнику в виде обычного текста:

Перейдем к следующему методу => RDP Session Hijacking («Перехват сеанса RDP»)
В случае, если доступ локального администратора был получен в целевой системе, злоумышленник может захватить сеанс RDP другого пользователя. Это избавляет злоумышленника от необходимости обнаруживать учетные данные этого пользователя.
Список доступных сеансов, которые можно использовать, можно посмотреть в диспетчере задач Windows на вкладке «Пользователи».

Кстати, эту же информацию можно получить из командной строки, введя команду «query user» в нужной директории.

Создание службы, которая будет выполнять tscon с привилегиями системного уровня, захватит сеанс с идентификатором 3:
1 sc create sesshijack binpath= "cmd.exe /k tscon 3 /dest:rdp-tcp#0"
2 net start sesshijack

Когда служба запускается, пользователь «test» может использовать сеанс netbiosX, не зная своего пароля.

Mimikatz, к слову, это небольшой инструмент, с помощью которого можно поиграться, в прямом смысле этого слова, с безопасностью Windows (например, извлечение из памяти паролей; хэшей; PIN-кода и билетов Kerberos в виде открытого текста) также поддерживает эту технику. Первый шаг - получить список сеансов служб терминалов, используя следующую команду: ts::sessions.

На скрине выше, видно, что попытка будет неудачной поскольку Mimikatz не был запущен как SYSTEM. Поэтому следующие команды (ts::remote /id:1, privilege::debug, token::elevate) повышают уровень токена с локального администратора до SYSTEM, чтобы использовать другой сеанс без необходимости знать пароль пользователя.

Повторное выполнение этой команды (ts::remote /id:1) захватит сеанс пользователя netbiosX.

Данные методы являются одними из самых распространенных среди злоумышленников. Так как мы уже ознакомились с тем, чем можем столкнуться, предлагаю перейти к
способам защиты
и некоторым советам по безопасности из собственного опыта. Думаю, легче и информативнее будет, если представлю все это дело в виде следующего списка:
1. Очень рекомендую включать NLA (Аутентификация на сетевом уровне) – это уже включено по умолчанию в Windows 10, Windows Server 2012 и новее, но если у вас в использовании старые версии Windows, вам следует включить этот способ защиты
- он гарантирует, что соединение может происходить только при правильной аутентификации и верно предоставленными именами пользователя и паролями.

2. Ограничьте подключения RDP для пользователей, не являющихся администраторами => тоесть вы должны разрешить только учетным записям пользователей без прав администратора удаленное подключение к ПК с Windows. Стандартные учетные записи пользователей не могут изменять настройки, устанавливать программное обеспечение и иметь ограниченный доступ к файлам. Это должно ограничить ущерб, который может нанести любое потенциально нежелательное соединение.

3. Ограничьте количество попыток ввода пароля => желательно, поставить лимит на ввод пароля, советую 3 попытки, для учетной записи, прежде чем она будет заблокирована.

4. Используйте сложные, безопасные пароли => ни для кого не секрет, что использования одного и того же пароля везде не есть хорошо, особенно, для подключений к удаленному рабочему столу. Поэтому, не используйте один и тот
 же пароль для нескольких учетных записей и используйте комбинацию букв, цифр и
 символов.

Следующие два совета обязательны к применению!
5. Не разрешайте открывать RDP-подключения через Интернет => eсли вам нужно использовать удаленный рабочий стол через Интернет, настройте свою собственную виртуальную частную сеть (VPN) или используйте шлюз удаленных рабочих столов, чтобы сначала создать безопасный туннель в вашу локальную сеть. В качестве примера безопасного VPN-продукта могу посоветовать от Ideco UTM.

6. Установите для RDP максимальное шифрование. По умолчанию соединения RDP всегда будут пытаться использовать максимально возможный уровень шифрования. Однако, чтобы гарантировать, что всегда используется самый высокий уровень шифрования, вы можете установить уровень шифрования по умолчанию с помощью редактора групповой политики (Конфигурация компьютера> Административные шаблоны> Компоненты Windows> Службы удаленного рабочего стола> Узел сеанса удаленного рабочего стола> Безопасность> Установить клиентское соединение уровень шифрования> Включено> Высокий уровень). Также можете открыть так: Win+R -> gpedit.msc. (Есть один момент: изначально данного редактора нет в версии Home сборок, но его можно спокойно установить, следует почитать об этом в сети).

На самом деле в последнее время действительно многие компании стали использовать различные утилиты для удаленной работы и мне бы хотелось также рассказать о некоторых из них, на которые действительно стоит обратить внимание. Может вам понравится что-то другое, ведь выбор есть всегда. Но перед этим хочу поделится небольшими, но очень важными советами по поводу RDP:

1.Оптимизация настроек дисплея
Некоторые администраторы предпочитают запускать сеансы подключения к удаленному рабочему столу в полноэкранном режиме с панелью подключения в верхней части экрана, в то время как другие предпочитают отображение с несколькими окнами. Чтобы оптимизировать параметры отображения, щелкните вкладку «Экран», а затем с помощью ползунка «Конфигурация экрана» установите размер окна подключения к удаленному рабочему столу. Чтобы использовать полноэкранный режим, перетащите ползунок до конца вправо, пока он не отобразит “Полноэкранный режим”, затем убедитесь, что установлен флажок на “Отображать панель подключения”, когда я использую полноэкранный режим, чтобы вы могли легко переключиться обратно в ваш локальный рабочий стол.

2. Сочетания клавиш для подключения к удаленному рабочему столу
Использование клавиатуры в удаленном сеансе может отличаться от ее использования на локальном рабочем столе. Чтобы направить стандартные комбинации клавиш Windows в удаленный сеанс, используйте вкладку «Локальный ресурс» и панель «Клавиатура», чтобы указать, где будут применяться сочетания клавиш. Я предпочитаю параметр - «Только при использовании полноэкранного режима. Затем можете воспользоваться сочетаниями клавиш, чтобы сделать сеанс подключения к удаленному рабочему столу более эффективным:
  • CTRL-ALT-BREAK включает и выключает полноэкранный режим (на некоторых клавиатурах клавиша BREAK заменяется на PAUSE, PRTSCN или FN-SCRLK).
  • CTRL-ALT-HOME активирует панель подключения.
  • Если вы включили буфер обмена, вы можете использовать CTRL-X, CTRL-C и CTRL-V для вырезания, копирования и вставки информации между локальным рабочим столом и удаленным сеансом.

3. Сохранение общих подключений как .RDP файлов => которые вы можете поместить на рабочий стол или в папку. Использование файлов .RDP делает гораздо более удобным открытие часто используемых систем, потому что все, что вам нужно сделать, это щелкнуть файл .RDP. Нет необходимости повторно вводить всю информацию о подключении. Чтобы сохранить настройки подключения к удаленному рабочему столу, откройте «Подключения к удаленному рабочему столу» и нажмите «Показать параметры»; затем «Общие» и выберите параметр «Сохранить как», чтобы указать имя и расположение для файла .RDP.

4. Сохранение своих учетных данных для более быстрого подключения => это может значительно сэкономить время для систем, к которым вы часто подключаетесь. Чтобы сохранить информацию об удаленной аутентификации, щелкните вкладку «Общие» и установите флажок на «Разрешить мне сохранять учетные данные». При следующем подключении вам будет предложено ввести учетные данные для удаленного входа, но вам не нужно будет вводить их повторно для последующих подключений. Если вы хотите отменить этот параметр в будущем, установите флажок на «Всегда запрашивать учетные данные».


5. Подключение локальных устройств => одна из вещей, которую многие упускают из виду, - это возможность автоматического подключения к локальным ресурсам, таким как дисковые накопители, буфер обмена, принтеры, смарт- карты, локальные порты и устройства PnP. Чтобы перенаправить локальные устройства, перейдите на вкладку «Локальные ресурсы», а затем в разделе
«Локальные устройства и ресурсы» выберите нужные ресурсы, которые вы хотите использовать в удаленном сеансе. Принтеры и буфер обмена перечислены на передней панели. Нажатие кнопки «Дополнительно» позволяет добавлять смарт-карты, порты, диски и устройства PnP. Разрешенными ресурсами можно управлять с помощью групповой политики: Конфигурация компьютера \ Политики \ Административные шаблоны \ Компоненты Windows \ Службы

удаленного рабочего стола \ Узел сеанса удаленного рабочего стола \ Устройство и параметр перенаправления ресурсов.

А теперь пару слов об альтернативах RDP, которые могу посоветовать из личного опыта.
В качестве одной из лучших достойных альтернатив могу посоветовать SolarWinds Dameware EDITOR’S CHOICE - предлагает инструменты удаленной поддержки и управления для корпоративных групп поддержки, как внутренних, так и MSP. Он облачный, но вы можете установить локальную версию на локальные ПК и серверы Windows. Также предлагает многофакторную аутентификацию, поддержку нескольких платформ и интегрируется с решениями службы поддержки SolarWinds. Существует 14- дневная бесплатная пробная версия, благодаря которой я и познакомился с данным продуктом для себя.

Следующей утилитой для удаленного доступа могу посоветовать ISL Online => облачный удаленный рабочий стол и инструмент поддержки для нескольких платформ с возможностью установки на месте. Позволяет устанавливать безопасные RDP-соединения между вашим ПК и удаленным рабочим столом, не подвергая опасности вашу сеть, внося изменения в ваш брандмауэр или используя VPN. 15-дневная бесплатная пробная версия.

Третьим в нашем списке поместился ManageEngine Remote Access Plus => еще один фаворит MSP, предлагающий как облачные, так и внутренние варианты управления и поддержку устройств Linux, Windows и macOS.

И, напоследок, крайне рекомендую ознакомиться с Ideco UTM (вместе с VPN) - эти ребята помешаны на безопасности, что точно гарантирует вам надежное удаленное подключение. В данный инструмент интегрированы: система предотвращения вторжений; контентная фильтрация; защита сетевого периметра (тоесть, блокировка всех возможных ботов, трекеров, вирусов и т.д. по базе IP Reputation и не только, а также много чего еще, доступного уже «по умолчанию»). Могу перечислять долго достоинства данного решения, но думаю, лучше вам самим изучить этот продукт и понять почему он стоит этого.

Можно работать, делать многое, не выходя из дома, благодаря данным утилитам. Удаленное управление компьютером – must have! Но не стоит забывать о безопасности.
Статьи