Hashcat cpu only windows

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

hashcat + oclHashcat = hashcat

Почему пропал oclHashcat?

Для тех, у кого нет времени читать всё, теперь функциональность hashcat и oclHashcat слита в одну программу, которая называется hashcat.

Все мы знаем, что hashcat существовала в двух версиях:

  • Одна, которая использовала CPU (центральный процессор) – это hashcat
  • Вторая, которая использовала GPU (графический процессор) – это oclHashcat

Автор hashcat уже много лет планировал это слияние. Оно стало возможным после таких шагов как:

  • Открытие исходных кодов, что дало возможность использовать компилятор JIT.
  • Поставка ядер OpenCL в виде исходников, а не бинарников для каждого оборудования и алгоритма.
  • Полная интеграция с устройствами OpenCL.
  • Полностью переписанная с нуля обработка SIMD.

Последнее было важно для внедрения использования специфических CPU расширений (вроде XOP, AVX2 и т.д.) в рамках OpenCL. Это также оказало положительный сторонний эффект на GPU, поскольку это уменьшило количество регистров, требуемых в ядре до 1/N-ная от требуемых ранее регистров, где N – это ширина SIMD при которой работает хэш-режим.

Вот несколько преимуществ объединённого инструмента:

  • Поддержка хэшей теперь синхронизирована. Например, oclHashcat имел поддержку взлома контейнеров TrueCrypt, а hashcat – нет.
  • Теперь синхронизирована поддержка опций. Например, hashcat имел поддержку для —stdout, а oclHashcat – нет.
  • Больше не нужно знать все специфические ограничения, которые имели обе программы. Например, максимальную длинную поддерживаемого пароля и соли.
  • Инструкции и видео, в которых из которых говориться о hashcat, а в некоторых о oclHashcat – могут запутать новичков.
  • Разработчикам больше не нужно обратно портировать хеш-режимы из hashcat в oclHashcat и в противоположную сторону. Это означает, что больше никаких ожиданий появления алгоритма из одной версии в другую, вы будете способны немедленно использовать оба алгоритма в CPU и/или GPU.
  • Координаторы пакетов могут также намного проще интегрировать hashcat в распространяемые пакеты.
  • Единый инструмент означает меньше зависимостей. Это может означать, что вы в ближайшем будущем увидите больше пакетов, предназначенных для конкретных дистрибутивов.
  • Теперь просто короче и проще говорить «hashcat».

Кстати, чтобы не путать старую версию hashcat CPU, она теперь переименована в hashcat-legacy.

Новые добавленный хеш-режимы

  • ArubaOS
  • Android FDE (Samsung DEK)
  • RAR5
  • Kerberos 5 TGS-REP etype 23
  • AxCrypt
  • AxCrypt в памяти SHA1
  • Keepass 1 (AES/Twofish) и Keepass 2 (AES)
  • PeopleSoft PS_TOKEN
  • WinZip
  • VeraCrypt
  • Windows 8+ phone PIN/Пароль

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

Совместимость oclHashcat была ограничена двумя производителями: AMD и NVidia. Они поставляют самые быстрые GPU на сегодняшний день и, следовательно, важно поддерживать их, но существует много других доступных опций, которые даже не относятся к GPU.

В результате, hashcat будет поддерживать устройства следующего типа:

  • GPU
  • CPU
  • APU
  • DSP
  • FPGA
  • Сопроцессор
  • Всё другое, что поставляется с OpenCL runtime

Другие нововведения, о которых рассказано в официальной новости:

  • Поддержка параллельного использования множества различных OpenCL типов устройств
  • Добавление в makefile родных (нативных) целей компиляции; Добавление поддержики GPU для OSX и *BSD
  • Меньше зависимостей
  • Добавлен автоматически регулируемый движок и настраиваемая пользователем база данных настроек
  • Расширенная поддержка аппаратного управления
  • Добавлена опция для выхода на следующей контрольной точке
  • Производительность
  • … это ещё не всё, …правда!

Это был перевод официальной новости: https://hashcat.net/forum/thread-5559.html. От себя хочу добавить, что документация на Kali.Tools будет обновлена в ближайшее время, что касается инструкций на HackWare.ru, то они будут обновлены и дополнены позже – в данный момент, даже на официальном сайте полностью старая документация.

Решение проблемы Device #2: WARNING: Not a native Intel OpenCL runtime, expect massive speed loss на Windows

Если при запуске hashcat вы видите что-то вроде следующего:

То начните с установки драйвера и OpenCL™ Runtime. Их вы можете найти по ссылке: https://software.intel.com/en-us/articles/opencl-drivers#core_xeon

Если это не помогло, то наберите в командной строке:

Читайте также:  Как снять копию диска с windows

После добавления этой опции, у меня перестало появляться предупреждение, но hashcat стала игнорировать центральный процессор. Для того, чтобы задействовать и графический и центральный процессор добавьте опцию —opencl-device-types 1,2

hashcat
advanced password recovery

Is it still possible to use Hashcat without GPU ? Only with CPU ?

Cause it asked me to install the OpenCL Intel Drivers. I did it but it still not working.

run hashcat -I and see if your CPU is detected. Then if it is you should have no problems using it with hashcat. In fact, many slow hashes are significantly FASTER with CPUS rather than GPUS.

Heres an example:

Platform ID #1
Vendor : NVIDIA Corporation
Name : NVIDIA CUDA
Version : OpenCL 1.2 CUDA 10.1.120

Device ID #1
Type : GPU
Vendor ID : 32
Vendor : NVIDIA Corporation
Name : GeForce GTX 1070
Version : OpenCL 1.2 CUDA
Processor(s) : 15
Clock : 1784
Memory : 2048/8192 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 419.35

Platform ID #2
Vendor : Intel(R) Corporation
Name : Intel(R) OpenCL
Version : OpenCL 1.2

Device ID #2
Type : CPU
Vendor ID : 8
Vendor : Intel(R) Corporation
Name : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Version : OpenCL 1.2 (Build 76427)
Processor(s) : 8
Clock : 3400
Memory : 6115/24461 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 3.0.1.10891

Device ID #3
Type : GPU
Vendor ID : 8
Vendor : Intel(R) Corporation
Name : Intel(R) HD Graphics 4000
Version : OpenCL 1.2
Processor(s) : 16
Clock : 1150
Memory : 350/1400 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 10.18.10.4425

Hi, In my case the CPUs are not detected. Installing some drivers can help? Where to get and what exactly? I have this:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 2
Model name: AMD FX(tm)-8350 Eight-Core Processor
Stepping: 0
CPU MHz: 2135.458
BogoMIPS: 8027.44
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd ibpb vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold

Try the following:
— install the libpocl2 package
— run:
mv /etc/OpenCL/vendors/pocl.icd /etc/OpenCL/vendors/pocl.icd-orig
echo «libpocl.so.2.2.0» > /etc/OpenCL/vendors/pocl.icd

(04-01-2020, 09:29 PM) lwmar Wrote: Hi, In my case the CPUs are not detected. Installing some drivers can help? Where to get and what exactly? I have this:

Thanks for the suggestion, I followed the steps and then I run:

# hashcat —benchmark-all
Usage: hashcat [options]. hash|hashfile|hccapxfile [dictionary|mask|directory].

Try —help for more help.
root@m-desktop:/home/m# hashcat —opencl-info
hashcat (v5.1.0) starting.

DRM_IOCTL_I915_GEM_APERTURE failed: No such file or directory
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
DRM_IOCTL_I915_GEM_APERTURE failed: No such file or directory
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
clGetDeviceIDs(): CL_DEVICE_NOT_FOUND

No devices found/left.

just uninstall all theser open-source drivers (beignet, pocl, mesa etc) and install the OpenCL Runtime for Intel Core and Xeon Processors from https://software.intel.com/content/www/u. pu-section

yes, you should use the Intel OpenCL Runtime even for AMD CPUs

it makes no sense to specify «all benchmark should be run» (—benchmark-all) without starting a benchmark (—benchmark).
You are doing something wrong. Where do you got this commands from ? they make no sense.

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

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

Читайте также:  Registry in windows folder

Для перебора хешей существуют различные программы, одна из них — это 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 — новый вид атаки перебора, которая работает быстрее, обычной.
Читайте также:  Windows rdp connection manager

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

  • ?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 была полезной для вас.

    Оцените статью