Windows Password Recovery - анализ LSA секретов
LSA секреты - это специальное защищенное хранилище важной информации, которая используется системой Local Security Authority (LSA) в Windows. В секретах могут храниться текстовые пароли пользователей ПК, пароли учетных записей служб (например, требующие запуска в контексте локального пользователя для выполнения определенных задач), пароли Internet Explorer, пароли сетевых подключений RAS, пароли SQL, CISCO, пароли учетной записи SYSTEM, приватные данные пользователя, например, ключи шифрования EFS и многое другое. Например, секрет с именем NL$KM содержит ключ шифрования кэшированных паролей домена, в L$RTMTIMEBOMB хранится время до окончания работы неактивированной копии Windows, и т.д.
WPR плагин для работы с LSA секретами - это небольшая утилита, предназначенная для просмотра, анализа и редактирования секретов LSA. Интерфейс плагина, выполненный в виде Мастера, довольно прост и состоит из трех шагов:
1. Вначале необходимо выбрать тип секретов, с которыми вам предстоит работать. Это могут быть секреты локальной системы, на которой запущена программа, либо секреты другого ПК.
2. При выборе секретов внешнего ПК, вам необходимо указать путь к двум файлам реестра: SYSTEM и SECURITY. В файле SECURITY находятся зашифрованные секреты, а SYSTEM необходим для их расшифровки. Подробнее о шифровании секретов можно ознакомиться в нашей статье. Надо заметить, что в шифровании секретов принимает участие SYSKEY. По умолчанию SYSKEY настроен таким образом, что может быть извлечен из реестра (вот для чего нужен SYSTEM).
В некоторых случаях он может быть настроен иначе: либо храниться на загрузочной дискете, либо генерироваться при вводе пароля во время загрузки операционной системы. Так или иначе, плагин поддерживает все типы шифрования SYSKEY.
Информация, хранимая в секретах, критична для работы всей системы. Поэтому LSA секреты хранятся в двух экземплярах: текущий (активный) и предыдущий (старый). При изменении секрета, происходит следующее: текущий экземпляр откатывается на место старого, а на его место записывается занимает новый, модифицированный секрет. В плагине есть настройка для показа как активных, так и старых секретов.
3. Последний шаг Мастера расшифровывает секреты и отображает их в виде списка. Для того, чтобы показать значение секрета, необходимо щелкнуть мышкой на его имени. Войдите в режим редактирования, дважды щелкнув на одном из символов в поле Hex или Ascii (при этом он должен высветиться желтым цветом), и введите новое значение. В режиме редактирования используйте клавиши управления курсором для перехода к другому символу. Модифицированные значения при этом будут отмечены красным цветом. Для сохранения всех проделанных изменений, щелкните правой кнопкой в поле Hex/Ascii и выберите выберите в меню пункт сохранения.
Учтите, некоторые секреты содержат критическую информацию, поэтому их изменение может привести к нестабильной работе системы или даже к невозможности ее загрузки!
В плагине имеется также возможность добавления или удаления секретов (только для секретов текущей операционной системы). При удалении секрета, не важно, старого или нового, автоматически удаляются оба его экземпляра.
Можно поделиться с разработчиками своими секретами (кнопка Share Names). При этом по электронной почте будут отправлены только имена секретов, без самих данных. Анализ имен секретов поможет нам сделать программу более эффективной.