- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- Hashcat
- Справка по Hashcat
- Руководство по Hashcat
- Примеры запуска Hashcat
- Взлом WPA2 WPA рукопожатий с Hashcat
- Установка Hashcat
- Установка Hashcat в другие Linux
- Установка в Windows
- Packages and Binaries:
- hashcat
- hashcat-data
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- hashcat-utils
- Описание hashcat-utils
- Характеристика программ в hashcat-utils
- cap2hccapx
- cleanup-rules
- combinator
- combinator3
- combipow
- ct3_to_ntlm
- deskey_to_ntlm
- expander
- generate-rules
- hcstatgen
- hcstat2gen
- keyspace
- morph
- permute
- permute_exist
- prepare
- remaining
- req-exclude
- req-include
- rules_optimize
- seprule
- splitlen
- strip-bsn
- strip-bsr
- tmesis
- tmesis-dynamic
- topmorph
- Ограничения hashcat-utils
- Примеры использования hashcat-utils
- Установка hashcat-utils
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Hashcat
Hashcat — это самый быстрый в мире восстановитель (взломщик) паролей.
В настоящее время, Hashcat объединила в себе две ранее существовавшие отдельные ветки программы. Одна так и называлась Hashcat, а вторая называлась oclHashcat (а ещё раньше oclHashcat была разделена на собственно oclHashcat и cudaHashcat). В настоящее время абсолютно все версии слиты в одну, которая при восстановлении паролей использует центральный процессор и видеокарту.
- Самый быстрый в мире взломщик
- Первый и единственный в мире внутриядерный движок правил
- Бесплатная
- Открытый исходный код (лицензия MIT)
- Мультиплатформенная (Linux, Windows и OSX)
- Мультиплатформенная (CPU, GPU, DSP, FPGA и т.д., всё, что поставляется со средой выполнения OpenCL)
- Множество хешей (одновременный взлом множества хешей)
- Задействует несколько устройств (использует множество устройств на одной системе)
- Задействует устройства разных типов (использует устройства разных типов на одной системе)
- Поддержка распределённых систем взлома (с помощью дополнительного сегмента)
- Поддерживает распределённый взлом по сети (используя оверлей)
- Интерактивная поддержка паузы / возобновления
- Поддержка сессий
- Поддержка восстановления
- Поддержка чтения кандидатов в пароли из файла и стандартного ввода
- Поддержка шестнадцатеричных солей и шестнадцатеричных наборов символов
- Поддержка автоматической тонкой настройки производительности
- Поддержка автоматического поорядка пространства ключей цепей Маркова
- Встроенная система бенчмарков
- Интегрированный тепловой сторож
- 300+ реализованных с мыслью о производительности типов хешей
- … и многое другое
Справка по 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 – выберите «Командная строка») и перетащите туда исполняемый файл.
Либо в открывшемся окне командой строки перейдите в требуемую папку:
Источник
Packages and Binaries:
hashcat
Hashcat supports five unique modes of attack for over 300 highly-optimized hashing algorithms. hashcat currently supports CPUs, GPUs, and other hardware accelerators on Linux, and has facilities to help enable distributed password cracking.
Examples of hashcat supported hashing algorithms are: MD5, HMAC-MD5, SHA1, HMAC-SHA1, MySQL323, MySQL4.1/MySQL5, phpass, MD5(WordPress), MD5(phpBB3), MD5(Joomla), md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS, MD4, NTLM, Domain Cached Credentials (DCC), MS Cache, SHA256, HMAC-SHA256, md5apr1, MD5(APR), Apache MD5, SHA512, HMAC-SHA512, Cisco-PIX, Cisco-ASA, WPA/WPA2, Double MD5, bcrypt, Blowfish(OpenBSD), MD5(Sun), Double SHA1, SHA-3(Keccak),Half MD5, Password Safe SHA-256, IKE-PSK MD5, IKE-PSK SHA1, NetNTLMv1-VANILLA/NetNTLMv1-ESS, NetNTLMv2, Cisco-IOS SHA256, Android PIN, AIX
Hashcat offers multiple attack modes for obtaining effective and complex coverage over a hash’s keyspace. These modes are:
- Brute-Force attack
- Combinator attack
- Dictionary attack
- Fingerprint attack
- Hybrid attack
- Mask attack
- Permutation attack
- Rule-based attack
- Table-Lookup attack
- Toggle-Case attack
- PRINCE attack
Installed size: 29.01 MB
How to install: sudo apt install hashcat
- hashcat-data
- libc6
- libminizip1
- libxxhash0
- pocl-opencl-icd | opencl-icd
- zlib1g
hashcat
Advanced CPU-based password recovery utility
hashcat-data
Hashcat is an advanced CPU/GPU-based password recovery utility supporting seven unique modes of attack for over 100 optimized hashing algorithms.
This package contains the data files for hashcat, including charsets, rules, salts, and tables.
Installed size: 23.91 MB
How to install: sudo apt install hashcat-data
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
hashcat-utils
Описание hashcat-utils
Hashcat-utils — это набор маленьких утилит, которые полезны для продвинутого взлома паролей.
Они все упакованы во множество отдельных исполнимых файлов.
Каждая из этих утилит создана для выполнения только одной определённой функци.
Поскольку они все работают с STDIN (стандартным вводом) и STDOUT (стандартным выводом) вы можете группировать их в цепи.
Характеристика программ в hashcat-utils
cap2hccapx
Инструмент используется для генерации файлов .hccapx из файлов сетевого захвата (.cap или .pcap) для взлома WPA/WPA2 аутентификаций. Файлы .hccapx используются как ввод для типа хеша -m 2500 = WPA/WPA2.
Дополнительные опции позволяют вам указать имя сети (ESSID) для фильтрации нежелательных сетей и для предоставления cap2hccapx подсказки о имени сети (ESSID) и MAC адресе точки доступа (BSSID) если не было захвачено маячков (beacon).
cleanup-rules
Отделяет правила из STDIN (стандартного ввода), которые не совместимы со специфичной платформой.
… где mode это 1 = CPU, 2 = GPU.
combinator
Эта программа является самостоятельной реализацией Комбинаторной атаки.
Каждое слово из file2 добавляется к каждому слову из file1, а затем выводится в стандартный вывод.
Поскольку программе требуется перематывать файлы множество раз, нельзя воспользоваться стандартным вводом — требуются реальные файлы.
Другим вариантом могло бы быть сохранение содержимого обоих файлов в оперативной памяти. Поскольку при взломе хешей мы обычно работаем с огромными файлами, то результатом этого были бы соответствующие требования к оперативной памяти.
Дополнительные примеры смотрите в раздел Комбинаторная атака.
combinator3
Похожа на combinatory, но принимает на входе три файла, на выходе создаёт комбинации всех трёх списков.
combipow
Создаёт все “уникальные комбинации” из короткого списка ввода.
ct3_to_ntlm
Имеется две различных версии NetNTLMv1 – одна с ESS, а другая – без.
Если у вас нет ESS:
Вы можете использовать это примерно так:
Если у вас есть ESS:
Обсуждение на форуме здесь.
Эта программа (она появилась в hashcat-utils-0.6) создана для обрезки словаря (читает из стандартного ввода) для использования в комбинаторной атаке. Предположим, что пароли в какой-то подборке имеют общий заполнитель длины в начале или конце слов. Эта программа отсечёт префикс или суффикс конкретной длины от существующих слов в списке и выдаст полученный результат в стандартный вывод.
Примерный файл словаря:
Пример положительного смещения и фиксированной длинный (первые 4 символа):
Пример положительного смещения без длины (возвращает оставшиеся символы в строке):
Пример отрицательного смещения (последние 4 символа в строке):
Пример отрицательного смещения, фиксированная длина:
Не забудьте запустить sort -u для вывода перед использованием его в атаке!
deskey_to_ntlm
Объявление на форуме и обсуждение здесь.
expander
У этой программы нет параметров для настройки.
Каждое слово, поступившее из стандартного ввода, парсится и разделяется на его отдельные символы, которые перемешиваются и объединяются для составления новых слов, выдаваемых в стандартный вывод.
Есть несколько реконструкций, которые генерируют все возможные шаблоны входного слова с применением следующие итерации:
- Все возможные длины паттернов внутри максимума из 7 символов (определяются в LEN_MAX, значение которой можно увеличить в исходном коде).
- Все возможные смещения слова.
- Перемещение слова вправо до полного цикла.
- Перемещение слова влево до полного цикла.
Важно: убедитесь, что вы уникализировали последующую выдачу.
Эта программа является сердцем Атаки по отпечаткам.
Каждый словарь, приходящий в стандартный ввод, парсится и расщепляется на равные секции, а затем выходит через стандартный вывод. Возможно разбитие на неравные части — в соответствии с переданными параметрами. Причиной расщепления может быть распределённое вычисление по полученным словарям.
Например, если у вас i7 CPU и вы хотите использовать ваш словарь с программой, которая не может использовать множество ядер, вы можете расщепить словарь на несколько меньших частей и затем запустить несколько экземпляров этой программы.
Здесь присутствуют два важный параметра “режим” и “сдвиг”.
- Значение «режим» — это число раз, на которое вы хотите расщепить ваш словарь.
- Значение «сдвиг» — это с какой позиции нужно начинать..
Вот пример словаря для ввода:
Мы хотим разделить словарь на два равных словаря:
generate-rules
Отдельная утилита для генерации случайных правил.
Эта команда сгенерирует 10 случайных правил, используя “42” в качестве seed:
hcstatgen
Инструмент используется для генерации файлов .hcstat которые используются в statsprocessor.
ПРИМЕЧАНИЕ. Вывод, сгенерированный hcstatgen, больше не поддерживается текущим hashcat и не поддерживает более длинные пароли (до длины 256). Вместо этого используйте hcstat2gen.
Особо здесь нечего добавить. Каждый выходной файл будет иметь размер ровно 32.1 мегабайт.
Также смотрите hcstat2gen.
hcstat2gen
Инструмент для создания пользовательской статистики Маркова для использования (после сжатия LZMA) с параметром hashcat —markov-hcstat (скоро будет —markov-hcstat2).
hcstat2gen похож на своего предшественника hcstatgen, но обновляется синхронно с hashcat 4.0 для поддержки максимальной длины пароля до 256 (а также добавлен заголовок типа файла).
Для экономии места hashcat теперь ожидает, что файлы hcstat2 будут сжаты как LZMA. Если файл не сжат, вы увидите ошибку «Не удалось распаковать данные».
Пример общего использования:
Если ваша lzma не поддерживает —stdout, попробуйте:
Каждый исходный файл должен быть размером около 132 МБ (с переменным размером после сжатия).
Обратите внимание, что этот новый формат ещё не поддерживается обработчиком статистики.
Смотрите также hcstatgen.
keyspace
Расчитывает пространство ключей в манере hashcat.
Каждое слово, входящее в стандартный ввод парсится по длине и проходит в стандартный вывод если оно соответствуют заданному диапазону длины слова.
Это пример входного словаря:
Мы хотим только те слова, которые имеют длину 2, 3 или 4:
Объединяет два списка.
Как и rli2, два списка должны быть отсортированы (в LC_ALL=C порядке).
Если вы используете mli2 на не рассортированных списках, вы получите несвязанные результаты.
Если вы используете mli2 на сортированных, но не уникализированных списках, вы получите отсортированные, но не уникализированные результаты.
morph
По сути morph генерирует правила вставки для самых частых цепей символов по позиции из файла словаря который вы указываете.
— Словарь = Используемый словарь для частотного анализа.
— Depth = Определяет «верхушку» цепи, которую вы хотите. Например, 10 даст вам верх 10 (фактически началом окажется величина 0, поэтому 10 даст верхушку 11.
— Width = Максимальная длина цепи. С 3, например, вы получите 3 правила на строку для самой длинной 3 буквенной цепи.
— pos_min = Минимальная позиция, где будет сгенерировано правило вставки. Например, 5 будет означать делать правило для вставки строки только с позиции 5 и выше.
-pos_max = Максимальная позиция, где будет сгенерировано правило вставки. Например, 10 будет означать, что будет сделано правило вставки строки так, что оно заканчивается в максимум 10 позиции.
permute
Эта программа является самостоятельной реализации Перестановочной атаки.
Она не имеет параметров для настройки.
Каждое слово поступающие в стандартный ввод парсится и пропускается через “The Countdown QuickPerm Algorithm” от Phillip Paul Fuchs.
permute_exist
prepare
Эта программа сделана оптимизатором словаря для Перестановочной атаки.
Из-за природы самого перестановочного алгоритма, слова на вводе “BCA” и “CAB” создадут в точности одинаковых кандидатов в пароли.
Лучший способ отсортировать «дубли» — реконструировать вводимое слово изменением порядка по ASCII значению каждого символа в слове:
Далее мы можем безопасно выполнить sort -u:
Отсортировано 4968640 слов (34.6%) которые воспроизвели бы дубли в Перестановочной атаке.
remaining
req был заменён на req-include и req-exclude, описанные ниже.
req-exclude
Как req-include, но исключает слова, соответствующие определенным критериям.
req-include
Каждое слово поступающее в стандартный ввод и выходит в стандартный вывод если соответствует групповому критерию пароля.
Иногда вы знаете, чтобы удовлетворить политике паролей некоторые пароли должны включать символы нижнего регистра, верхнего регистра и цифры.
Это означает проверку паролей, которые не соответствуют политике и определённо не принесут результата во взломе пароля. Поэтому их можно пропустить.
Программа не очень сложная, и она не может полностью соответствовать всем популярным критериям политике паролей, но она даёт немного помощи.
Определены следующие группы паролей:
Имя | Пункт | Символы |
---|---|---|
МАЛЕНЬКАЯ | 1 | abcdefghijklmnoprstuvwxyz |
БОЛЬШАЯ | 2 | ABCDEFGHIJKLMNOPRSTUVWXYZ |
ЦИФРА | 4 | 0123465789 |
ДРУГОЕ | 8 | Всё остальное, не соответствующее тому, что указано выше |
Для настройки группы паролей из одиночных записей, просто добавьте номера элементов всех отдельных записей вместе.
Например, если вы хотите чтобы в стандартный вывод проходили только слова, которые имеют одну маленькую букву и одну цифру, то просто найдите в таблице «МАЛЕНЬКАЯ», её значением является “1”, а затем «ЦИФРА», значение которой “4” и сложите их вместе — получится “5”.
rli сравнивает единичный файл с другим(и) файлом (файлами) и удаляет все дубли:
Допустим, у нас есть два файла w1.txt:
Если мы запустим следующую команду:
OUT_FiLE.txt будет иметь:
Также поддерживается множественность файлов: w3.txt имеет “password” в нём, мы запускаем:
rli может очень пригодиться для очистки ваших словарей и для уникализации их содержимого.
Но размер словаря не может превышать размер памяти вашей машины. Смотрите rli2 ниже для больших файлов.
В отличие от rli, rli2 не ограничена. Но для неё нужно, чтобы входящий файл и файл для удаления были уникализированы до использования с этой программой, в противном случае она не будет работать как доложна.
Например, используя файлы w1.txt and w2.txt files о которых мы говорили выше, если мы запустим:
На выходе мы получим:
Ни какой разницы. Но если мы отсортируем и уникализируем w1.txt и w2.txt так:
Мы сделаем это аккуратно:
Обратите внимание, что rli2 не может обрабатывать множество файлов. И если вы ещё не заметили, rli2 выводит в стандартный вывод, а не в файл. Вы всегда можете передать по трубе (|) выводимые данные или использовать перенаправление стандартного вывода (>) для сохранения в файл.
rules_optimize
seprule
splitlen
Эта программа создана быть оптимизатором словаря для oclHashcat.
oclHashcat имеет очень своеобразную манеру загрузки словарей, в отличие от hashcat. Лучший способ организовать ваши словари для использования с oclHashcat — это отсортировать каждое слово в вашем словаре по их длине в отдельные файлы, в отдельные директории и затем запустить oclHashcat в режиме директорий.
Всё, что вам нужно, это создать новый словарь, например, “ldicts”.
ПРИМЕЧАНИЕ: splitlen не добавляет и не перезаписывает файлы в выходной директории. Поэтому вы должны использовать пустые директории.
strip-bsn
Убирает все \0 байты из стандартного ввода.
strip-bsr
Убирает все \r байты из стандартного ввода.
tmesis
tmesis берёт словарь и производит правила вставки, который вставят каждое слово словаря в предустановленные позиции.
Слово ‘password’ создаст правила вставки, которые вставят ‘password’ с позиции 0 до позиции F (15) и они будут видоизменять строку ‘123456’ следующим образом.
- Используйте tmesis для создания правил атаки списка хешей, полученных из источника. Запустите базовый анализ по взломанным паролям, отберите топовые 10-20 слов (паролей) и используйте tmesis для генерации правил.
- Используйте tmesis для создания правил в комбинации с best64.rules.
- tmesis обрабатывает многобайтовые символы Юникода не как отдельные символы, а как отдельные байты. Это означает, что её также можно использовать для вставки многобайтовых символов.
tmesis-dynamic
tmesis-dynamic примет 2 списка слов и сделает новый, используя определённую пользователем подстановку в качестве «ключа».
Каждое слово словаря 1 которое соответствует определённой пользователем подстроки, заменяет эту подстроку на каждое слово списка слов 2.
Например, эти списки слов:
… создадут следующих кандидатов, когда указан ключ “jack”:
topmorph
Ограничения hashcat-utils
Все программы hashcat-utils разделяют одинаковый движок парсига слов в их входном коде. Этот движок имеет минимальный и максимальный диапазон позволенной длины слов (как в “len”, например).
Смотрите заголовок utils.c:
Вы можете изменить их и затем перекомпилировать hashcat-utils. Тем не менее, во взломе паролей нам обычно не требуются слова большей длины.
Примеры использования hashcat-utils
Конвертировать файл RT-WiFi_96.pcap с захваченным Wi-Fi рукопожатием в хеш для взлома в Hashcat и сохранить этот хеш в файле RT-WiFi_96.hccapx:
Конвертировать четырёх этапное рукопожатие из файла all.pcap для Wi-Fi сети RT-WiFi_96 в хеш для взлома пароля и сохранить его в файле RT-WiFi_96.hccapx:
Для двух сетей с именами RT-WiFi_96 и RT-WiFi_97 извлечь рукопожатия из файла all.pcap и сохранить хеши для взлома в файл 96_97.hccapx:
Обратите внимание, что если вы указываете несколько имён сетей для извлечения рукопожатий, то для второй нужно указывать её BSSID.
Установка hashcat-utils
Установка hashcat-utils в Kali Linux
Программа предустановлена в Kali Linux. Для установки в минимальные версии выполните команду:
Установка hashcat-utils в BlackArch
Программа предустановлена в BlackArch.
Установка hashcat-utils в Linux
После скачивания достаточно распаковать архив и запускать требуемые файлы *.bin.
Либо установить из исходных кодов.
Установка hashcat-utils в Windows
Откройте окно командной строки (Win+x и выберите там «Windows PowerShell»).
Перетащите нужный .exe файл в командную строку и нажмите ENTER.
Источник