Как посмотреть пароль от rdp-подключения в Windows 10

Обновлено: 21.11.2024

Администраторы обычно используют протокол удаленного рабочего стола (RDP) для удаленного управления средами Windows. Также обычно RDP включается в системах, которые действуют как переходная станция, чтобы пользователи могли подключаться к другим сетям. Однако, несмотря на то, что этот протокол широко используется в большинстве случаев, он не защищен и не контролируется должным образом.

Вышеупомянутые процессы можно использовать в качестве альтернативного метода получения учетных данных, не затрагивая lsass, который обычно тщательно контролируется продуктами обнаружения и реагирования конечных точек (EDR).

svchost

Узел службы (svchost.exe) — это системный процесс, в котором может размещаться несколько служб, чтобы предотвратить потребление ресурсов. Когда пользователь аутентифицируется через соединение RDP, служба терминала размещается в процессе svchost. В зависимости от того, как работает механизм проверки подлинности Windows, учетные данные хранятся в памяти процесса svchost в виде обычного текста в соответствии с открытием Йонаса Лика. Однако, глядя на список процессов, можно увидеть несколько процессов svchost, поэтому определить, какой процесс является хостом для подключения службы терминалов, можно с помощью одной из следующих команд.

Запрос службы терминала:

Идентификация svchost — сервисный запрос

Запрос, какая задача загрузила rdpcorets.dll:

Идентификация svchost — RDP Core DLL

Идентификация svchost — netstat

Глядя на строки памяти процесса, пароль отображается под именем пользователя.

Строки памяти

Дамп процесса от Sysinternals также можно использовать для дампа памяти, указав PID и каталог, в который будет записан файл .dmp.

Дамп памяти — дамп процесса

Файл .dmp можно передать на другой хост для автономного анализа. Выполнение простого grep идентифицирует пароль, хранящийся в файле памяти под именем пользователя.

Обнаружение пароля в дампе памяти

Приведенный выше метод не считается полностью надежным, и до сих пор неизвестно, при каких условиях учетные данные сохраняются в процессе svchost. Однако Mimikatz поддерживает извлечение учетных данных из существующих RDP-соединений путем выполнения следующих действий:

Mimikatz — учетные данные RDP

mstsc

Процесс mstsc.exe создается, когда пользователь открывает приложение для подключения к удаленному рабочему столу, чтобы подключиться к другим системам по протоколу RDP. Перехват API может использоваться для перехвата учетных данных, предоставленных пользователем, и использования их для бокового перемещения. Рио Шерри разработал инструмент проверки концепции под названием RdpThief, который пытается перехватить функции, используемые процессом mstsc (CredIsMarshaledCredentialW и CryptProtectMemory), чтобы получить учетные данные и записать их в файл на диске. Подробности об этом инструменте можно найти в статье на веб-сайте MDSec.

Из системы, которая была скомпрометирована и запущен mstsc.exe, необходимо внедрить DLL в процесс.

RdpThief.dll — внедрение DLL

После того, как пользователь введет учетные данные для аутентификации на целевом хосте, они будут перехвачены и записаны в файл в папке C:\temp.

Файл creds.txt также будет содержать IP-адрес. Эта информация может использоваться для горизонтального перемещения по сети или даже для повышения привилегий, если используется учетная запись с повышенными правами.

SharpRDPThief

Файлы RDP

Пользователи, которые несколько раз проходят аутентификацию на определенном хосте через RDP-подключение, могут сохранять сведения о подключениях для быстрой аутентификации.Эти учетные данные хранятся в зашифрованном виде в диспетчере учетных данных Windows с помощью API защиты данных.

Диспетчер учетных данных

Расположение учетных данных Windows на диске следующее:

Расположение учетных данных Windows

Файл можно просмотреть через двоичный файл Mimikatz:

Учетные данные DPAPI — Mimikatz

Поле «pbData» содержит информацию в зашифрованном виде. Однако главный ключ для расшифровки хранится в lsass, и его можно получить, выполнив следующий модуль Mimikatz. «guidMasterKey» также важен, поскольку при запросе lsass может существовать несколько записей, и это необходимо для сопоставления GUID с главным ключом.

Mimikatz — мастер-ключ DPAPI

Повторное выполнение модуля dpapi::cred с переключателем главного ключа приведет к тому, что расшифровка содержимого и учетные данные RDP будут раскрыты в виде обычного текста.

DPAPI — расшифровка учетных данных

Выполнение следующей команды предоставит сведения о том, какому серверу принадлежат эти учетные данные.

Mimikatz — список хранилищ

Ютуб

Соединение с RDP "имя пользователя и пароль неверны"

Только с моей машины (Windows 10 pro), я не могу подключиться через RDP к другой машине (Windows 10 pro) (неверное имя пользователя или пароль).
с другой машины я смог подключиться.< /p>

5 ответов

Для удаленного входа вам необходимо право на вход через службы удаленных рабочих столов. По умолчанию этим правом обладают члены группы «Администраторы». В таких случаях вам необходимо убедиться, что вы помните и вводите правильные пароли для учетных записей локальных пользователей на удаленном компьютере. Следующие предложения показывают, какие возможности доступны для ответа на вопрос о вашем интересе.
1. Пожалуйста, обратите внимание и введите имя пользователя и пароль в блокноте. Введено, что пароли чувствительны к регистру, а имена пользователей обычно также чувствительны к регистру. После этого авторизуйтесь на удаленном компьютере.
2. Однако, как это бывает со многими пользователями, можно сбросить пароль локальной учетной записи пользователя в Windows 10, даже если вы не помните текущий пароль учетной записи пользователя для этих учетных записей. Чтобы изменить пароли в Windows 10 с помощью панели управления, вам необходимо войти в свою учетную запись администратора или любую учетную запись пользователя с правами администратора. Это позволит вам изменить пароль для всех учетных записей пользователей на вашем компьютере. Вы можете сбросить пароль с помощью OSK (экранной клавиатуры). Выполните следующие действия:
• Нажмите «Пуск».
• Введите osk и нажмите Enter, чтобы открыть экранную клавиатуру.
• Если это не сработает, нажмите Windows + R, чтобы открыть окно «Выполнить команду». Введите osk и нажмите OK.
• Нажмите и удерживайте клавиши CTRL-ALT на физической клавиатуре, а затем нажмите клавишу DEL на виртуальной клавиатуре (на экране).
• Сверните OSK.
• Нажмите Изменить пароль.
3. Создавая новые учетные записи пользователей в качестве теста на удаленном компьютере, выполните следующие действия:
• Запустите «Управление компьютером» с помощью compmgmt.msc или щелкните правой кнопкой мыши меню «Пуск» и выберите «Управление компьютером».
• Нажмите «Локальные пользователи и группы» и щелкните правой кнопкой мыши папку «Пользователи». Выберите Новый пользователь.
• После создания пользователя вы можете перейти на левую панель окна и развернуть Локальные пользователи и группы, а затем щелкнуть папку «Группы» и дважды щелкнуть «Группа пользователей удаленного рабочего стола».
• Нажмите «Добавить». . Затем в окне «Выбор пользователей» вы можете ввести имя сеанса, который вы только что создали, в данном поле. Нажмите «Проверить имена» рядом с ним, и имя станет подчеркнутым, что свидетельствует о том, что пользователь найден и принят.
• Команда запуска для приложения удаленного рабочего стола Windows — Mstsc.exe.
• Кроме того, администратор может установить пароль для всех пользователей для подключения и взаимодействия с сервером.В строке «Имя» вы можете щелкнуть правой кнопкой мыши имя пользователя, а затем нажать «Установить пароль», чтобы продолжить.

В этой статье мы покажем, как изменить пароль пользователя в сеансе RDP на удаленном компьютере с Windows. В качестве удаленного хоста у вас может быть либо Windows Server с настроенной ролью служб удаленных рабочих столов (RDSH), либо рабочая станция Windows 10 с одним или несколькими подключениями RDP.

Основная проблема, с которой сталкиваются пользователи, заключается в том, что вы не можете открыть стандартный диалог смены пароля с помощью комбинации клавиш Ctrl + Alt + Delete в сеансе удаленного рабочего стола (RDP). Этот ярлык не передается в сеанс RDP, так как он работает в вашей локальной операционной системе.

В Windows Server 2003/2008 можно было изменить пароль пользователя в RDP, нажав кнопку "Пуск" и выбрав "Безопасность Windows" -> "Изменить пароль".

В более поздних версиях, включая Windows Server 2016/2019/2022 и Windows 10/11, в меню «Пуск» отсутствует пункт «Безопасность Windows», поэтому этот способ смены пароля пользователя неприменим.

Изменить пароль пользователя в RDP с помощью CTRL + ALT + END

В текущих версиях Windows необходимо использовать комбинацию клавиш Ctrl + Alt + End, чтобы открыть диалоговое окно «Безопасность Windows» в сеансе RDP. Ярлык такой же, как Ctrl + Alt + Delete, но работает только в окне RDP. Выберите Изменить пароль в меню.

Теперь вы можете изменить свой пароль в стандартном диалоговом окне (введите текущий пароль и дважды установите новый).

Изменение пароля с помощью экранной клавиатуры

Если вы подключены к удаленному рабочему столу хоста Windows через цепочку сеансов RDP, вы не сможете использовать CTRL+ALT+END для изменения пароля пользователя. Первое окно RDP перехватит сочетание клавиш. В этих случаях вы можете использовать встроенную экранную клавиатуру Windows, чтобы изменить пароль пользователя.

  1. Запустите экранную клавиатуру в целевом сеансе RDP (это проще сделать, набрав osk.exe в меню «Пуск»);
  2. Вы увидите экранную клавиатуру;
  3. Нажмите CTRL+ALT на физической (локальной) клавиатуре (она должна отображаться на экране), а затем нажмите кнопку "Удалить" на экранной клавиатуре;
  4. Поэтому комбинация клавиш Ctrl+Alt+Del будет отправлена ​​в удаленный сеанс RDP, и появится стандартное диалоговое окно безопасности Windows, в котором вы можете изменить пароль.
  5. Помните, что когда вы меняете пароль пользователя, он должен соответствовать требованиям вашей локальной политики или политики домена в отношении паролей.

    Если ваш новый пароль им не соответствует, вы увидите сообщение ниже:

    Обратите внимание, что если в политике домена (или в детальных политиках паролей — PSO) настроен минимальный срок действия пароля, это может помешать пользователю менять пароль чаще, чем указано в настройках объекта групповой политики.
    Вы можете просмотреть, когда истечет срок действия пароля пользователя, используя PowerShell:

    Скрипт VBS/PowerShell для смены пароля в сеансе RDP

    Диалоговое окно безопасности Windows можно вызвать в сеансе RDP с помощью встроенных инструментов Windows: VBScript, PowerShell или ярлыка оболочки.

    Например, создайте на рабочем столе текстовый файл WindowsSecurity.vbs со следующим кодом VBScript:

    set objShell = CreateObject("shell.application")
    objshell.WindowsSecurity

    Если дважды щелкнуть файл VBS, появится стандартная форма для изменения пароля.

    Вы можете поместить этот файл VBS на общий рабочий стол на хосте RDS ( %SystemDrive%\Users\Public\Desktop\ ) или скопировать файл на рабочие столы пользователей с помощью GPO.

    Точно так же вы можете открыть окно смены пароля из PowerShell. Используйте команду ниже:

    Новый объект -COM Shell.Application).WindowsSecurity()

    Есть возможность создать ярлык Проводника Windows со следующей ссылкой:

    Изменение паролей через веб-доступ к удаленному рабочему столу (RDWEB)

    Если вы получаете доступ к своим серверам RDP через хост с ролью веб-доступа к удаленному рабочему столу (RDWA), вы можете разрешить изменение пароля с истекшим сроком действия на странице входа в RDWA (это подробно описано здесь).

    NLA CredSSP и изменение пароля в RDP

    Существует важная функция изменения просроченного пароля пользователя в RDP, связанная с проверкой подлинности на уровне сети (NLA) и протоколом Credential Security Support Provider (CredSSP). По умолчанию CredSSP с NLA для RDP включен в Windows Server 2012/Windows 8 и более поздних версиях. NLA защищает сервер RDP, аутентифицируя пользователя перед установлением сеанса RDP с хостом.

    Если срок действия пароля пользователя истек или администратор AD включил параметр userAccountControl «Пользователь должен изменить пароль при следующем входе в систему» ​​(чаще всего он включен для новых учетных записей AD), вы увидите следующую ошибку при входе в систему с использованием RDP:

    В результате пользователь не может подключиться к серверу с помощью RDP и изменить пароль.

    В этом случае, чтобы разрешить удаленным пользователям изменять свои пароли, вы можете:

    • Настройте роль RDWA со страницей смены пароля, как описано выше; на вашем хосте RDP (не рекомендуется, так как это значительно снижает уровень безопасности RDP-подключений) и используйте файл .rdp со строкой enablecredsspsupport:i:0 для подключений;
    • Используйте отдельный хост RDP для изменения паролей пользователей. Вам не нужно устанавливать роль узла сеансов удаленного рабочего стола на этом узле или добавлять пользователей в локальную группу пользователей удаленного рабочего стола, но вы должны отключить NLA. Тогда пользователи смогут менять свои пароли, но не смогут заходить на сервер через RDP;
    • Пользователь может изменить свой пароль удаленно с помощью PowerShell (если у него есть сетевой доступ к контроллеру домена).

    Встроенный клиент удаленного рабочего стола Windows ( mstsc.exe ) позволяет сохранить имя пользователя и пароль, используемые для подключения к удаленному компьютеру. Используя сохраненные учетные данные RDP, пользователю не нужно каждый раз вводить пароль для подключения к удаленному рабочему столу. В этой статье мы рассмотрим, как настроить сохраненные учетные данные для ваших RDP-соединений в Windows 10, Windows Server 2012 R2/2016 и что делать, если пароли не сохраняются несмотря на все настройки (каждый раз удаленная система запрашивает пароль).

    Делегирование сохраненных учетных данных RDP через групповую политику

    По умолчанию Windows позволяет пользователям сохранять свои пароли для RDP-соединений. Для этого пользователь должен ввести имя RDP-компьютера, имя пользователя и установить флажок «Разрешить мне сохранять учетные данные» в окне RDP-клиента. После того, как пользователь нажал кнопку «Подключиться», сервер RDP запрашивает пароль, и компьютер сохраняет его в диспетчере учетных данных Windows (а не в файле .RDP).

    В результате при следующем подключении к серверу RDP с использованием того же имени пользователя пароль будет автоматически взят из диспетчера учетных данных и использован для аутентификации RDP.

    Как видите, при наличии сохраненного пароля для этого компьютера в окне RDP-клиента появляется следующее сообщение:

    Как старший администратор, я обычно не рекомендую пользователям сохранять пароли. Гораздо лучше использовать SSO в домене для прозрачной аутентификации RDP.

    Если вы подключаетесь с компьютера домена к компьютеру/серверу в другом домене или рабочей группе, по умолчанию Windows не позволяет пользователю использовать сохраненные учетные данные для RDP-подключения. Несмотря на то, что пароль RDP-подключения сохраняется в Credentials Manager, система не будет использовать его, требуя от пользователя ввода пароля. Кроме того, Windows запрещает вам использовать сохраненный пароль RDP, если вы подключаетесь к своей локальной учетной записи вместо доменной.

    В этом случае, если вы попытаетесь подключиться, используя сохраненный пароль RDP, появится следующее сообщение об ошибке:

    Windows считает соединение небезопасным, так как нет доверия между этим компьютером и удаленным компьютером в другом домене (или рабочей группе).

    Вы можете изменить эти настройки на компьютере, с которого пытаетесь установить RDP-подключение:

    Совет. TERMSRV должен быть написан прописными буквами, а имя компьютера должно полностью совпадать с тем, которое вы вводите в поле узла подключения клиента RDP.

    Теперь при подключении по протоколу RDP клиент mstsc сможет использовать ваши сохраненные учетные данные.

    Вы можете изменить политику сохраненных учетных данных RDP только на локальном компьютере с помощью редактора локальной групповой политики. Если вы хотите применить эти параметры на нескольких компьютерах домена, используйте объект групповой политики домена, настроенный с помощью консоли gpmc.msc (управление групповыми политиками).

    Если у пользователя по-прежнему запрашивается пароль во время RDP-подключения, попробуйте таким же образом включить и настроить политику Разрешить делегирование сохраненных учетных данных. Кроме того, убедитесь, что политика Запретить сохранение учетных данных делегирования не включена, так как политики отказа имеют более высокий приоритет.

    Windows не сохраняет учетные данные RDP

    Если вы настроили Windows в соответствии с приведенными выше инструкциями, но ваш RDP-клиент предлагает вам ввести пароль при каждой попытке подключения, стоит проверить следующее:

    1. Нажмите «Показать параметры» в окне подключения RDP и убедитесь, что параметр «Всегда запрашивать учетные данные» не отмечен;
    2. Если вы используете для подключения сохраненный файл .RDP, убедитесь, что значение параметра «запрашивать учетные данные» равно 0 ( prompt for учетные данные:i:0 );
    3. Откройте редактор GPO (gpedit.msc) и перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Клиент подключения к удаленному рабочему столу. «Не разрешать сохранение паролей» не должно быть установлено или отключено. Также убедитесь, что этот параметр политики отключен в результирующей групповой политике на вашем компьютере (вы можете создать HTML-отчет с примененными параметрами GPO с помощью команды gpresult);
    4. Удалите все сохраненные пароли из диспетчера учетных данных. Введите control userpasswords2 и в окне «Учетные записи пользователей» перейдите на вкладку «Дополнительно» и нажмите «Управление паролями»;
    5. В следующем окне выберите Учетные данные Windows. Найдите все сохраненные пароли RDP и удалите их (они начинаются с TERMRSV/… ).

    В этом окне вы можете вручную добавить учетные данные для RDP-соединений. Обратите внимание, что имя RDP-сервера/компьютера должно быть указано в формате TERMRSV\имя_сервера1. Не забудьте удалить все сохраненные пароли при очистке истории RDP-подключений на вашем компьютере.

    После этого пользователи смогут использовать сохраненные пароли для RDP-соединений.

    Читайте также: