Взлом паролей из облака с помощью CUDA GPU

Перевод: Анна Давыдова
Источник: kali.org

В связи с возрастающей популярностью взломов паролей из облака, мы решили сфокусировать наши усилия на оптимизации Kali. Мы заметили, что Amazons AWS P2-Series и Microsofts Azure NCSeries в основном сосредоточены на Windows и Ubuntu и решили устранить этот пробел.

Это заинтересует вас:

Необходимые ресурсы для взлома паролей из облака

Сначала, вы должны убедиться в том, что ваша система полностью обновлена и что ваша карта поддерживает CUDA.

Примечание: GPU с CUDA вычислительной мощностью > 5.0 рекомендуется, но GPU с меньшей мощностью также будет работать.

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

Как только вы обновите свою систему, вам нужно проверить наличие nouveau kernel modules, если таковые имеются, занесите их в черный список.

[email protected]:~# 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 modules не загружены, мы можем приступить к установке OpenCL ICD Loader, Drivers, и CUDA toolkit.

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

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

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

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

[email protected]:~# 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 |
+-------------------------------+----------------------+----------------------+

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

[email protected]:~# 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

Примечание: Если у вас произошла следующая ошибка clGetDeviceIDs(): CL_DEVICE_NOT_FOUND с ID платформы, маркированной как Vendor: Mesa выполните:

apt-get remove mesa-opencl-icd

Сейчас все должно работать, идем дальше и запустим эталонный тест.

Эталонное тестирование

[email protected]:~# hashcat -b

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

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

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

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

Взлом паролей из облака

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

[email protected]:~# 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/s (0.10ms)
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 101/101 (100.00%)

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

Запуск GPU на AWS

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

2 комментария к “Взлом паролей из облака с помощью CUDA GPU”

  1. Добрый день всем, хочу поделится небольшим опытом как я установил драйвера NVIDIA и CUDA на Kali Linux 2016.2 с ядром 4.9.0 .

    Инструкция написанная выше к сожалению не помогла мне,возможно на других компах и идет но мне не помогла,после выполнения всех вышеизложенных шагов у меня после перезагрузки вываливался белый экран с надписью : oh no something has gone wrong…. и на этом все,как исправить это я не нашел,поэтому приходилось переустанавливать все заново,и вот после нескольких дней поиска решений мне все таки удалось подружить свою видеокарту с Kali.

    Да,и кстати хочу дать один совет небольшой ,но очень хороший,после того как вы установили систему и обновили,сделайте полный бэкап системы, Акронисом или любым другим,так вы сэкономите кучу времени и нервов на случай если что то пойдет не так).

    У меня ноутбук с двумя видеокартами, Intel и Geforce GT 520MX.
    И так ,вот что я сделал,установку выполнял в два этапа:
    Я буду писать своими словами,поэтому прошу прощения за неточности.

    Этап 1 установка драйвера NVIDIA.

    1. обновляем полностью систему командой : sudo apt-get update && apt-get upgrade && apt-get dist-upgrade
    2. обязательно перезагружаемся чтобы обновилось ядро и все остальное : reboot
    3. делаем анализ системы командой: lspci -v | egrep -i 'vga|3d|nvidia' | grep -i 'nvidia' эта команда выдаст всю информацию о имеющихся у вас видеокартах.
    4. далее проверяем загружен ли драйвер nouveau и модуль vga_switcheroo
    lsmod | grep -i 'nouveau'
    lsmod | grep -i 'vga_switcheroo'

    5. выгружаем драйвер nouveau и модуль vga_switcheroo
    sudo modprobe -r nouveau
    sudo modprobe -r vga_switcheroo

    6. далее поочередно выполняем следующие команды,каких либо ошибок не должно выбивать:
    6.1. apt-get install gcc make linux-headers-$(uname -r)
    6.2. apt-get install dkms bbswitch-dkms
    6.3. modprobe bbswitch load_state=0
    7. далее нам необходимо занести драйвер nouveau в черный список,делается это так:
    nano /etc/modprobe.d/nouveau-blacklist.conf и пишем с новой строки «blacklist nouveau» без кавычек.
    нажимаем Ctrl+X и сохраняем нажав Y потом нажимаем Enter.
    8. далее добавляем следующую команду
    nano /etc/modules
    и вводим значение «bbswitch load_state=0» с новой строки.
    9. Установка / Запуск этих команд в последовательном порядке:
    apt-get install nvidia-kernel-dkms nvidia-xconfig nvidia-settings
    apt-get install nvidia-vdpau-driver vdpau-va-driver mesa-utils
    apt-get install bumblebee-nvidia
    sudo dpkg -i /root/Downloads/virtualgl_2.5_amd64.deb
    service bumblebeed restart
    apt-get install devscripts
    apt-get build-dep bumblebee
    apt-get source bumblebee
    sed -i 's/"Xorg"/"\/usr\/lib\/xorg\/Xorg"/' bumblebee-3.2.1/src/bbsecondary.h
    cd bumblebee-3.2.1/
    dpkg-buildpackage -us -uc -nc
    dpkg -i ../bumblebee_3.2.1-10_amd64.deb
    service bumblebeed restart
    reboot

    10. далее вводим следующую команду:
    nano /etc/bumblebee/xorg.conf.nvidia
    нам нужно раскомментировать строчку BusID «PCI: 01: 00: 0» и заменить 1 с номером, который вы получаете от утилиты lspci.
    11. далее поочередно вводим следующие команды :
    service bumblebeed restart
    optirun -v -b virtualgl -c jpeg glxgears
    (должно появится окошко с вращающимеся шестеренками,если это произошло ,значит драйвер Nvidia установился правильно)
    apt-get install freeglut3-dev libxmu-dev libpcap-dev
    На этом установка драйвера от Nvidia завершена,делаем перезагрузку и приступаем к второму этапу.

    Этап 2. Установка драйвера CUDA.

    Собственно только одна команда:
    apt-get install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit
    и после того как все скачается и установится делаем перезагрузку.
    Теперь можем проверить что драйвера работают корректно ,вводим nvidia-smi и смотрим табличку с информацией о видеокарте.
    Далее можем проверить корректность установки драйверов CUDA командой hashcat -I и смотрим информацию.
    Кстати заметил что если теперь ввести команду : optirun -v -b virtualgl -c jpeg glxgears то окошко с шестеренками не появляется и выдает ошибку,лечится это двумя командами:
    systemctl enable bumblebeed
    systemctl start bumblebeed

    И напоследок можно сделать бенчмарк следующей командой hashcat -b и наблюдать сколько паролей в секунду может подбирать ваша видеокарта.
    И пару скриншотов нашей работы:

    http://savepic.ru/13144741.png
    http://savepic.ru/13163175.png

    На этом все,благодарю за внимание,надеюсь я кому то помогу.

    Ответить

Оставьте комментарий