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

Содержание

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

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

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

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

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

Эти данные использует как сама операционная система, так и приложения, которые знают, как их использовать, например: инструменты, входящие в состав Windows Live Essentials, Microsoft Office, Internet Explorer или приложения для запуска виртуальных машин.

Учетные данные разделены на три категории:

  • «Учетные данные Windows» – используются только Windows и ее службами. К примеру, Windows может использовать эти данные для автоматического входа в общие папки на другом компьютере в вашей сети. Или, для хранения пароля домашней группы, к которой вы присоединены. Пользователь может изменять или удалять такие учетные данные, но это мы затронем в последующих разделах данное статьи.
  • «Учетные данные на основе сертификата» – они используются вместе со смарт-картами, в основном в сложных сетевых бизнес-средах. Большинству из вас никогда не потребуется использовать эти учетные данные и этот раздел на ваших компьютерах будет пуст, но если вы хотите узнать о них больше, почитайте эту статью от Microsoft.
  • «Общие учетные данные» – используются некоторыми программами для получения разрешения на использование определенных ресурсов. Самыми часто используемыми общими учетными данными является Windows Live ID, который используется программами, включенными в пакет Windows Live Security Essentials.

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

«Учетные данные для Интернета» создаются и удаляются через встроенные в Internet Explorer функции для управления паролями. Вы не сможете создавать эти данные через «Диспетчер учетных данных» – можно только просматривать существующие и удалять их.

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

Один из способов открытия «Диспетчера учетных данных»: откройте «Панель управления», затем перейдите в раздел «Учетные записи пользователей и Семейная безопасность», ну а дальше выберите «Диспетчер учетных данных».

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

На большинстве компьютеров с Windows 7 и Windows 8 вы увидите в основном одни и те же учетные данные. Среди наиболее распространенных:

  • Детали для входа в домашнюю группу – здесь хранится имя пользователя (HomeGroupUser$) с паролем для доступа к домашней группе.
  • virtualapp/didlogical – об этих учетных данных известно очень мало. Некоторые говорят, что они используются функциями виртуализации, включенными в Windows 7 и Windows 8.
  • WindowsLive – данные для входа в Windows Live ID.

Добавление учетных данных

Процесс добавления учетных данных очень простой. Во-первых, определитесь с типом учетных данных. Как из трех вам нужен?

Предположим, вы хотите добавить «Учетные данные Windows» для того, чтобы вы могли открывать папки на другом компьютере.

Нажмите на ссылку «добавить учетные данные Windows».

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

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

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

Для удаления учетных данных, сперва найдите их и раскройте, кликнув на их название или на стрелку справа.

Затем нажмите на ссылку «Удалить».

Вас попросят подтвердить удаление. Нажмите на кнопку «Да».

Учетные данные удалены и больше не будут использоваться.

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

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

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

Заключение

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

Источник: https://WindowsTips.ru/dispetcher-uchetnyx-dannyx-mesto-v-kotorom-windows-xranit-paroli-i-drugie-dannye-dlya-vxoda

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

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

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

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

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

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

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

Кроме того, в разделе сетевых паролей находятся и данные для авторизации в интерфейсе удаленных рабочих столов.

Найти месторасположения данных паролей достаточно просто:

  1. Нажмите на «Пуск».
  2. Перейдите в раздел «Панель управления».
  3. Из доступных в меню разделов выберите пункт «Учетные записи пользователей и семейная безопасность».
  4. Переместитесь в раздел «Диспетчер учетных данных».
  5. Ознакомьтесь с учетными данными для «залогиненных» удаленных устройств и серверов.

В данном меню в интерфейсе Windows 7 пользователям предоставляется возможность изменения и просмотра данных для удаленного входа.

Пароли администратора и пользователей ПК

Если же вы желаете узнать, где хранится пароль администратора и пользователей в Windows 7, то ответ на данный вопрос предельно прост – в реестре операционной системы. Однако если говорить о том, чтобы достать эти данные и просмотреть их, то такая возможность для абсолютного большинства юсеров будет недоступной.

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

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

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

  1. Нажмите на ярлык «Компьютер» правой кнопкой мыши, чтобы вызвать контекстное меню проводника.
  2. Выберите параметр «Управление».
  3. Перейдите в раздел «Локальные пользователи и группы», после чего сразу выберите папку «Пользователи».
  4. Найдите в списке пользователей интересующий вас аккаунт локального юсера компьютера и нажмите на него правой кнопкой мыши.
  5. Нажмите на кнопку «Задать пароль».
  6. Введите новый пароль для выбранного аккаунта и продублируйте его в окне ниже для подтверждения.
  7. Нажмите на кнопку «Ок».
  8. Изменения будут сохранены, и с этого момента вход в аккаунт будет осуществляться по новым авторизационным данным.

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

Следующий вопрос, который также систематически возникает у современных пользователей ПК под управлением операционных систем семейства Windows, касается восстановления пароля от Skype.

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

К сожалению, а может и к счастью, разработчики из Microsoft также хорошо поработали и над безопасностью своего мессенджера, в котором узнать пароль не так просто, даже если он сохранен в системе.

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

  1. Разлогиньтесь в Скайпе (выйдите из ПО).
  2. В окне авторизации нажмите на кнопку «Не можете войти в Skype?».
  3. В веб-браузере откроется страница для восстановления доступа к мессенджеру.
  4. Введите в соответствующее поле ваш адрес электронной почты, на который был зарегистрирован аккаунт.
  5. Выберите пункт «Я не помню свой пароль».
  6. Укажите адрес email или контактный номер телефона, подтвердите введенные данные кодом с капча-картинки и нажмите на кнопку «Далее».
  7. Получите письмо с инструкцией дальнейших действий и измените пароль на новый, который вы не забудете (либо запишите его).

Пароли в браузерах на Windows 7

Последний вопрос, который мы хотели сегодня рассмотреть, касается того, где хранятся пароли в «Опере», «Хроме» и «Мозиле» на Windows 7. Это наиболее популярные сегодня веб-браузеры, повсеместно используемые пользователями. Именно поэтому вопрос восстановления и просмотра паролей к различным веб-сервисам является таким актуальным.

Если говорить о браузере от Google, о Chrome, то здесь просмотреть данные обо всех сохраненных паролях очень просто. Для этого следуйте такой инструкции:

  1. Зайдите в настройки браузера.
  2. Спуститесь по списку настроек вниз до пункта «Показать дополнительные настройки» и нажмите на него.
  3. Найдите подкатегорию «Пароли и формы» и нажмите на кнопку «Настроить», находящуюся рядом с предложением о сохранении паролей.
  4. Перед вами откроется список интернет-ресурсов и сохраненных для них учетных данных. Все, что вам требуется – это найти интересующий вас сайт и нажать на кнопку «Показать» в окошке пароля к нему.

Если же вас интересует, где хранятся пароли в «Мозиле» на Windows 7, то здесь инструкция по их поиску выглядит примерно аналогично. С целью получения актуальной информации необходимо выполнить перечень следующих действий:

  1. Зайдите в настройки браузера, нажав соответствующую кнопку в интерфейсе домашней начальной страницы Firefox.
  2. Переместитесь в раздел «Защита».
  3. Нажмите на кнопку «Сохраненные логины».
  4. Нажмите на кнопку «Отобразить пароли».
  5. Подтвердите ваши намерения, нажав на кнопку «Да».
  6. Поле с паролями появится в окне рядом с логинами к каждому из интернет-сервисов.

Нам осталось узнать только то, где хранятся пароли в «Опере» на Windows 7. Для просмотра информации о сохраненных авторизационных данных в этом веб-браузере, необходимо выполнить следующие действий:

  1. Кликните на ярлык «Опера» в верхней части интерфейса браузера.
  2. В отобразившемся меню найдите подпункт «Настройки» и нажмите на него.
  3. В меню настроек найдите и кликните на пункт «Безопасность».
  4. Нажмите на кнопку «Управление сохраненными паролями».
  5. Вы увидите аналогичное меню, которое было отображено в браузере Google Chrome. В нем можно будет найти соответствующий веб-ресурс и просмотреть пароль для него, нажав на кнопку «Показать».

Это была вся информация о том, где хранятся пароли в Windows 7. Мы же советуем вам никогда не забывать авторизационные данные и использовать только надежные коды доступа к системе и веб-ресурсам.

Поделитесь!

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

Источник: https://windows-phone.su/instructions/for-computers/803-gde-hranyatsya-paroli-v-windows-7.html

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

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

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

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

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

Где на компьютере хранятся пароли: общая информация

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

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

В каком виде и где хранятся сохраненные на компьютере пароли, относящиеся ко входу в систему и сетевым настройкам?

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

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

В версии ХР в качестве локации используется папка Credentials, а в «Висте» и выше таким местом выбран подкаталог Random ID.

В ветке реестра HKU локациям файлов паролей соответствуют ключи в виде длинных комбинаций, начинающиеся со значений «S-1-5-21».

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

https://www.youtube.com/watch?v=tysZG5lEYYE

Для администраторских паролей входа в систему можно обратить внимание на раздел реестра SAM.

Для VPN- и Dial-Up-подключений в ветке реестра HKLM имеются разделы Secrets и SECURITY с ключами вроде RasDialParams, но и они ровным счетом никакой особой информации обычному юзеру не дают.

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

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

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

Установленное приложение хранит пользовательскую комбинаций в специальном XML-файле, где паролю соответствует значение хэша (). Да, но здесь пароль представлен в 16-ричном виде и просто так просмотреть его не получится. Поэтому для таких целей необходимо использовать HEX-редактор. Но и применение таких утилит без соответствующих знаний результата может не дать.

Просмотр паролей в браузерах

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

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

Специализированные программы для «вытаскивания» всех вводимых паролей

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

Для выполнения таких операций в самих Windows-системах средств нет, зато без проблем можно воспользоваться всевозможным и сторонними программами наподобие Password Recovery Tool, PSexec, входящей в состав пакета PSTools, PasswordSpy или аналогичными.

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

Послесловие

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

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

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

Источник: https://FB.ru/article/431750/gde-na-kompyutere-hranyatsya-paroli-i-kak-ih-prosmotret-v-sluchae-neobhodimosti

Хранение и шифрование паролей Microsoft Windows

Где в виндовс хранятся пароли
Про взлом паролей windows было написано немало статей, но все они сводились к использованию какого-либо софта, либо поверхностно описывали способы шифрования LM и NT, и совсем поверхностно описывали syskey.

Я попытаюсь исправить этот неодостаток, описав все подробности о том где находятся пароли, в каком виде, и как их преобразует утилита syskey.

Существует 2 возможности получения пароля — через реестр, или получив прямой доступ к файлам-кустам реестра.

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

Здесь я не буду описывать возможности получения доступа, но в целях исследования нагляднее будет выбрать первый вариант, это позволит не заострять внимание на структуре куста реестра. А запуститься от системы нам поможет утилита psExec от sysinternals. Конечно, для этих целей можно использовать уязвимости windows, но статья не об этом.

V-блок

Windows до версии Vista по умолчанию хранила пароль в двух разных хэшах — LM и NT. В висте и выше LM-хэш не хранится. Для начала посмотрим где искать эти хэши, а потом разберемся что из себя они представляют.

Пароли пользователей, а так же много другой полезной информации хранится в реестре по адресу HKLM\SAM\SAM\Domains\Account\users\[RID]\V

, известном как V-блок. Раздел SAM находится в соответствующем файле c:\Windows\System32\config\SAM. RID — уникальный идентификатор пользователя, его можно узнать, например заглянув в ветку HKLM\SAM\SAM\Domains\Account\usersames\ (параметр Default, поле — тип параметра). Например, RID учетной записи «Администратор» всегда 500 (0x1F4), а пользователя «Гость» — 501 (0x1f5). Доступ к разделу SAM по умолчанию возможен только пользователю SYSTEM, но если очень хочется посмотреть — запускаем regedit c правами системы:

PsExec.exe -s -i -d regedit.

Чтобы наблюдать V-блок в удобном виде можно, например, экспортировать его в текстовый файл (File-Export в Regedit). Вот что мы там увидим: От 0x0 до 0xCC располагаются адреса всех данных, которые находятся в V-блоке, их размеры и некоторая дополнительная информация о данных. Чтобы получить реальный адрес надо к тому адресу, что найдем прибавить 0xCC. Адреса и размеры хранятся по принципу BIG ENDIAN, т.е понадобится инвертировать байты. На каждый параметр отводится по 4 байта, но фактически все параметры умещаются в одном-двух байтах. Вот где искать: Адрес имени пользователя — 0xС Длина имени пользователя — 0x10 Адрес LM-хэша — 0x9с Длина LM-хэша — 0xa0 Адрес NT-хэша — 0xa8 длина NT-хэша — 0xac В данном случае имя пользователя найдется по смещению 0xd4 + 0xcc и его длина будет 0xc байт. NT-хэш будет располагаться по смещению 0x12c + 0xcc и его размер (всегда один и тот же) = 0x14. Еще одна деталь, касающаяся хранения паролей — как к NT- так и к LM-хэшу всегда добавляются спереди 4 байта, назначение которых для меня загадка. Причем 4байта будут присутствовать даже если пароль отключен. В данном случае видно, что длина LM хэша =4 и если посмотреть на его адрес, можно эти 4 байта увидеть несмотря на то что никакого LM-хэша нет. Поэтому при поиске смещений хэшей смело прибавляем 4 байта к адресу, а при учете размеров — вычитаем. Если удобнее читать код — вот примерно так будет выглядеть поиск адресов с учетом инверсии, лишних четырех байтов и прибавления стартового смещения 0xcc (код C#)

int lmhashOffset = userVblock[0x9c] + userVblock[0x9d] * 0x100 + 4 + 0xcc; int nthashOffset = userVblock[0xa8] + userVblock[0xa9] * 0x100 + 4 + 0xcc; int lmhashSize = userVblock[0xa0] + userVblock[0xa1] * 0x100 – 4; int nthashSize = userVblock[0xac] + userVblock[0xad] * 0x100 – 4; int usernameOffset = userVblock[0xc] + userVblock[0xd] * 0x100 + 0xcc;

int usernameLen = userVblock[0x10] + userVblock[0x1a] * 0x100;

userVblock — значение HKLM\SAM\SAM\Domains\Account\users\\V в виде массива байт.

Еще про V-блок можно почитать тут.

Алгоритмы

Теперь разберемся в алгоритмах шифрования.

Формирование NT-хэша:

1. Пароль пользователя преобразуется в Unicode-строку. 2. Генерируется MD4-хэш на основе данной строки. 3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.

Формирование LM-хэша:

1. Пароль пользователя преобразуется в верхний регистр и дополняется нулями до длины 14 байт. 2. Полученная строка делится на две половинки по 7 байт и каждая из них по отдельности шифруется алгоритмом DES. В итоге получаем хэш длиной 16 байт (состоящий из двух независимых половинок длиной по 8 байт). 3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.

4. В windows 2000 и выше оба полученых хэша дополнительно шифруются алоритмом RC4 с помощью ключа, известного как «системный ключ» или bootkey, сгенерированого утилитой syskey, и шифруются довольно хитрым образом.

Рассмотрим общую последовательность действий для получения исходного пароля и каждый шаг в отдельности 1. Получаем bootkey, генерируем на его основе ключи для RC4, расшифровываем хэши с помощью RC4 2. Получаем ключи для DES из RID'ов пользователей, расшифровываем хэши DES'ом 3. Полученые хэши атакуем перебором.

Bootkey

Системный ключ (bootkey) разбит на 4 части и лежит в следующих разделах реестра:

HKLM\System\CurrentControlSet\Control\Lsa\JD HKLM\System\CurrentControlSet\Control\Lsa\Skew1 HKLM\System\CurrentControlSet\Control\Lsa\GBG

HKLM\System\CurrentControlSet\Control\Lsa\Data

Раздел system находится в файле c:\Windows\System32\config\system Следует отметить, что раздел CurrentControlSet является ссылкой на один из разделов controlset и создается в момент загрузки системы. Это значит что не получится его найти в файле system, если система неактивна. Если вы решили искать ключ в файле — необходимо узнать значение ContolSet по умолчанию в HKLM\SYSTEM\Select\default.

например если HKLM\SYSTEM\Select\default = 1 — вместо HKLM\System\CurrentControlSet\ ищем в HKLM\System\controlset001\

У каждого ключа реестра есть некий скрытый атрибут, известный как «class». Regedit его так просто не покажет, однако его можно увидеть, например, если экспортировать эти ключи реестра в текстовые файлы. В winapi для получения этого атрибута есть функция RegQueryInfoKey.

Фрагменты хранятся в строковом представлении шестнадцатеричных чисел, причем по принципу BIG ENDIAN (т.е не строка задом наперед, а число). Например мы обнаружили вот такие записи:

Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\JD Class Name: 46003cdb = {0xdb,0x3c,0x00,0x46} Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Skew1 Class Name: e0387d24 = {0x24,0x7d,0x38,0xe0} Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\GBG Class Name: 4d183449 = {0x49,0x34,0x18,0x4d} Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Data

Class Name: 0419ed03 = {0x03,0xed,0x19,0x04}

Собраный из четырех частей ключ будет массивом байт:

scrambled_key = {0xdb,0x3c,0x00,0x46,0x24,0x7d,0x38,0xe0,0x49,0x34,0x18,0x4d,0x03,0xed,0x19,0x04};

Далее элементы этого массива переставляются на основе некоторого константного массива p

int[] p = { 0xb, 0x6, 0x7, 0x1, 0x8, 0xa, 0xe, 0x0, 0x3, 0x5, 0x2, 0xf, 0xd, 0x9, 0xc, 0x4 };

Элементы в этом массиве определяют позиции для перестановок, т.е.

key[i] = scrambled_key[p[i]];

В нашем примере получится массив:

key[] = {0x4d,0x38,0xe0,0x3c,0x49,0x18,0x19,0xdb,0x46,0x7d,0x00,0x04,0xed,0x34,0x03,0x24 };

этот массив и есть так называемый bootkey. Только в шифровании паролей будет учавствовать не он а некий хэш на основе bootkey, фрагментов f-блока и некоторых констант. Назовем его Hashed bootkey.

Hashed bootkey

для получения Hashed bootkey нам понадобятся 2 строковые константы (ASCII):

string aqwerty = “!@#$%&*()qwertyUIOPAzxcvbnmQQQQQQQQQQQQ)(*@&%\0”;
string anum = “0123456789012345678901234567890123456789\0”;

Также понадобится F-блок пользователя (HKLM\SAM\SAM\Domains\Account\users\\F), а именно его 16 байт: F[0x70:0x80] На основе этих значений, склееных в один большой массив формируем MD5 хэш, который будет являться ключем для шифрования RC4

rc4_key = MD5(F[0x70:0x80] + aqwerty + bootkey + anum).

Последним шагом для получения hashed bootkey будет rc4 шифрование( или дешифрование — в rc4 это одна и та же функция) полученым ключем фрагмента F-блока F[0x80:0xA0];

hashedBootkey = RC4(rc4_key,F[0x80:0xA0])

Hashed bootkey у нас в руках, осталось научиться с ним правильно обращаться.

Дешифруем пароли с помощью Hashed Bootkey

для паролей LM и NT нам понадобятся еще 2 строковые константы —

string almpassword = “LMPASSWORD”;
string antpassword = “NTPASSWORD”;

а так же RID пользователя в виде 4х байт (дополненый нулями) и первая половина Hashed Bootkey (hashedBootkey[0x0:0x10]);

Все это склеивается в один массив байт и считается MD5 по правилам:

rc4_key_lm = MD5(hbootkey[0x0:0x10] +RID + almpassword);
rc4_key_nt = MD5(hbootkey[0x0:0x10] +RID + antpassword);

полученый md5 хэш — ключ для rc4, которым зашифрованы LM и NT хэши в V-блоке пользователя

userLMpass = RC4(rc4_key_lm,userSyskeyLMpass); userNTpass = RC4(rc4_key_lm,userSyskeyNTpass);

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

DES

На основе четырех байт RID'а пользователя с помощью некоторых перестановок и побитовых операций создаем 2 ключа DES.

Вот функции, которые осуществляют обфускацию (С#):

private byte[] str_to_key(byte[] str) { byte[] key = new byte[8]; key[0] = (byte)(str[0] >> 1); key[1] = (byte)(((str[0] & 0x01) > 2)); key[2] = (byte)(((str[1] & 0x03) > 3)); key[3] = (byte)(((str[2] & 0x07) > 4)); key[4] = (byte)(((str[3] & 0x0F) > 5)); key[5] = (byte)(((str[4] & 0x1F) > 6)); key[6] = (byte)(((str[5] & 0x3F) > 7)); key[7] = (byte)(str[6] & 0x7F); for (int i = 0; i < 8; i++) { key[i] = (byte)(key[i]

Источник: https://habr.com/ru/post/114150/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.