CUDA як інструмент злому

  1. Вступ
  2. Побудова установки для злому паролів
  3. вибір відеокарти
  4. Інструменти для Windows
  5. Інструменти для Linux
  6. CUDA-машина з Windows-системою
  7. Тестування утиліт на CUDA-машині під Windows
  8. CUDA-машина з Linux-системою
  9. Установка драйверів ATI
  10. Установка драйверів Nvidia
  11. Тестування утиліт на CUDA-машині під управлінням Linux
  12. Що краще - ATI або Nvidia?
  13. висновки
  14. посилання

CUDA, виступаючи в ролі інструменту для злому, дозволяє зламувати паролі за допомогою відеокарт, оснащених відповідним графічним процесором. При цьому швидкість злому значно вища за ту, що досягається на центральному процесорі.

Автор: Rohit Shaw

CUDA (Compute Unified Device Architecture) - архітектура паралельних обчислень, розроблена Nvidia для обробки графіки. Використовувати ресурси цього обчислювального движка графічних процесорів (GPU) Nvidia можуть багато широко використовуються мови програмування.

Вступ

CUDA, виступаючи в ролі інструменту для злому, дозволяє зламувати паролі за допомогою відеокарт, оснащених відповідним графічним процесором. При цьому швидкість злому значно вища за ту, що досягається на центральному процесорі.

Побудова установки для злому паролів

Щоб створити диво-CUDA агрегат, доведеться неабияк потрудитися. Спочатку необхідно вибрати материнську плату, яка підтримує більше одного графічного процесора, оскільки, чим більше в нашому розпорядженні GPU, тим швидше буде зламаний пароль. Я рекомендую материнську плату MSI Big Bang Marshall, яка підтримує установку до 8 графічних карт. Інша унікальна особливість цієї материнської плати в тому, що вона кроссплатформенная, тобто, дозволяє одночасну установку відеокарт від Nvidia і ATI. Для забезпечення кращої продуктивності варто поставити на неї чотириядерні процесори або процесори Intel з семества I. Плата забезпечує ефективну роботу RAM розміром до 16 Гб. Також важливо забезпечити машині достатнє харчування - 1250 Вт. Нарешті, знадобиться як можна більше кольорів, адже в процесі роботи відеокарта буде сильно нагріватися.

вибір відеокарти

Відеокарта - найважливіша частина майбутньої CUDA-машини. Перед покупкою варто з'ясувати, яка відеокарта володіє великим числом CUDA-ядер, адже чим більше кількість ядер, тим інтенсивніше буде здійснюватися злом паролів. Необхідно також враховувати використовувану материнську плату, оскільки деякі відеокарти можуть виявитися несумісними з нею. Ви можете підібрати підходящу для вашого бюджету відеокарту, скориставшись цією таблицею з характиристики GPU:

Стовпець SP / ALU count даної таблиці відповідає кількості ядер CUDA. Крім того, в ній вказані швидкості злому популярних хеш начебто MD5, SHA1, WPA і інша корисна інформація. Для нашої установки ми використовуємо відеокарту Radeon HD 5970, яка має в арсеналі 3200 ядер, що дозволяє досягати дуже великій швидкості злому хеш.

Тепер, коли відеокарта обрана, потрібно знайти підходящий інструмент для злому хеш. Існує безліч програм-зломщиків, які використовують у своїй роботі GPU. Деякі з них призначені для Windows-систем, деякі - для Linux. Нижче описані кілька зломщиків з урахуванням їх сумісності з різними ОС.

Інструменти для Windows

IGHASHGPU. Утиліта, розроблена Іваном Голубєвим. Вона вміє працювати тільки з трьома видами хеш: SHA1, MD5 і MD4. Може використовувати відеокарти як від ATI, так і від Nvidia. Підтримуються наступні відеокарти ATI: Radeon HD 4550, 4670, 4830, 4730, 4770, 4850, 4870, 4890, 5750, 5770, 5850, 5870, 5970, а також різні відеокарти Nvidia з підтримкою CUDA.

BarsWF. Розроблено Михайлом Сваричевського. Працює на відкритих Nvidia і тільки з MD5-хешамі, але зате відома як найшвидший в світі (відчуй гордість за наших!) Зломщик MD5.

Extreme GPU Bruteforcer. Комерційний інструмент, розроблений InsidePro. Підтримує цілих 58 типів хеш, серед яких MD5, MD4, NTLM, SHA-1, SHA-512 і багато інших. За рахунок одночасного використання потужності декількох відеокарт (до 32) дана програма дозволяє досягати неймовірної швидкості перебору, вимірюється в мільярдах паролів в секунду. Працює тільки на відкритих Nvidia.

Lightning Hash Cracker. Безкоштовний зломщик, розроблений компанією Elcomsoft. Вміє працювати тільки з хешамі MD5 і відеокартами Nvidia.

Oclhashcat Plus. Популярний зломщик хеш, що підтримує відеокарти як ATI, так і Nvidia. Працює і в Windows, і в Linux. Використовує до 128 відеокарт, зламує 57 типів хеш.

Cryptohaze Multiforcer. Інструмент з відкритим вихідним кодом. Єдина утиліта, яка може використовувати для злому кілька машин, з'єднаних в мережу. Підтримує 17 типів хеш, серед яких MD5, MD4, NTLM, LM і деякі інші. Працює тільки з наступними серіями відеокарт Nvidia: 8000, 9000, GTX200 і GTX400 / 500.

Інструменти для Linux

New Multiforcer. Ця нова версія Cryptohaze Multiforcer є утилітою з відкритим вихідним кодом, що працює з ATI і з Nvidia. Більш стара версія, Cryptohaze Multiforcer, не підтримує відеокарти ATI. New Multiforcer вміє зламувати тільки 9 типів хеш.

Oclhashcat Plus Цей мультиплатформенний інструмент працює і в Windows, і в Linux-подібних системах, на відкритих ATI і Nvdia, підтримує одночасну роботу до 128 відеокарт і вміє зламувати велике число хеш.

Whitepixel. Це інструмент з відкритим вихідним кодом, який працює тільки з MD5-хешамі і тільки на відкритих ATI. Підтримуються відеокарти серії Radeon HD 5000 і вище. Може використовувати до 8 відеокарт одночасно.

Hashkill. Ще один зломщик з відкритим кодом. Працює на відкритих AMD і Nvidia. Має 40 плагінів для злому різноманітних типів паролів: від простих хеш MD5 і SHA1 до пральних фраз на закриті SSL-ключі.

Даний опис дозволяє дізнатися, з якими типами відеокарт може працювати той чи інший інструмент, проте воно не говорить нічого про те, наскільки добре і швидко кожен з інструментів справляється зі зломом. Тому ми протестуємо деякі з цих інструментів, вимірявши швидкість злому хеша MD5.

CUDA-машина з Windows-системою

Для настройки CUDA-машини в ОС Windows доведеться встановити драйвера ATI catalyst для відповідної моделі відеокарти (нагадаю, що раніше ми вибрали Radeon HD 5970).

Тестування утиліт на CUDA-машині під Windows

Спочатку перевіримо IGHASHGPU. Це дуже проста консольна утиліта. Розглянемо ключі її використання.

Доступні ключі можна дізнатися, запустивши в командному рядку ighashgpu.exe без параметрів. Ось ключі, які нам знадобляться:

  • -c: задає набір символів (caps, small, digits, special, space, all)
  • -h: значення хеша
  • -t: тип хеша (MD5, MD4 або SHA1)
  • -min: мінімальна довжина пароля
  • -max: максимальна довжина пароля
  • Давайте тепер протестуємо нашу CUDA-машину. Спочатку за допомогою одного з онлайнових генераторів MD5, наприклад www.md5.cz , Сгенерируем хеш від пароля Xi4rCh.

    Тепер можна почати процес злому. Виконаємо наступну команду.

    ighashgpu.exe / h: a52a81807a28e5f92893dd5106c9ce65 / t: md5 / c: csda / max: 7 / cpudontcare

    Синтаксис використання був описаний раніше, тому я не буду зупинятися на описі даної команди. Отже, злом почався:

    На малюнку вище видно, що середня швидкість перебору складає 1116.8 мільйонів варіантів в секунду, і оцінене час роботи дорівнює приблизно 11 хвилинам. Але в нашому випадку пароль був знайдений через 5 хвилин, що показано на малюнку нижче. Середня швидкість злому збільшилася до 1119.1 мільйонів варіантів в секунду. Таким чином, за допомогою даної утиліти пароль, що складається з 6 цифробуквене символів (цифри і букви в обох регістрах), можна зламати за 5 хвилин.

    Давайте спробуємо порівняти час злому того ж хеша за допомогою CPU. Використовуємо для відновлення пароля з того ж хеша утиліту Cain n Able.

    На малюнку вище видно, що середній час злому складе 1.32945 року, так що різниця між GPU і CPU в наявності.

    BarsWF: Підтримує тільки Nvidia, тому доведеться перевіряти її на CPU. Запустимо BarsWF.exe з командного рядка, щоб подивитися список доступних опцій.

    exe з командного рядка, щоб подивитися список доступних опцій

    Синтаксис використання:

  • -c: задає набір символів (A-прописних, a-рядкові, 0-цифри, ~ -спеціальні символи)
  • -h: значення хеша
  • -min_len: мінімальна довжина пароля
  • Спробуємо зламати той же хеш, ввівши команду

    BarsWF_SSE2_x64.exe -c A0a -h a52a81807a28e5f92893dd5106c9ce65 -min_len 8

    exe -c A0a -h a52a81807a28e5f92893dd5106c9ce65 -min_len 8

    На малюнку вище видно, що очікуваний час злому становить 27 днів, що набагато менше, ніж рік, необхідний для Cain n Abel.

    CUDA-машина з Linux-системою

    Налаштування CUDA-машини в Linux-системі не так проста, як в Windows. Процес установки драйверів для відеокарт ATI відрізняється від процесу установки драйверів Nvidia

    Установка драйверів ATI

    1. Видаліть старі драйвери AMD

    sudo sh /usr/share/ati/fglrx-uninstall.sh
    sudo apt-get remove --purge fglrx fglrx_ * fglrx-amdcccle * fglrx-dev * xorg-driver-fglrx

    2. Завантажте драйвери AMD з офіційного сайту або виконайте наступні команди в терміналі:

    cd ~ /; mkdir catalyst12.4; cd catalyst12.4 /
    wget -O amd-driver-installer-12-4-x86.x86_64.run http://goo.gl/VGYWP

    3. Установка драйверів

    chmod + x amd-driver-installer-12-4-x86.x86_64.run
    sudo sh ./amd-driver-installer-12-4-x86.x86_64.run

    Далі дотримуйтесь інструкцій майстра установки.

    Установка драйверів Nvidia

    1. Відредагуйте конфігураційні файли

    gedit /etc/modprobe.d/blacklist.conf

    додайте наступні рядки в файл blacklist.conf

    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist nvidiafb
    blacklist rivatv

    2. apt-get --purge remove nvidia- *

    3. Перезавантажте систему.

    4. Установка драйверів

    add-apt-repository ppa: ubuntu-x-swat / x-updates
    apt-get update && apt-get install nvidia-current nvidia-current-modaliases nvidia-settings

    5. Після ще одного перезавантаження, ви зможете побачити налаштування Nvidia.

    Тестування утиліт на CUDA-машині під управлінням Linux

    В ОС на ядрі Linux ми будемо використовувати відеокарту Nvidia, у якій менше ядер CUDA, ніж у відеокарти ATI Radeon, використаної нами для Windows.

    Cryptohaze Linux: Now let's see the usage command for Cryptohaze. Type in this command

    Cryptohaze Linux. Знайдемо спочатку доступні ключі використання. Для цього введемо команду:

    ./Cryptohaze-Multiforcer --help

    /Cryptohaze-Multiforcer --help

    Для злому хеша нам знадобляться наступні три ключа:

  • -c (для файлів з набором символів)
  • -h (тип хеша)
  • -f (розташування файлу з хешем)
  • Набір символів (charset) - це певний список символів, розпізнається апаратними або програмними засобами. Можна створити текстовий документ і помістити туди букви в нижньому регістрі (az), літери у верхньому регістрі (AZ), цифри (0-9) та інші символи, а потім використовувати отриманий файл з набором символів в якості аргументу утиліти. Ось приклад такого файлу:

    Перейдемо до тестування. Введемо команду:

    ./Cryptohaze-Multiforcer -c / root / Desktop / Cryptohaze-Linux / charsets / charsetall -h MD5 -f /root/Desktop/hash.txt

    Після натискання enter починається процес злому.

    У верхній правій частині виведення програми показана середня швидкість перебору варіантів на GPU. Вона становить всього 36.64 мільйона варіантів в секунду. Така мала швидкість пояснюється тим, що використовувана відеокарта Nvidia має всього 16 ядер. Злом пройшов успішно: утиліта відобразила відповідний хешу пароль, p @ ssw.

    New Multiforcer. New Multiforcer - більш нова версія Cryptohaze Multiforcer, яка підтримує відеокарти ATI. Використання даного інструменту аналогічно використанню Cryptohaze Multiforcer. Додатково потрібно передати такі опції: -openclplatform = 0, --opencldevice = 1 -bfi_init

    ./NewMultiforcer --openclplatform = 0 --opencldevice = 1 -bfi_init -h Hash type -c mycharsets dir -f my file dir

    /NewMultiforcer --openclplatform = 0 --opencldevice = 1 -bfi_init -h Hash type -c mycharsets dir -f my file dir

    Що краще - ATI або Nvidia?

    Що краще - ATI або Nvidia

    Вибір оптимальної відеокарти залежить від безлічі факторів, серед яких ціна, використовуваний зломщик і кількість ядер CUDA. За швидкістю злому паролів, як можна було побачити, відеокарти ATI виграють у Nvidia, оскільки у останніх менше ядер CUDA. Відкрите Nvidia дорожчі, ніж відеокарти ATI. Однак Nvidia також випускає високопродуктивні відеокарти на кшталт Tesla і Titan, які при великій ціні забезпечують дуже велику обчислювальну потужність. Потрібно враховувати, що більшість інструментів злому, які працюють як в Windows, так і в Linux, сумісні з Nvidia. Отже, якщо гроші не грають вирішальної ролі, безперечно варто вибрати Nvidia, але якщо ваш бюджет невеликий, має сенс придбати відеокарту від ATI.

    висновки

    При використанні декількох високопродуктивних відеокарт з числом ядер більше 512 можна досягти набагато більшої швидкості злому. Відеокарта ATI з 3200 ядрами CUDA дозволила перебирати 1116.8 мільйонів варіантів в секунду, тоді як Nvidia з 16 ядрами - всього лише 36 мільйонів. Тепер зрозуміло, яку велику роль грає кількість ядер CUDA.

    посилання

    http://en.wikipedia.org/wiki/CUDA

    http://golubev.com/gpuest.htm

    http://cyruslab.wordpress.com/2012/01/26/installing-nvidia-on-backtrack5r1/