Управление сохраненными паролями с помощью Windows Credential Manager
09.08.2021

itpro

PowerShell, Windows 10, Windows Server 2019

комментариев 6
Windows Credential Manager (диспетчер учетных данных) позволяет сохранять учетные записи и пароли для доступа к сетевым ресурсам, сайтам и приложениям. Благодаря диспетчеру учётных записей Windows вы можете подключаться к удаленным ресурсам автоматически, без ввода пароля. Приложения могут самостоятельно обращаться в Credential Manager и использовать сохраненный пароль.
Используем диспетчер учетных данных Windows для хранения паролей
Впервые Credential Manager появился в Windows 7 и позиционируется как достаточное безопасное место для хранения ваших паролей.
В диспетчере учетных данных могут хранится следующие типы аккаунтов:
-
Учетные данные Windows (Windows Credentials)– данные для входа в Windows, для доступа на удаленные компьютеры, сохраненные пароли для RDP подключений, пароли к сайтам, поддерживающих встроенную аутентификацию Windows и т.д;
В Windows Credential не хранятся данные для автоматического входа в Windows или доменные Cached Credentials.
Например, если при доступе к сетевой папке вы включите опцию “Сохранить пароль”, то введенный вами пароли будет сохранен в Credential Manager.

Аналогично пароль для подключения к удаленному RDP/RDS серверу сохраняется в клиенте Remote Desktop Connection (mstsc.exe).

Также в менеджере паролей сохраняются пароли пользователей при их сохранении командой runas /savecred.
Вы можете получить доступ к диспетчеру учетных данных в Windows 10 из классической панели управления (Control Panel\User Accounts\Credential Manager, Панель управления -> Учетные записи пользователей -> Диспетчер учетных данных).
Как вы видите, в Credential Manager теперь хранятся два пароля, которые мы сохранили ранее.

Сохраненный пароль для RDP подключения сохраняется в формате TERMSRV\hostname .
Здесь вы можете добавить сохранённый пароль, отредактировать (просмотреть сохраненный пароль из графического интерфейса нельзя) или удалить любую из записей.
Также для работы с сохраненными паролями можно использовать классический диалоговый интерфейс Windows – Stored User Names and Password. Для его вызова, выполните:

Здесь вы также можете управлять сохраненными учетными данными, а также есть функции резервного копирования и восстановления данных в Credential Manager (можно использовать для переноса базы Credential Manager на другой компьютер).
Для управления Credential Manager из командной строки используется утилита vaultcmd . Например, чтобы вывести список сохраненных учетных данных типа Windows Credentials выполните команду:
vaultcmd /listcreds:»Windows Credentials»

Credential schema: Windows Domain Password Credential Resource: Domain:target=msk-dc00 Identity: RESOURCE\anovak Hidden: No Roaming: No Property (schema element id,value): (100,3) Property (schema element id,value): (101,SspiPfc)
Следующая команда удалит из Credential Manager все сохраненные пароли для RDP доступа:
For /F «tokens=1,2 delims= » %G in (‘cmdkey /list ^| findstr «target=TERMSRV»‘) do cmdkey /delete %H
Все сохраненные пароли хранятся в хранилище Windows Vault. Windows Vault это защищенное хранилище секретов, паролей и другой информации пользователя. Данные в Windows Vault структурированы и представляют собой набор записей, принадлежащих определенной схеме Vault. Набор ключей шифрования для записей Windows Vault хранится в файле Policy.vpol.
Для доменных он хранится в каталоге %userprofile%\AppData\Roaming\Microsoft\Vault . Для локальных пользователей в %userprofile%\AppData\Local\Microsoft\Vault .

Для работы Credential Manager должна быть запущена служба VaultSvc:
Если служба отключена, при попытке получить доступ к Credential Manager появится ошибка
Credential Manager Error The Credential Manager Service is not running. You can start the service manually using the Services snap-in or restart your computer to start the service. Error code: 0x800706B5 Error Message: The interface is unknown.
Если вы хотите заблокировать пользователям возможность сохранения сетевых паролей в Credential Manager, нужно включить политику Network access: Do not allow storage of passwords and credentials for network authentication в разделе GPO Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options.

Теперь, если пользователь попытается сохранить пароль в хранилище, появится ошибка:
Credential Manager Error Unable to save credentials. To save credentials in this vault, check your computer configuration. Error code: 0x80070520 Error Message: A specified logon session does not exist. It may already have been terminated.
Доступ к менеджеру учетных данных Windows из PowerShell
В Windows нет встроенных командлетов для обращения к хранилищу PasswordVault из PowerShell. Но вы можете использовать модуль CredentialManager из галереи PowerShell.
Список командлетов в модуле можно вывести так:
get-command -module CredentialManager

В модуле всего 4 командлета:
- Get-StoredCredential – получить учетные данные из хранилища Windows Vault;
- Get-StrongPassword – сгенерировать случайный пароль;
- New-StoredCredential – добавить ученые записи;
- Remove-StoredCredential – удалить учетные записи.
Чтобы добавить новые данные в хранилище CredentialManager, выполните команду:
New-StoredCredential -Target ‘contoso’ -Type Generic -UserName ‘[email protected]’ -Password ‘123qwe’ -Persist ‘LocalMachine’

Проверить, есть в хранилище сохраненные данные для пользователя:
Get-StoredCredential -Target contoso
Сохраненные пароли из Credential Manager можно использовать в ваших скриптах PowerShell. Например, в следующем примере я получаю сохраненные имя и пароль в виде объекта PSCredential и подключаюсь с ними к Exchange Online из PowerShell:
$psCred = Get-StoredCredential -Target «Contoso»
Connect-MSolService -Credential $psCred
Также обратите внимание на новый модуль, PowerShell Secret Management, который можно использовать для безопасного хранения паролей в Windows (поддерживает различные хранилища паролей: KeePass, LastPass, HashiCorp Vault, Azure Key Vault, Bitwarden.
Чтобы удалить определенную учетные данные из Windows Vault, выполните:
Remove-StoredCredential -Target Contoso
Отобразить пароли в открытом виде с помощью встроенных средств нельзя. Но вы можете использовать утилиты типа Mimikatz для получения сохраненных паролей из credman в открытом виде (смотри пример).
Предыдущая статья Следующая статья
Определение учетных данных
Диалог Определение учетных данных может быть открыт из любого места приложения с помощью учетных данных, используемых для интерфейса Security Controls (например, в группе компьютеров, из Диспетчера учетных данных и т.д.). Он используется для указания пары нового имени пользователя и пароля, которые вместе представляют учетные данные. Учетные данные защищены с использованием шифрования RSA 2048/AES 256. Security Controls соблюдает правила криптографии NIST и всегда использует сертифицированные криптографические модули FIPS 140-2.
Только администратор, создавший учетные данные, сможет расшифровать и открыть их в программе. Однако вы можете выбрать совместное использование учетных данных, что сделает их доступными для указанных пользователей и/или для компонентов службы Security Controls .
Учетные данные могут быть автоматически созданы для вас во время обновления продукта или во время импорта группы компьютеров. Любые учетные данные, которые будут обнаружены во время этих процессов, сохраняются и назначаются с понятным именами в соответствии с их использованием. Термин Фильтр обнаружения – это понятное имя, назначаемое программой для учетных данных группы компьютеров, которое ее идентифицирует во время процесса обновления или импорта. Вы можете свободно изменить имя на любое другое, которое более подходит для использования учетных данных в вашей организации.
Если необходимо, чтобы учетные данные были доступны другим пользователям и/или фоновым службам, см. раздел Общие учетные данные.
Дайте имя этим учетным данным, чтобы их могли использовать другие лица
Дайте понятное имя для учетных данных, которое точно описывает их назначение.
Введите имя пользователя, который имеет доступ к компьютерам. Когда требуется указывать имя пользователя:
• Если вам необходимо указать имя домена, как часть учетных данных, убедитесь, что вы указываете его вместе с именем пользователя. Например, если вы введете пользователь@, \пользователь или полное имя пользователя, приложение Security Controls будет использовать права доступа домена.
• Если вы введете \пользователь, приложение Security Controls будет использовать локальные права целевого компьютера.
• Если вы не укажете домен или имя компьютера вместе с именем пользователя, имя будет идентифицироваться как имя целевого компьютера (\пользователь).
• Формат имен ОС Microsoft Windows .alias (например: ‘.\пользователь’) поддерживается Security Controls .
Введите пароль для пользователя.
Повторите ввод пароля для подтверждения его первого экземпляра.
Команда CMDKEY – Создание, отображение, удаление и сохранение имен пользователей и паролей.
Хранение учетных данных в Windows позволяет автоматически выполнять вход на веб-сайт или удаленный компьютер при подключении к нему по сети. Учетные данные для автоматического входа хранятся на компьютере в папках, называемых хранилищами. Компоненты Windows и прикладные программы (такие как веб-браузеры) могут безопасно передавать учетные данные, сохраненные в хранилищах, другим компьютерам сети или веб-сайтам. Утилита CMDKEY позволяет управлять содержимым хранилищ диспетчера учетных данных.
Формат командной строки:
targetname — определяет компьютер или домен, с который эта учетная запись будет связана.
/generic:targetName — общие учетные данные.
/smartcard — определяет режим получения удостоверения с использованием смарт-карты
/user:username — имя пользователя.
/pass:password — пароль для учетной записи.
/delete:targetname |/ras — удаление учетной записи, /ras используется для того, что бы удалить учетные данные сервера удаленного доступа RAS.
/list:targetname — отобразить список учетных записей.
Примеры использования CMDKEY:
cmdkey /? — отобразить краткую справку по использованию команды.
cmdkey /list — отобразить список всех учетных записей, запомненных на данном компьютере.
Пример списка учетных записей:
Текущие сохраненные учетные данные:
Конечный файл: WindowsLive:target=virtualapp/didlogical
Постоянное хранение на локальном компьютере
Конечный файл: Domain:interactive=win10\user
Тип: Пароль домена
Первая учетная запись, с конечным файлом WindowsLive:target=virtualapp/didlogical относится к службам Windows Live (почта, Messenger и т.п.)
Вторая учетная создана для пользователя user домена WIN10
cmdkey /list:interactive — отобразить список учетных записей для интерактивного входа.
cmdkey /generic:interactive /user:user1 /pass:password1 — создать общую учетную запись для интерактивного входа пользователя user1 с паролем password1
cmdkey /add:SRV10 /user:user /pass:passwd — создать учетную запись для подключения к компьютеру SRV10 пользователя user с паролем passwd
cmdkey /add:SRV10 /user:user — создать учетную запись для подключения к компьютеру SRV10 пользователя user с запросом пароля.
cmdkey /delete:SRV10 — удалить учетные записи для подключения к компьютеру SRV10
Чтобы создать общие учетные данные, переключатель /add может быть заменен на /generic
Добавление учетных записей в хранилище Windows можно выполнить с помощью панели управления:
1. Выберите последовательно компоненты Панель управления, Учетные записи пользователей и семейная безопасность (или щелкните компонент Учетные записи пользователей , если вы подключены к сетевому домену) и Учетные записи пользователей .
2. В левой области выберите пункт Администрирование учетных записей.
3. Щелкните Добавление учетных данных Windows .
4. В поле Адрес в Интернете или сети введите имя компьютера в сети, к которому требуется получить доступ. Можно ввести NetBIOS-имя (например, server1) или DNS-имя (например, server1.mydomain.ru) компьютера.
5. В поля Имя пользователя и Пароль введите имя пользователя и пароль, используемые для этого компьютера или веб-сайта, и нажмите ОК.
Для изменения существующих учетных данных используется кнопка ”Правка”, а для удаления -”Удалить”
Также, для работы с сохраненными учетными записями можно воспользоваться соответствующей оснасткой панели управления, открываемой командой:
При наборе ключевых значений нужно соблюдать регистр символов.
Доступ к диспетчеру учетных данных
Диспетчер учетных данных позволяет просматривать и удалять сохраненные учетные данные для веб-сайтов, приложений и сетей.

- Чтобы открыть диспетчер учетных данных, введите диспетчер учетных данных в поле поиска на панели задач и выберите панель управления диспетчера учетных данных.
- Выберите Учетные данные веб-сайтов или Учетные данные Windows для доступа к учетным данным, которыми вы хотите управлять.

Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.




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