Как в Linux взламывать пароли видеокартой и центральным процессором


Драйверы и программы для взлома на графической карте и центральном процессоре в hashcat

В этой статье показано, какие драйверы и программы установить для того, чтобы hashcat и аналогичные программы для брут-форса могли использовать видеокарту и процессор для взлома паролей.

В настоящее время hashcat использует OpenCL. Как написано в Википедии, OpenCL (англ. Open Computing Language — открытый язык вычислений) — фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических и центральных процессорах, а также FPGA. В OpenCL входят язык программирования, который основан на стандарте языка программирования Си C99, и интерфейс программирования приложений. OpenCL обеспечивает параллелизм на уровне инструкций и на уровне данных и является осуществлением техники GPGPU. OpenCL является полностью открытым стандартом, его использование не облагается лицензионными отчислениями.

Цель OpenCL состоит в том, чтобы дополнить открытые отраслевые стандарты для трёхмерной компьютерной графики и звука OpenGL и OpenAL возможностями GPU для высокопроизводительных вычислений. OpenCL разрабатывается и поддерживается некоммерческим консорциумом Khronos Group, в который входят много крупных компаний, включая AMD, Apple, ARM, Intel, Nvidia, Sony Computer Entertainment и другие.

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

OpenCL поддерживают видеокарты AMD, NVIDIA, а также Intel GPU.

Информацию о поддерживаемых процессорах Intel вы найдёте на странице https://github.com/intel/compute-runtime (поддержка «Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL» появилась с Gen8) и https://www.intel.ru/content/www/ru/ru/support/articles/000005524/graphics-drivers.html (поддержка OpenCL разными поколениями и моделями процессоров).

Видеокарты AMD, NVIDIA также в большинстве поддерживают OpenCL, кроме совсем старых.

Для работы OpenCL необходима установка драйвера и инструментов взаимодействия с OpenCL. Данная статья посвящена установке OpenCL в Linux. Аналогичные инструкции для Windows даны в статье «Инструкция по hashcat: запуск и использование программы для взлома паролей» (смотрите раздел «Драйверы для hashcat»).

Итак, требования для работы hashcat с OpenCL следующие:

  • Для AMD видеокарт необходимо: "RadeonOpenCompute (ROCm)" Software Platform (1.6.180 или более поздняя версия)
  • Для процессоров Intel необходимо: "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 или более поздняя версия)
  • Для NVIDIA видеокарт необходимо: "NVIDIA Driver" (367.x или более поздняя версия)

Для устаревших процессоров (до Broadwell) используется "OpenCL 2.0 GPU Driver Package for Linux" (Iris, Iris Pro).

В этой статье будет показано, как установить всё необходимое для использования OpenCL на видеокартах NVIDIA и современных процессорах Intel. Инструкции будут даны на примере Kali Linux (также должны подходить для Debian, Linux Mint, Ubuntu и их производных) и Arch Linux (BlackArch).

Как включить OpenCL на Kali Linux (Debian, Linux Mint, Ubuntu) для hashcat

Включение OpenCL для NVIDIA

Начните с полного обновления системы и затем перезагрузитесь:

sudo apt update && sudo apt full-upgrade -y
reboot

После того, как мы обновили систему, нужно проверить модули ядра nouveau (свободные драйвера Nvidia, они будут конфликтовать с проприетарными)

lsmod |grep -i nouveau

Если предыдущая команда хоть что-то вывела, например:

nouveau 1499136 1
mxm_wmi 16384 1 nouveau
wmi 16384 2 mxm_wmi,nouveau
video 40960 1 nouveau

это означает, что они включены. Поэтому необходимо добавить их в чёрный список:

echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

После изменения параметров ядра, нам нужно обновить наши initramfs и перезагрузиться.

update-initramfs -u && reboot

После перезагрузки и проверки, что модули nouveau не загружены, мы переходим к установке загрузчика OpenCL ICD, драйверов и набора инструментов CUDA.

sudo apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit

Во время установки драйверов система создаёт новые модули ядра, поэтому требуется ещё одна перезагрузка.


Проверка установленных драйверов

Теперь наша система должна быть готова, нам нужно проверить, что драйверы корректно загружены. Мы можем быстро в этом убедиться запустив инструмент nvidia-smi.

nvidia-smi


Вывод показывает, что наш драйвер и GPU в порядке — можно приступать к взлому паролей. Перед продолжением, давайте ещё раз сделаем проверку и убедимся, что hashcat и CUDA работают вместе.

hashcat -I

Примечание:

Если вы получили ошибку clGetDeviceIDs(): CL_DEVICE_NOT_FOUND с отметкой Platform ID Vendor: Mesa, то запустите:

sudo apt remove mesa-opencl-icd

Продолжим запуском теста производительности. Бенчмарк

hashcat -b -D 1,2 --force

Включение OpenCL для Intel

Если ваш центральный процессор поддерживает OpenCL, то установите следующие пакеты:

sudo apt install firmware-misc-nonfree intel-opencl-icd

Просмотрим список устройств ещё раз (должно добавиться новое устройство):

hashcat -I

И выполним бенчмар ещё раз:

hashcat -b -D 1,2 --force

Как включить OpenCL на Arch Linux (BlackArch) для hashcat

Включение OpenCL для NVIDIA

Удалите xf86-video-nouveau есть он есть:

sudo pacman -R xf86-video-nouveau

Установите проприетарный драйвер NVIDIA:

sudo pacman -S nvidia nvidia-utils

Установите драйвер CUDA и другие необходимые пакеты, а также hashcat:

sudo pacman -S opencl-nvidia opencl-headers cuda hashcat

Включение OpenCL для Intel

sudo pacman -S linux-firmware intel-compute-runtime pocl

Теперь проверим список устройств:

hashcat -I


Запустим бенчмарк:

hashcat -b -D 1,2 --force

Смотрите также: Hashcat не видит центральный процессор AMD (РЕШЕНО)

Пакет beignet

beignet — это реализация OpenCL для Intel IvyBridge и Haswell iGPUs. В настоящее время этот пакет считается устаревшим и его должен заменить intel-compute-runtime. Если я у себя в системе устанавливаю beignet, то появляется дополнительное устройство OpenCL — как на Kali Linux, где также видно 3 устройства OpenCL. Но это устройство работает нестабильно с Hashcat.

Вы можете протестировать, как себя ведёт beignet на вашей системе. Возможно, для более старых процессоров это единственная опция.

OpenCL для AMD

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

Смотрите также:


Рекомендуется Вам:

7 комментариев to Как в Linux взламывать пароли видеокартой и центральным процессором

  1. Vlad:

    Алексей, подскажите для запуска HashCat установить OpenCL и СUDA на Kali 2021.1, видеокарта GTX650 DDR5 1G теоретически получится или нет?

    На даннвй момент драйвера на видеокарту присутствуют свободные от Nvidia.

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

    Сейчас смотрю статья обновилась или я ошибаюсь?

    Не хочется загубить настроениую под себя ситему.

    • Alexey:

      Приветствую! Упоминание похожей видео карты я нашёл в legacy (устаревшей) версии драйвера:

      apt show nvidia-legacy-390xx-driver | grep 650

      Какие именно особенности установки legacy драйвера и будет ли с ним работать CUDA, я не знаю

      В описании пакета CUDA

      apt show nvidia-cuda-toolkit

      сказано:

      Suggests: nvidia-driver (>= 460) | nvidia-tesla-460-driver (>= 460)

      То есть для пакета предполагается версия драйвера 460 и выше.

      Думаю, CUDA работать не будет.

      Если решитесь на эксперименты, то систему можно восстановить из чёрного экрана без переустановки, как это сделано описано в разделе «Невозможно загрузиться после установки драйверов видеокарты».

      Перевод свежего описания установки драйверов есть здесь.

      • Vlad:

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

        Благодарю за пояснение, а то руки то опять "чесались")) Уберег себе нервы и время:)

    • Valeriy:

      Приветствую!!!

      У меня ноутбук и GTX780M и по описанной выше инструкции ничего не выйдет так как дрова новые, а карта старая, пробовал legacy ставить и тоже ничего не вышло хотя этими дровами карта должна поддерживаться.

      Короче чутка по мучаясь решил проблему так.

      1 Скачал дрова с офф сайта https://www.nvidia.com/en-us/drivers/unix/

      Latest Legacy GPU version (390.xx series)

      2 Удалил все пакеты nvidia, командой sudo apt purge nvidia-*

      установил sudo apt install linux-headers-$(uname -r)

      добавил nouveau в blacklist

      echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

      update-initramfs -u && reboot

      3 Выходим из иксов, в терминале sudo service lightdm stop

      4 жмем Alt + F1, вводим свой логин и пароль

      5 Идем куда сохранили дрова ну и устанавливаем sudo ./NVIDIA-Linux-x86_64-390.141.run на вопрос про установку 32 битных либ отказываемся и не соглашаемся с настройкой nvidia-settings, если все таки сделали настройку эту, то нужно удалить Xorg.conf

      6 Ну и перезапускамся и проверяем

       

  2. Прохожий:

    У меня на планшете(x86-64), не прошел вариант с установкой: firmware-misc-nonfree intel-opencl-icd

    Первого пакета пишет нет подходящего кандидата на установку(linux mint), а второй пакет норм. установился. Но кот показывал что opencl-устройств нет. 

    Помог 2-вариант с установкой: beignet-dev

    В планшете (Cube iWork 8 Air) стоит APU:

    cpu:  Intel Cherry Trail Z8300 quad core 1.84GHz

    gpu:  HD Graphics Gen 8 Cherry Trail Atom x5-Z83xx

    Под виндой opencl на gpu неполучилось установить, сколько не старался, а вот на cpu кот показывал: 777 H/s.

    Под linux mint почемуто элементарно на cpu немогу заставить работать. Устанавливал для этого пакеты: libpocl2 clinfo

     Зато на gpu работает без проблем: 1780 H/s.

    ЗЫ: Знаю что цифры маленькие но брал его чтоб иметь оч. автономную, мобильную и компактную x86-64 платформу в полевых условиях (а порой даже оч.полевых).  Еслиб подсказали как правильно заставить кота работать на cpu, былбы благодарен.

    ЗЫЫ: Еще не хакер-джедай, а только учусь.

    • Alexey:

      Приветствую!

      Вместо firmware-misc-nonfree в Ubuntu и Linux Mint пакет linux-firmware, но я не уверен, что он нужен.

      Я хотел адаптировать инструкцию для Linux Mint, но дальше

      hashcat -I
      hashcat (v5.1.0) starting...
      
      No devices found/left.

      и

      nvidia-smi
      NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

      я не продвинулся…

  3. FREEKER:

    Изложу что получилось.

    hashcat ни в какую не хочет использовать проц Intel.

    Тут https://hashcat.net/forum/thread-8116.html написано, что драйверов pocl не должно быть.

    Удалить их можно так:

    sudo apt-get remove pocl-opencl-icd

    А драйвера с которыми работает hashcat как написано тут https://hashcat.net/hashcat/

    это "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)".

    Его можно скачать тут: https://github.com/stricture/intel-opencl/releases

    Но не всё так гладко. Если не удалять pocl то по команде hashcat -I нарисует два устройства с драйверами "OpenCL C 1.2 pocl" и второе "OpenCL C 1.2".

    По команде hashcat -b напишет что первое устройство пропущено и после попыток закончит этим: "Segmentation fault". Удалив pocl, покажет одно устройство но та надпись про сегментацию останется. Но это я проверил на одноплатном компутере с CPU Intel Celeron N3350. На компе с GPU NVIDIA и CPU Intel Xeon — видит только GPU, и вышеописанное ещё не проверялось на нём.

    P.S. После этих процедур, установив intel-opencl-icd. Мы возвращаемся к тому с чего начали: No devices founf/left. Поэтому следом удалял этот пакет autoremove и заново накатывал дрова по ссылке выше.

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

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