Hashcat
Hashcat | |
---|---|
Тип | Взлом пароля |
Разработчик | Jens 'atom' Steube |
Написана на | Си |
Операционные системы | Linux, macOS, Windows |
Последняя версия | 6.2.6 / 2 сентября 2022 |
Репозиторий | github.com/hashcat/hashc… |
Лицензия | MIT License |
Сайт | hashcat.net/hashcat/ |
Hashcat — это, по словам создателей, самый быстрый в мире инструмент для восстановления паролей. До 2016 года программа была проприетарной, но теперь выпускается как свободное программное обеспечение. Версии доступны для Linux, macOS и Windows и могут быть представлены в вариантах на базе CPU или GPU. Примерами алгоритмов хеширования, поддерживаемых хеш-кэтами, являются хеши Microsoft LM, MD4, MD5, семейство SHA, форматы Unix Crypt, MySQL и Cisco PIX.
Hashcat стал популярным благодаря найденным его создателем недостаткам в других программах, использующих шифрование данных. Например, была обнаружена ошибка в схеме хеширования менеджера паролей 1Password, которая позволяла подбирать мастер-пароли[1][2]. На данный момент Hashcat активно используется для подбора WPA/WPA2 паролей, взлома паролей от документов MS Office, PDF, 7-Zip, RAR, TrueCrypt. Активное развитие и использование Hashcat в качестве утилиты для взлома паролей заставляет разработчиков задумываться о безопасности создаваемых ими систем[3].
Версии
[править | править код]Раньше Hashcat выпускался в двух версиях:
- hashcat — инструмент для восстановления пароля на базе процессора
- oclHashcat / cudaHashcat — инструмент с графическим ускорением (OpenCL или CUDA)
С выпуском hashcat v3.00 инструменты GPU и CPU были объединены в один инструмент под названием hashcat v3.00.[4] Версия, предназначенная только для процессора, получила название hashcat-legacy. И CPU, и GPU теперь используют OpenCL.
Многие из алгоритмов, поддерживаемых hashcat-legacy, могут быть взломаны за более короткое время с помощью хорошо документированного ускорения за счёт графического процессора (GPU), используемого в oclHashcat, cudaHashcat и hashcat v3.00 (например, MD5, SHA1 и другие). Однако не все алгоритмы могут быть ускорены за счёт использования графических процессоров (например, bcrypt), поэтому oclHashcat/cudaHashcat не может считаться полноценной заменой для hashcat-legacy.
На данный момент hashcat доступен для macOS, Windows и Linux с GPU, CPU и общей поддержкой OpenCL, что позволяет использовать FPGA и другие ускорительные карты.
Принцип работы
[править | править код]Принцип работы всех программ, позволяющих взламывать пароли, практически одинаковый. Утилиты различаются разве что скоростью перебора пробных паролей, в них могут быть реализованы и разные алгоритмы генерации пробных паролей (типы атак). Основная идея состоит в том, чтобы по заранее заданному подмножеству букв/слов (так называемый словарь) осуществлять быстрый перебор комбинаций. От каждой комбинации вычисляется хеш и сравнивается с оригинальным. В случае совпадения пароль считается взломанным. В случае с Hashcat подбор рекомендуется производить на GPU, так как графический процессор способен перебирать комбинации значительно быстрее.
Типы атак
[править | править код]Hashcat предполагает использование различных типов атак для достижения эффективного покрытия всевозможных хешей:
- Атака «грубой силой» (Brute-force attack)
- Атака по маске (Mask attack)
- Идея состоит в том, чтобы с помощью частотного словаря (наиболее употребляемые пароли) построить маску и тем самым сократить количество комбинаций.
- Например, достаточно стандартной являются комбинации с заглавной первой буквой и цифрами на конце (Julia1983). В случае обычного перебора количество комбинаций равняется комбинаций, что заняло бы чуть более чем 4 года на обычной для современного GPU скорости (100 Мега-хешей в секунду)
- Используя стандартную для многих людей маску (заглавная буква в начале и год в конце), подобный пароль можно было бы перебрать за комбинаций, что заняло бы около 40 минут на той же скорости GPU.
- Атака перебором всех комбинаций в словаре (Combinator attack)
- Простой перебор по словарю (Dictionary attack)
- Атака по следу (Fingerprint attack)
- Гибридная атака (Hybrid attack)
- Атака перемешиванием (Permutation attack)
- Атака на основе правила (Rule-based attack)
- Наиболее гибкий и эффективный способ. Атака на основе правил похожа на язык программирования, предназначенный для генерации предполагаемых паролей. У этой атаки есть функции для изменения, сокращения или расширения слов, а также условные операторы для пропуска некоторых.
- Атака поиском по таблице (Table-lookup attack), только на CPU
- Атака перебором по заглавным и прописным буквам (Toggle-Case attack)
Традиционная атака «Грубой силой» считается устаревшей, поэтому команда Hashcat рекомендует использовать атаку по маске в качестве полной замены.
Примечания
[править | править код]- ↑ Toward better Master Passwords | 1Password (англ.). 1Password Blog (28 августа 2018). Дата обращения: 13 декабря 2018. Архивировано 13 декабря 2018 года.
- ↑ hashcat. Support added to crack 1Password to oclHashcat-plus, 100% computed on GPU! Plus I found an exploitable design flaw http://hashcat.net/forum/thread-2238.html … (англ.). @hashcat (16 апреля 2013). Дата обращения: 13 декабря 2018. Архивировано 23 августа 2013 года.
- ↑ 1Password hashcat strong master passwords | 1Password (англ.). 1Password Blog (16 марта 2013). Дата обращения: 14 декабря 2018. Архивировано 14 декабря 2018 года.
- ↑ hashcat v3.00 . hashcat.net. Дата обращения: 13 декабря 2018. Архивировано 20 сентября 2018 года.