//kalinux.info
Безопасность 515 просмотров

Взлом с помощью видеокарты

Взлом с помощью видеокарты

Из-за увеличения популярности облачных экземпляров для взлома паролей мы решили сосредоточить наши усилия на оптимизации подхода Kali. Мы заметили, что Amazon AWS P2-Series и Microsoft Azure NC-Series ориентированы на Windows и Ubuntu. Соответствующие записи в блогах и руководства последовали этому примеру. Хотя эти экземпляры ограничены аппаратными возможностями NVIDIA Tesla K80, возможность быстрого развертывания экземпляра Kali с поддержкой CUDA привлекательна.

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

Предпосылки

Во-первых, вам необходимо убедиться, что ваша система полностью обновлена ​​и что ваша карта поддерживает CUDA. 
Примечание. Рекомендуется использовать графические процессоры с возможностями CUDA > 5.0, но графические процессоры с меньшим количеством по-прежнему будут работать.

apt-get update && apt-get dist-upgrade -y

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

root@kali:~# 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" > /etc/modprobe.d/blacklist-nouveau.conf

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

update-initramfs -u && reboot

Установка на локальном компьютере

После того, как мы перезагрузились и определили, что модули nouveau не загружены, мы продолжим установку OpenCL ICD Loader, Drivers и инструментария CUDA.

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

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

Проверка установки драйвера

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

root@kali:~# nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 0000:00:1E.0 Off | 0 |
| N/A 28C P0 53W / 149W | 0MiB / 11439MiB | 65% Default |
+-------------------------------+----------------------+----------------------+

Когда вывод правильно отображает наш драйвер и графический процессор, мы можем погрузиться в взлом паролей. Прежде чем зайти слишком далеко вперед, давайте проверим двойную проверку, чтобы убедиться, что hashcat и CUDA работают вместе.

root@kali:~# hashcat -I
OpenCL Info:
Platform ID #1
Vendor : NVIDIA Corporation
Name : NVIDIA CUDA
Version : OpenCL 1.2 CUDA 8.0.0

Device ID #1
Type : GPU
Vendor ID : 32
Vendor : NVIDIA Corporation
Name : Tesla K80
Version : OpenCL 1.2 CUDA
Processor(s) : 13
Clock : 823
Memory : 2047/11439 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 375.26

Примечание.
Если вы получите сообщение об ошибке c lGetDeviceIDs (): CL_DEVICE_NOT_FOUND с идентификатором платформы ID Поставщик: Mesa run:

apt-get remove mesa-opencl-icd

Кажется, все работает, давайте продолжим и проведем контрольный тест.

Benchmarking

 root@kali:~# hashcat -b

OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: Tesla K80, 2047/11439 MB allocatable, 13MCU

Hashtype: MD5
Speed.Dev.#1.....: 4247.2 MH/(102.66ms)

Hashtype: SHA1
Speed.Dev.#1.....: 1850.5 MH/(58.64ms)

Hashtype: SHA256
Speed.Dev.#1.....: 785.1 MH/(69.41ms)

Cracking

Теперь давайте взломать некоторые хеши. Мы собираемся использовать пример хэш-файла NetNTLMv2, найденный в wiki-файле hashcat.

root@kali:~# hashcat -a 0 -m 5600 ntlmv2.hash dict.txt

OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: Tesla K80, 2047/11439 MB allocatable, 13MCU

ADMIN::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030:hashcat

Session..........: hashcat
Status...........: Cracked
Hash.Type........: NetNTLMv2
Hash.Target......: ADMIN::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
Input.Base.......: File (dict.txt)
Input.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....: 0 H/(0.10ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 101/101 (100.00%)

Успех! Мы взломали пример хэша и доказали, что наша установка функциональна. Существует множество конфигураций для улучшения скорости, не упомянутых в этом руководстве. Однако мы рекомендуем вам взглянуть на документацию hashcat для ваших конкретных случаев.

Запуск экземпляра GPU в AWS

Мы зарегистрировали новые образы с разрешением CUDA Kali Rolling с Amazon,  которые работают из коробки с образами P2 AWS. Если вам не требуется никакая дополнительная настройка, вы можете запустить их с помощью экземпляра GPU Kali менее чем за 30 секунд. Все, что вам нужно сделать, это выбрать экземпляр P2.