1. Главная страница » Компьютеры » Hashcat windows как пользоваться

Hashcat windows как пользоваться

Автор: | 16.12.2019

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

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

Какие хэши можно перебрать?

Как я уже говорил, существует несколько алгоритмов хэширования, но сложность перебора каждого из них отличается. Каждый из алгоритмов может иметь коллизии. Это когда для одного хэша можно подобрать несколько различных исходных наборов данных. Самым небезопасным из популярных алгоритмов на данный момент считается md5. Было доказано, что в этом алгоритме можно найти множество коллизий, а это значит, что перебрать значение такого хэша будет намного проще. Алгоритм sha1 тоже имеет коллизии, но их намного сложнее найти, а значит перебор будет ненамного проще. Существования коллизий для Sha2 пока не доказано, но не исключено.

Программа hashcat поддерживает работу с такими алгоритмами хэширования: md5, md5crypt, sha1, sha2, sha256, md4, mysql, sha512, wpa, wpa2, grub2, android, sha256crypt, drupal7, scrypt, django и другими.

Установка hashcat

Если вы используете Windows, то вам достаточно загрузить установщик из официального сайта.

Вам нужно выбрать hashcat binaries нужной версии внизу страницы. В архиве находятся исполняемые файлы для Windows, Linux и MacOS, так что у вас не возникнет проблем. В Linux вы также можете установить утилиту из официальных репозиториев. Например, в Ubuntu команда будет выглядеть вот так:

sudo apt install hashcat

Но это еще не все. Если в вашей системе есть видеокарта, то программа будет использовать ее. И на нее должен быть установлен драйвер, желательно проприетарный. Я не буду на этом останавливаться. Но если видеокарта слабая, то можно использовать процессор. Для этого нужно установить несколько пакетов для работы OpenCL на процессоре. Вот так выглядят команды установки в Ubuntu:

sudo apt install libhwloc-dev ocl-icd-dev ocl-icd-opencl-dev
$ sudo apt install pocl-opencl-icd

Теперь мы можем выполнить тестирование производительности:

Утилита hashcat

Сначала давайте рассмотрим синтаксис и возможные опции утилиты, а потом уже перейдем к ее использованию. Это консольная утилита, поэтому придется использовать ее через терминал. Давайте сначала рассмотрим синтаксис:

$ hashcat опции файл_хэшей словари_и_настройки

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

  • -h — вывести доступные команды и опции;
  • -V — версия программы;
  • -m — тип хэша, который нужно перебрать, например, md5 или sha;
  • -a — вид атаки;
  • -b — запустить тестирование производительности;
  • —hex-salt — указать соль, которая использовалась при хэшировании;
  • —hex-charset — набор символов, для исходных данных;
  • —status — автоматически обновлять состояние подбора;
  • -o — файл для записи результата;
  • -p — символ, которым разделены хэши для перебора;
  • -c — размер кэша для словаря;
  • -n — количество потоков;
  • -l — ограничить количество слов для перебора;
  • -r — файл с правилами генерации вариантов;
  • -D — устройство для перебора, CPU или GPU;
  • —pw-min — минимальная длина варианта, символов;
  • —pw-max — максимальная длина варианта, символов;
  • —table-min — длина пароля для табличной атаки;
  • —table-max — максимальная длина пароля для табличной атаки;
  • —table-file — файл таблицы, для атаки по таблице.

Мы рассмотрели все основные опции, которые сегодня будем использовать. Многие из параметров, например, тип хэша и атаки, задаются в виде цифр. Я не буду рассматривать цифровые коды для типа хэша подробно. Вы можете найти эту информацию, выполнив man hashcat. Рассмотрим типы атак:

  • Straight — обычная атака, берет слова из словаря и проверяет их;
  • Combination — комбинирует слова из словаря в разные комбинации;
  • Toggle-Case — по очереди пробует разный регистр букв для каждого символа слова;
  • Brute-force — атака простым перебором на основе маски или символов;
  • Permutation — при этом типе атаки программа берет слова из словаря и меняет в них буквы местами для получения разных комбинаций;
  • Table-Lookup — Табличная атака, берется одно слово и словаря, а затем на его основе создаются варианты из таблицы. Каждый символ из таблицы будет заменен на набор прописанных вариантов;
  • Prince — новый вид атаки перебора, которая работает быстрее, обычной.
Читайте также:  Https www lkfl nalog ru lk

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

  • ?l = abcdefghijklmnopqrstuvwxyz;
  • ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ;
  • ?d = 0123456789;
  • ?s = !"#$%&'()*+,-./:; ?@[]^_`

;

  • ?a = ?l?u?d?s — любой символ;
  • ?b = 0x00 — 0xff.
  • Теперь мы разобрали все необходимое и можно переходить к практике.

    Как пользоваться Hashcat?

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

    1. Перебор по словарю в Hashcat

    Расшифровка md5 проще всего выполняется по словарю. Поскольку полный перебор занимает очень много времени, то перебрать наиболее часто употребляемые варианты может быть намного быстрее. Для перебора нам понадобится словарь, обычно используется rockyou. Словарь можно скачать командой:

    Теперь нам еще осталось подготовить хэши, которые будем перебирать. Проще всего это сделать с помощью команды Linux md5sum:

    echo -n "password" | md5sum

    Например, создадим три хэша. Затем сложим их в файл

    2ac9cb7dc02b3c0083eb70898e549b63
    5f4dcc3b5aa765d61d8327deb882cf99
    b59c67bf196a4758191e42f76670ceba

    Теперь, когда все собрано, мы готовы к перебору. Команда перебора по словарю будет выглядеть вот так:

    hashcat -m 0 -D 1 -a 0 -t 20

    /rockyou.txt -o data.txt

    Здесь -m 0 указывает на то, что нужно перебирать хэш md5, а -a 0 указывает на использование обычной атаки по словарю. С помощью опции -n мы задаем количество потоков. Опция -D 1 говорит программе, что нужно использовать процессор. Если вам нужна видеокарта hashcat, используйте -D 0.

    Затем, мы указываем файл с хэшами, которые будем перебирать — hashes и словарь. Перебор может занять долгое время, но когда комбинация будет найдена, программа запишет ее в файл data.txt.

    Что касается других алгоритмов, то для них нужно будет указать только другой номер типа хєша. Например, для SHA это будет 100. Чтобы узнать нужный номер вы можете использовать такую команду:

    hashcat —help | grep SHA1

    2. Расшифровка md5 полным перебором

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

    hashcat -m 300 -a 3 -n 32 —custom-charset=?l?d

    Здесь мы просто указали набор символов, буквы в нижнем регистре и цифры, а затем запустили перебор. Также можно указать ограничения на минимальное и максимальное количество символов:

    hashcat -m 0 -a 3 —force -D 1 —potfile-disable —increment-min 5 —increment —increment-max 6 —custom-charset1=?l?d

    Здесь мы говорим программе, что нужно начинать с размера слова 5 символов и завершить размером 6. Также можно использовать маски. Маска позволяет точно указать какой набор символов использовать, в какой последовательности и сколько. Указывать маску нужно на месте словаря. Например, маска слова из четырех цифр будет ?d?d?d?d, а маска из четырех любых цифр, букв разного регистра и специальных символов будет выглядеть ?a?a?a?a. Также можно комбинировать маску с известной частью: abc?a?a. Рассмотрим пример команды:

    hashcat -m 0 -a 3 —force -D 1 —potfile-disable

    Маска уменьшает в разы количество вариантов, тем самым увеличивая скорость. Таким образом, расшифровка хеша md5 длиной 4 символа была выполнена меньше чем за секунду. С помощью следующей команды вы можете проверить не перебирали ли вы раньше эти хэши:

    hashcat -m 0 —show

    Выводы

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

    Список инструментов для тестирования на проникновение и их описание

    Hashcat — это самый быстрый в мире восстановитель (взломщик) паролей.

    В настоящее время, Hashcat объединила в себе две ранее существовавшие отдельные ветки программы. Одна так и называлась Hashcat, а вторая называлась oclHashcat (а ещё раньше oclHashcat была разделена на собственно oclHashcat и cudaHashcat). В настоящее время абсолютно все версии слиты в одну, которая при восстановлении паролей использует центральный процессор и видеокарту.

    • Самый быстрый в мире взломщик
    • Первый и единственный в мире внутриядерный движок правил
    • Бесплатная
    • Открытый исходный код (лицензия MIT)
    • Мультиплатформенная (Linux, Windows и OSX)
    • Мультиплатформенная (CPU, GPU, DSP, FPGA и т.д., всё, что поставляется со средой выполнения OpenCL)
    • Множество хешей (одновременный взлом множества хешей)
    • Задействует несколько устройств (использует множество устройств на одной системе)
    • Задействует устройства разных типов (использует устройства разных типов на одной системе)
    • Поддержка распределённых систем взлома (с помощью дополнительного сегмента)
    • Интерактивная поддержка паузы / возобновления
    • Поддержка сессий
    • Поддержка восстановления
    • Поддержка чтения кандидатов в пароли из файла и стандартного ввода
    • Поддержка шестнадцатеричных солей и шестнадцатеричных наборов символов
    • Поддержка автоматической тонкой настройки производительности
    • Поддержка автоматического поорядка пространства ключей цепей Маркова
    • Встроенная система бенчмарков
    • Интегрированный тепловой сторож
    • 160+ реализованных с мыслью о производительности типов хешей
    • … и многое другое
    Читайте также:  Godox tt600 инструкция на русском

    Справка по Hashcat

    Руководство по Hashcat

    Страница man отсутствует.

    Примеры запуска Hashcat

    Запуск бенчмарка -b

    Взлом WPA2 WPA рукопожатий с Hashcat

    Очистка ваших файлов .cap программой wpaclean

    Конвертируем файл .cap в формат, который будет понятен oclHashcat. Для ручной конвертации .cap используйте следующие команды в Kali Linux.

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

    В моём случае команда выглядит так:

    Конвертация файлов .cap в формат .hccap

    Нам нужно конвертировать этот файл в формат, понятный oclHashcat.

    Для его конвертирования в формат .hccap с помощью aircrack-ng нам нужно использовать опцию -J

    Обратите внимание -J это заглавная J, а не маленькая j.

    В моём случае команда следующая:

    Атака по словарю на рукопожатие:

    Атака брутфорсом на рукопожатие:

    Установка Hashcat

    Программа предустановлена в Kali Linux.

    Установка Hashcat в другие Linux

    Далее перейдите на официальный сайт и скачайте архив.

    Запустите файл hashcat64.bin или hashcat32.bin в зависимости от битности вашей системы.

    Установка в Windows

    Скачайте архив с официального сайта, распакуйте его.

    Для запуска используйте файл hashcat64.exe или hashcat32.exe в зависимости от битности вашей системы.

    Программу нужно запускать в командной строке. Для этого откройте окно командной строки (Win+X – выберите «Командная строка») и перетащите туда исполняемый файл.

    Либо в открывшемся окне командой строки перейдите в требуемую папку:

    Добрый день, Хабрасообщество!

    Что представляет собой пароль

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

    Существуют разные алгоритмы хеширования: MD5, SHA-1, SHA-2 и прочие. Чтобы восстановить пароль из хеша, можно использовать метод перебора. Нам достаточно создавать хеш для каждого возможного пароля и сравнивать его с тем хешем, который нужно расшифровать. Фактически нам нужно взять файл, вытащить из него хеш и расшифровать его программой-взломщиком. Методика извлечения хеша для каждого алгоритма разная, и сложность перебора каждого из них варьируется.

    Как рассчитать сложность перебора? Не вдаваясь глубоко в заковыристый матан, можно сказать, что это зависит как от длины пароля, так и от набора используемых в нем символов:
    например, числовой пароль 0-9 содержит 10 символов. Пятизначный пароль содержит m=5 знаков. Число комбинаций будет P=m^n или 5 в степени 10 — 9765625.

    Если же учитывать латинские символы — большие и маленькие, то это 26*2+10=62 и наше P равно уже 5 в степени 62!

    Я видел, как в течение недели с помощью двух 22-ядерных Xeon восстанавливают пароль к zip. Ни такими ресурсами, ни стольким временем для подбора пароля я не располагал и задумался об использовании в своих целях графического чипа. Вычислительная мощь этих устройств сейчас у всех на слуху. Производители графических ускорителей — AMD и Nvidia. Nvidia обладает CUDA — собственным закрытым API для вычислений на GPU, который по синтетическим тестам на 20% быстрее открытого аналога OpenCL, но не каждая программа обладает SDK к нему. Кроме того, карты Nvidia уступают картам AMD в вычислениях, реализованных на OpenCL. Эта проблема частично лечится свежими драйверами, но разрыв все равно остается. В конечном итоге мы также упремся в количество вычислительных блоков видеокарты.

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

    Инструменты для восстановления пароля

    Hashcat — преемник ранее используемых утилит oclHashcat/cudaHashcat. Заявлен как самый быстрый инструмент для подбора утерянного пароля. Начиная с версии 3.0, поддерживает использование как CPU, так и GPU, но не для всех алгоритмов. Например, с помощью GPU нельзя подобрать пароль к Bcrypt. Зато к MD5 и SHA-1 пароли подбираются довольно быстро. Работает с более чем 200 хешами. По сути, является универсальным кроссплатформенным решением.

    Для получения некоторых из них понадобится утилита ниже:

    John The Ripper — инструмент администратора по восстановлению утерянных паролей — легендарная утилита хак-софта. Популярна из-за поддержки большого количества хешей и их автораспознавания. Поддерживает множество модулей, включая сторонние. John The Ripper даже включен в Kali Linux, но в урезанном виде. Только у этой программы я нашел совершенно необходимые расширения для извлечения хешей из других форматов: zip2john, rar2john, pdf2john.py, pfx2john.exe и много еще чего интересного.

    Cain & Abel — тоже в представлении не нуждается. Программа имеет даже собственный сниффер.

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

    В качестве примера мы используем произвольный архив 7zip. Генерируем архив самостоятельно. 7zip использует алгоритм AES256

    Читайте также:  Amd radeon vega 8 отзывы

    Для восстановления хеша пользуемся утилитой 7z2hashcat. Фактически это скрипт на Perl. Качаем его по ссылке и распаковываем.

    В результате в текстовом файлике увидим искомый хеш. Далее настроим наш Hashcat:

    • Ставим сам продукт
    • Ставим GUI по желанию и для знакомства с программой.
    • Идем на хешкиллер — и забираем оттуда HashcatGUI.
    • Заходим в папку с HashcatGUI, запускаем App.HashcatGUI.exe.
    • При запуске указываем исполняемый файл программы hashcat64.exe или hashcat32.exe в зависимости от разрядности системы

    GUI иногда выдает ошибки и вылетает при завершении поиска. Тем не менее, чекпоинт предусмотрен, мы можем вернуться к последней запущенной сессии и продолжить начатый поиск на вкладке Custom commands & Services.

    Hashcat сам определит все устройства GPU / CPU в компьютере и начнет расшифровку.

    Тестируем возможности программы

    Запускаем Hashchat. Указываем тип хеша как m 11600 (7zip), обновление статуса поиска каждые 60 секунд, выходной файл и маску для поиска.

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

    Итог: в файле E:asus
    esult.txt
    . Пароль 3332221 подобран примерно за 10 секунд.

    Пробуем увеличить длину пароля. Скорость перебора заметно упала — до 635 паролей в секунду.
    Результат: пароль 3334566611 — 10 знаков. Для его восстановления потребовалось около трех минут.

    Усложним задачу. Пароль теперь состоит из букв латинского алфавита и цифр. Длина пароля выросла до 11 знаков. В программе есть ряд опций еще более ускоряющих подбор. Очевидный вариант — подобрать с помощью базы стандартных паролей.

    Ставим словарь HashKiller Passwords. В папке программы уже есть пример — слов так на 1000. Добавляем наш словарик во вкладке «Wordlists & Markov». Скачиваем словарик HashKiller Passwords, а затем извлекаем его, к примеру, в папку Dict.

    Markov является еще одним вариантом комбинированного подбора и имеет отдельный исполняемый файл. https://ru.wikipedia.org/wiki/Цепь_Маркова
    Опция плохо документирована. В справке к GUI для набора символом ?d?l?u (Латинские буквы и цифры) рекомендуется значение 40.

    Также мы используем гибридную атаку. Это поиск слова из словаря с добавлением окончания маски, к примеру, Password113, Qwe1235.

    Также в программе существуют готовые маски в формате .hcmask, которые позволяют перебрать известные паттерны строчка за строчкой. Лишние строки можно комментировать, открыв этот файл Блокнотом. Их также можно использовать как с опцией «инкремент», так и комбинировать со списком слов.

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

    Так называемый перебор по правилам является самой технически сложной атакой и представляет собой язык программирования. По словам разработчиков, такой подход работает быстрее, чем регулярные выражения. Готовые правила уже можно использовать, загрузив их в GUI из каталога rules в Hashchat. С учетом указанных опций за 2,5 часа программа выдала результат.
    Пароль Property123

    Радужные таблицы

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

    На сегодняшний день есть два проекта, поддерживающие различные типы хешей:

    • Rainbowcrack — поддерживает четыре алгоритма хеширования: LN/NTLM, MD5 и SHA-1
    • rcracki_mt или rcracki для Linux -MD4, MD5, DoubleMD5, SHA1, RIPEMD160, MSCACHE, MySQL323, MySQLSHA1, PIX, LMCHALL, HALFLMCHALL, NTLMCHALL, ORACLE

    Заключение

    Не обладая большими вычислительными ресурсами, сегодня все же можно расшифровать даже очень стойкие типы хешей. Учитывая их широкое распространение в качестве стандарта, на данный момент, многие приложения являются уязвимыми априори. Возможно, в ближайшем будущем нас ожидает переход на такие стандарты, как SHA-2 или ГОСТ_Р_34.11-2012. Пока же остается лишь пользоваться общими рекомендациями по генерации паролей:

    • Не использовать общие слова из ежедневного употребления. Их всего-то несколько тысяч.
    • Не использовать слова, после которых стоят цифры или буквенные ряды на клавиатуре. Добавив 1231231 к Qwerty, вы не сделаете пароль более защищенным. Весь словарь и маски можно перебрать за полдня.
    • Стандартные комбинации удваивания слов и т.д. легко разбираются правилами подбора, которые ориентированы на такие приемы.
    • Не использовать личную информацию. В нашем мире слишком много информации в общем публичном доступе.

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

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