Перейти к содержимому

Как получить хэш пароля

  • автор:

Получение хэшей паролей

You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

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

DUMP файл (DUMP file)

Есть несколько сторонних инструментов, которые могут создавать файлы дампа с хешами паролей, например pwdump, pwdump2, pwdump3 и samdump. Файлы, созданные этими инструментами, имеют следующий формат:

PPA может принимать эти типы файлов в качестве входных данных.

Локальный реестр (Local Registry)

Во всех системах, которые не используют Active Directory, хэши паролей хранятся в системном реестре, и программа может извлекать их из реестра, даже если они зашифрованы с помощью SYSKEY.

Файлы реестра (Registry files (SAM, SYSTEM))

Программа может извлекать хэши паролей прямо из файлов реестра: SAM и SYSTEM. Вам нужно будет выбрать эти два файла (или только файл SAM, если это файл из старой NT-системы, которая не использует защиту SYSKEY: в этом случае установите флажок «Не использовать SYSKEY» (Don’t use SYSKEY)). Если SYSKEY был сгенерирован из пароля запуска системы или сохранен на внешнем носителе, вам нужно будет указать этот пароль или внешний носитель, соответственно. Обратите внимание, что с помощью этой функции вы не можете выполнить дамп из файлов SAM и SYSTEM, которые в настоящее время используются (по адресу WINDOWS\SYSTEM32\config), потому что в данный момент они будут заблокированы операционной системой.

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

ОЗУ локального компьютера (Local computer RAM)

Если у вас есть права администратора на машине, на которой вы запускаете PPA, вы можете выгружать хэши паролей из его памяти. Этот метод работает независимо от режима SYSKEY и получает хэши для всех пользователей, включая пользователей Active Directory.

ОЗУ удаленного компьютера (Remote computer RAM)

Этот метод аналогичен предыдущему, но позволяет дампать хэши с любого удаленного компьютера в вашей локальной сети: сервера или рабочей станции, с Active Directory или без нее. Нажмите кнопку «Просмотр» (Browse) и выберите компьютер(-ы), с которых вы хотите сделать дамп хэшей. После получения хэшей паролей PPA покажет следующую информацию:

• Имя пользователя — User name

• ID пользователя — User ID

• Тип хэша — Hash type (LM или LM+NTLM)

• Время аудита — Audit time

• Состояние (отключен или заблокирован) — Status (disabled or locked)

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

Обратите внимание, что для получения хэшей паролей с любого удаленного компьютера PPA должен иметь права администратора на удаленной машине. Сперва он попытается войти в систему с текущими учетными данными (теми, с которыми была запущена программа), затем с сохраненными учетными данными (если есть соответствующая запись), и если эти методы не сработают, он запросит имя пользователя и пароль. Если данный компьютер является контроллером домена, вы должны предоставить учетные данные администратора домена (см. в разделе Системные требования).

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

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

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

• Аккаунты с пустыми паролями

• Учетные записи, которые превышают лимит пробной версии PPA или в соответствии с приобретенной лицензией (эти учетные записи неактивны)

Соответствующее сообщение будет выведено в окне журнала (и в файле журнала) соответственно:

• Пароль пользователя «Гость» пуст, восстановление для этого пользователя недоступно. — Password of user «Guest» is empty, recovery for this user is disabled

• Восстановление для этого пользователя недоступно (номер пользователя 101) — Recovery for this user is disabled (number of user 101)

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

Для использования практически любого ресурса в сети интернет необходим пароль: электронная почта, социальные сети или интернет-банк. В этой статье рассмотрим: как создать надежный пароль? За какое время злоумышленник может подобрать необходимую комбинацию цифр и букв для входа в вашу учетную запись? Расскажем про хеш-функции, а также добавим немного «соли» в наши пароли.

Для начала разберемся с базовыми понятиями.

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

Стойкость пароля — это количество времени, которое необходимо потратить на угадывание или подбор пароля каким-либо методом. Проще говоря — сколько злоумышленник потратит времени на подборку вашего пароля (например, методом простого перебора).

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

Рассмотрим таблицу с количеством возможных вариантов паролей при разных условиях

Чтобы понять, как это работает. Давайте решим задачу.

Злоумышленник может угадывать 1000 паролей в секунду. Сотрудник подразделения меняет пароль раз в 90 дней. Какой минимальной длины должен быть пароль (содержащий верхний/нижний регистр, спецсимволы и цифры), чтобы злоумышленник его не взломал?

Считаем: сколько может угадать паролей злоумышленник за 90 дней.

90 (дни) * 24 (часы) * 60 (минуты) * 60 (секунды) * 1000 (кол-во паролей в секунду) = 7 776 000 000 до истечения срока действия пароля. Из нашей таблицы видно, если использовать все возможные условия, то пароля из 6 символов будет достаточно, до того момента как злоумышленник взломает пароль.

Так каким же должен быть пароль? (Немного о создании)

Пароли могут создаваться автоматически (с использованием генераторов/специализированных программ) или же самим пользователем. И все мы понимаем, что последний вариант самый распространённый. Мы придумываем пароли руководствуясь набором рекомендаций при создании учетной записи сайта или программы. Этими же шаблонами могут воспользоваться и злоумышленники. Кроме того, списки популярных паролей доступны в открытом виде. Списки включают в себя многочисленные словари различных языков, базы данных открытого текста и хешированные пароли от аккаунтов социальных сетей, а также другие общие пароли.

Что такое хешированные пароли? Рассмотрим подробнее.

Сами хешированные пароли не являются уникальными, когда задается одно и то же входное значение, всегда получится одинаковое выходное значение. Если Рома и Наташа выберут NewTechAudit2020 в качестве пароля, то и их хеш будет одинаковым:

Задача на подумать, сложные ли у ребят пароли?

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

Как словарные атаки, так и атаки перебором требуют вычисления хеша в реальном времени. А хорошая хэш-функция пароля работает относительно медленно, это приводит к тому, что в совокупности взлом занимает много времени. Чтобы обойти эту проблему, злоумышленник может воспользоваться радужной таблицей. Радужная таблица — это предварительно вычисленная база данных хешей. Словари и случайные строки запускаются через выбранную хеш-функцию, а отображение ввода/хеша сохраняется в таблице. Затем злоумышленник может просто выполнить обратный поиск пароля, используя хеши из украденной базы данных паролей.

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

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

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

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

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

Допустим, у нас есть пароль NewTechAudit2020 и соль l0veaaaud1t. Мы можем использовать соль одним из следующих образов: добавлением соли справа — NewTechAudit2020l0veaaaud1t или добавлением соли слева — l0veaaaud1tNewTechAudit2020. Как только соль будет добавлена, мы сможем затем захешировать ее. Давайте посмотрим на это на примере с использованием следующего кода Python:

import hashlib salt = “l0veaaaud1t” password = “NewTechAudit2020” salt_password = salt + password password_salt = password +salt hash_1 = hashlib.sha256(salt_password.encode()).hexdigest() hash_2 = hashlib.sha256(password_salt.encode()).hexdigest()

hash_1: e2d71ae71fcbaa8b5c525b5e9449a13a6d0d33dcdf80461be63c3d7cb7f87ff7 hash_2: ef344582eb7e3224141ea661c9d063b5dd199e49f4805ef451782a90dd271c1f

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

Наташа и Рома используют один и тот же пароль NewTechAudit2020. Для Наташи мы будем использовать соль h1m3gaw0rld, а для Ромы мы будем использовать d0kak1nggg в качестве соли.

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

На практике: соль хранится в открытом тексте в базе данных вместе с хешем и именем пользователя, чтобы при входе пользователя в систему находилось его имя, добавлялась соль к предоставленному паролю. Захешировать его, а затем проверять — соответствует ли сохраненный хеш вычисленному хешу.

Итак, каким же идеальный пароль должен быть?

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

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

Взлом хешей с помощью HashCat

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

Hashcat поддерживает:

Также hashcat имеет средства, которые помогают включить распределенный взлом паролей.

HashCat поддерживает следующие режимы атаки:

  • Брутфорс
  • Комбинаторная атака
  • Гибридная атака
  • Атака по Маске
  • Перестановочная атака
  • Атака на основе правил
  • Табличная атака
  • Атака с переключением регистра

С помощью данной команды можно проверить все доступные параметры:

hashcat –h

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

Содержание:

  • MD5-хеши
  • MD5-хеши с солью
  • Хеш-суммы MD5Crypt
  • HMAC-SHA1 key
    • Хеш-суммы SHA-1

    MD5-хеши

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    Команда:

    hashcat -m 0 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 0: режим хеширования MD5
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хэш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    MD5-хеши с солью

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    md5($pass.$salt):
    01dfae6e5d4d90d9892622325959afbe:7050461> hash.txt

    Команда:

    hashcat -m10 -a0 hash.txt passwordlist.txt

    Где:

    • -m 10: режим хеширования MD5 с солью
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хеш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    Хеш-суммы MD5Crypt

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    md5crypt, MD5 (Unix), Cisco-IOS $ 1 $ (MD5)
    $ 1 $ 28772684 $ iEwNOgGugqO9.bIz5sk8k /> hash.txt

    Команда:

    hashcat -m 500 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 500: режим хеширования MD5Crypt Digests
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хэш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    HMAC-SHA1 key

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    HMAC-SHA1 (key = $ pass)
    c898896f3f70f61bc3fb19bef222aa860e5ea717:1234> hash.txt

    Команда:

    hashcat -m150 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 150: режим хеширования ключа HMAC-SHA1
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хеш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    Хеш-суммы SHA-1

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    Команда:

    hashcat -m100 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 100: режим хеширования SHA1
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хэш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    Хеши SHA2–384

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    SHA2-384 07371af1ca1fca7c6941d2399f3610f1e392c56c6d73fddffe38f18c430a2817028dae1ef09ac683b62148a2c8757f42> hash.txt

    Команда:

    hashcat -m 10800 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 10800: SHA-2 режим хеширования
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хеш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    Хеши SHA3–512

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    SHA3–512 7c2dc1d743735d4e069f3bda85b1b7e9172033dfdd8cd599ca094ef8570f3930c3f2c0b7afc8d6152ce4eaad6057a2ff22e71934b3a3dd0fb55a7fc84a53144e >hash.txt

    Команда:

    hashcat -m 17600 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 17600: режим хеширования SHA3–512
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хеш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    NTLM-хеши

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    Команда:

    hashcat -m 1000 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 1000: режим хеширования NTLM
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хэш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    CRC32-хеши

    Убедитесь, что входные хеши имеют совместимый с hashcat формат.

    Пример:

    c762de4a: 00000000> hash.txt

    Команда:

    hashcat -m 11500 -a 0 hash.txt passwordlist.txt

    Где:

    • -m 11500: режим хеширования CRC32
    • -a 0: режим атаки по словарю
    • hash.txt: текстовый файл, содержащий хэш в совместимом формате
    • passwordlist.txt: файл словаря, содержащий пароли в виде простого текста

    Генератор хеша MD5, SHA1, SHA2, SHA3, RIPEMD

    Онлайн генератор получения хеша (Hash generator online) строки текста различных типов и размеров. Наш генератор поддерживает следующие форматы хеша: md5 , sha1 , sha2 , sha3 , ripemd . Также в результате отображается закодированная строка в Base64 .

    Какие алгоритмы поддерживает генератор контрольной суммы?

    Наш генератор поддерживает 7 основных алгоритмов хеширования:

    Также при вводе данных, отображается зашифрованная строка при помощи метода кодирования Base64.

    Для чего получать хеш данных?

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

    Наш генератор хеша поддерживает кодировку ASCII и UTF-8 . Таким образом, у вас есть возможность получать контрольные суммы строки, написанной не только на латинице, но и на кириллице.

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

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