После установки кумулятивных обновлений от 14 апреля 2026 года
(CVE-2026-26151) клиент удалённого рабочего стола по-другому открывает
.rdp-файлы. Перед подключением mstsc.exe показывает окно с адресом
сервера, издателем файла и списком перенаправлений: диски, буфер обмена,
смарт-карты, WebAuthn, принтеры, камера, микрофон, USB. Все перенаправления
по умолчанию выключены, пользователь должен отметить нужные вручную.
Изменение касается только запуска по файлу. Если подключаться командой
mstsc /v:rds01 или вводить адрес в окне клиента, ничего не изменится.
Причина — фишинг через RDP-файлы. В .rdp можно прописать
drivestoredirect:s:*, redirectclipboard:i:1, redirectsmartcards:i:1, и
при открытии файл подключит пользователя к серверу атакующего и отдаст ему
локальные диски, буфер обмена и смарт-карту. Так в октябре 2024 года
действовала группировка Midnight Blizzard (APT29): файлы рассылались тысячам
адресатов в сотне с лишним организаций и были подписаны сертификатом
Let's Encrypt.
Как выглядит предупреждение
При первом открытии RDP-файла Windows один раз показывает ознакомительное окно о рисках RDP-файлов. После подтверждения для этого пользователя оно больше не появляется.
Дальше при каждом запуске файла показывается окно безопасности. Если файл не подписан, в окне будет заголовок Caution: Unknown remote connection и издатель Unknown publisher. Если подписан, будет имя издателя из сертификата и заголовок Verify the publisher of this remote connection.
Подпись сама по себе не означает, что файлу можно доверять: злоумышленник может подписать файл сертификатом на похожее имя. Окно не показывается только для файлов, подписанных сертификатом, который администратор явно добавил в доверенные через GPO. Такие файлы открываются сразу, со всеми перенаправлениями, которые в них прописаны.
Проверить, есть ли новое поведение на компьютере
Обновления кумулятивные, и в сентябре Get-HotFix покажет уже не апрельский
KB, а более поздний. Проще сравнить номер сборки:
$v = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
"$($v.CurrentBuild).$($v.UBR)"
Новое поведение есть, если сборка не ниже указанной:
| ОС | Апрельское обновление | Сборка |
|---|---|---|
| Windows 11 24H2 / 25H2 | KB5083769 | 26100.8246 / 26200.8246 |
| Windows 11 23H2 | KB5082052 | 22631.6936 |
| Windows 10 22H2 (ESU) | KB5082200 | 19045.7184 |
Подписать RDP-файл
Для подписи нужен сертификат для подписи кода. В домене его лучше выпустить во внутреннем центре сертификации. Для теста подойдёт самоподписанный:
$cert = New-SelfSignedCertificate -Type CodeSigningCert `
-Subject "CN=RDP Publisher" -CertStoreLocation Cert:\LocalMachine\My
Самоподписанному сертификату клиенты не доверяют, его нужно разложить на компьютеры в хранилище доверенных корневых сертификатов, например через GPO. С сертификатом из доменного ЦС этого делать не нужно.
Утилите rdpsign.exe нужен отпечаток сертификата. Начиная с Windows Server
2016 используется SHA256-отпечаток (ключ /sha256), на более старых
системах — SHA1 (ключ /sha1). Свойство Thumbprint в PowerShell содержит
только SHA1, SHA256 нужно посчитать:
$sha256 = [BitConverter]::ToString(
[Security.Cryptography.SHA256]::Create().ComputeHash($cert.RawData)) -replace '-'
$sha256
Сначала проверьте подпись в тестовом режиме, файл при этом не изменится:
rdpsign.exe /sha256 $sha256 /l C:\RDP\office.rdp
Если ошибок нет, подпишите файл:
rdpsign.exe /sha256 $sha256 /v C:\RDP\office.rdp
Подпись записывается в исходный файл. Маски в имени файла rdpsign не
принимает, несколько файлов нужно перечислить через пробел.
Если RDP-файлы раздаёт Remote Desktop Services (RD Web, RemoteApp), вручную
их подписывать не нужно. Их подписывает сертификат роли RDPublishing.
Назначить ему сертификат из вашего ЦС можно командлетом Set-RDCertificate
с параметром -Role RDPublishing.
Убрать предупреждение для своих файлов через GPO
Чтобы подписанные вами файлы открывались без окна, добавьте отпечаток
сертификата в политику. Откройте консоль gpmc.msc и перейдите в раздел:
Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Connection Client
Включите политику Specify thumbprints of certificates representing trusted .rdp publishers и укажите отпечаток сертификата.
До июльских обновлений 2026 года политика называлась Specify SHA1 thumbprints… и принимала только SHA1-отпечатки. После них в неё можно указать SHA-2, с префиксом, который описан в справке к политике. Поддержку SHA1 в этой политике Microsoft обещает убрать, поэтому новые отпечатки лучше сразу задавать в SHA-2.
Обновите политики на клиенте:
gpupdate /force
Закрытый ключ этого сертификата стоит защищать как ключи уровня 0. Файл, подписанный им, на любом компьютере с этой политикой откроется без окна и с любыми прописанными перенаправлениями, включая все диски и смарт-карту.
Запретить открывать чужие RDP-файлы
В том же разделе GPO есть ещё две политики:
- Allow .rdp files from unknown publishers — если выключить, неподписанные
.rdp-файлы открываться не будут; - Allow .rdp files from valid publishers and user's default .rdp settings — если выключить, будут открываться только файлы издателей из списка доверенных.
Microsoft рекомендует выключить обе политики и оставить в доверенных только свои сертификаты. Тогда пользователь сможет открыть только ваши RDP-файлы. Файлы с чужой подписью, даже настоящей, заблокируются.
Учтите, что выключенная вторая политика запрещает и ручные подключения:
пользователь не сможет ввести адрес в mstsc. Тем, кто так работает,
нужно раздать подписанные файлы или применить политику не ко всем.
Значения обеих политик хранятся в реестре в ключе
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services, параметры
AllowUnsignedFiles и AllowSignedFiles.
Временно вернуть старое поведение
Если новое окно мешает работе, пока файлы не подписаны, его можно отключить. Выполните в командной строке с правами администратора:
REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client" /v RedirectionWarningDialogVersion /t REG_DWORD /d 1 /f
Microsoft предупреждает, что поддержку этого параметра могут убрать в следующих обновлениях, поэтому оставлять его надолго не стоит.
Для приложений, которые используют ActiveX-контрол mstscax.dll, то же
поведение настраивается свойством RedirectionWarningDialogVersion
интерфейса IMsRdpExtendedSettings.
Что ещё сделать
- Заблокируйте на периметре исходящие подключения по RDP в интернет. Тогда RDP-файл, даже если его откроют, не подключится к внешнему серверу.
- Режьте вложения
.rdpна почтовом шлюзе. Получать такие файлы от внешних отправителей обычно незачем. - Если окно появилось при подключении к Azure Virtual Desktop или Windows 365, не подключайтесь: их файлы подписаны Microsoft, и окна там быть не должно.
Источники
- Understanding security warnings when opening RDP files — Microsoft Learn
- RDP file security in Group Policy — Microsoft Learn
- rdpsign — Microsoft Learn
- Policy CSP ADMX_TerminalServer — Microsoft Learn
- Midnight Blizzard conducts large-scale spear-phishing campaign using RDP files — Microsoft Security Blog
- KB5083769, KB5082052, KB5082200 — Microsoft Support