Как в 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. Пишите ваши команды для установки в комментариях — и я добавлю в статью новый раздел. Если есть возможность, сделайте скриншоты и/или бенчмарки.
Смотрите также:
- Инструкция по hashcat: запуск и использование программы для взлома паролей
- Все опции hashcat и все ссылки на инструкции: https://kali.tools/?p=578
- Как в hashcat продолжить перебор с места остановки (сессии hashcat)
- Взлом WPA/WPA2 паролей с Aircrack-ng: перебор по словарю, совместная работа с Hashcat, maskprocessor, statsprocessor, John the Ripper, Crunch, взлом в Windows
- Книга «Продвинутый взлом паролей с *Hashcat» на русском языке
Связанные статьи:
- Модули ядра Linux (40.1%)
- Как установить драйверы для Hashcat в Windows (38.9%)
- RDP в Linux: запуск сервера и подключение к Windows (35.8%)
- Всё о RDP: от настройки до взлома (35.8%)
- Установка проприетарных драйверов AMD (Catalyst 15.12) на Kali Linux с ядром 4.3 (34.4%)
- Руководство по VirtualBox (часть 1): Что такое VirtualBox, как установить и использовать (RANDOM - 5.7%)
Алексей, подскажите для запуска HashCat установить OpenCL и СUDA на Kali 2021.1, видеокарта GTX650 DDR5 1G теоретически получится или нет?
На даннвй момент драйвера на видеокарту присутствуют свободные от Nvidia.
Я пытался ранее по вашему описанию сделать у меня не вышло, СUDA не как не хотела работать детали уже не помню, и были конфликты с обновленным ядром Кали (темный экран, запускал со старым, видео появлялось но кривое при начале загрузки логотипа системы, проприетерные дрова не работали толком).
Сейчас смотрю статья обновилась или я ошибаюсь?
Не хочется загубить настроениую под себя ситему.
Приветствую! Упоминание похожей видео карты я нашёл в legacy (устаревшей) версии драйвера:
Какие именно особенности установки legacy драйвера и будет ли с ним работать CUDA, я не знаю
В описании пакета CUDA
сказано:
То есть для пакета предполагается версия драйвера 460 и выше.
Думаю, CUDA работать не будет.
Если решитесь на эксперименты, то систему можно восстановить из чёрного экрана без переустановки, как это сделано описано в разделе «Невозможно загрузиться после установки драйверов видеокарты».
Перевод свежего описания установки драйверов есть здесь.
Да, я тоже читал про версию драйвера и еще пытался на Windows запустить все это (СUDA).. также не вышло. Видеокарта старовата, но хотелось убедиться в этом от специалиста.
Благодарю за пояснение, а то руки то опять "чесались")) Уберег себе нервы и время:)
Приветствую!!!
У меня ноутбук и 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 Ну и перезапускамся и проверяем
У меня на планшете(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, былбы благодарен.
ЗЫЫ: Еще не хакер-джедай, а только учусь.
Приветствую!
Вместо firmware-misc-nonfree в Ubuntu и Linux Mint пакет linux-firmware, но я не уверен, что он нужен.
Я хотел адаптировать инструкцию для Linux Mint, но дальше
и
я не продвинулся…
Изложу что получилось.
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 и заново накатывал дрова по ссылке выше.