Взлом рукопожатий (handshake) с использованием графического процессора в Windows

Если у вас Linux, то для вас статья: "Базовое и продвинутое использование oclHashcat (Hashcat) для взлома WPA/WPA2 паролей из хендшейков".

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

Для брутфорсинга это очень важно. Хеши считаются незвламываемыми только от того, что перебор занимает слишком много времени. А если скорость увеличить в 100 раз? Если пароль длинный и для его перебора нужно 10 миллионов лет, то тот факт, что теперь мы можем подобрать его за 1 миллион лет нам погоды не делает. Нам это неважно — всё равно не успеем.

А если скорость перебора по словарю составляет, к примеру, 10 часов. Конечно, использование словаря не гарантирует подбор пароля. Но, с другой стороны, по соотношению успех/затраченное время словари показывают намного лучший результат. Так вот, если мы эти 10 часов заменим на один час или на шесть минут — то это уже намного интереснее. Освободившееся время можно потратить на проверку по большему словарю или же на анализ других хешей.

Большинство инструментов для тестирования на проникновение (проще говоря, для взлома) написаны для Linux. Именно там вся эта каша и варится: не выходя из Linux можно осуществить процесс по захвату рукопожатия, его очистке и проверке по словарю. Но у Линукса постоянные «трения» с проприетарными драйверами для видеокарт (а они необходимы в данном случае!). Для Kali Linux написаны большие инструкции по установке этих драйверов, которые у кого-то работают, а у кого-то и нет.

На Windows проприетарные драйвера установлены (практически) всегда. С этим проблем нет. А такая программа как Hashcat (использует видеокарту для перебора паролей) является кроссплатформенной. Думаю, вы уже поняли, что мы сейчас будем делать. Мы будем взламывать рукопожатие программой Hashcat, которая работает в Windows и использует графический процессор. Благо, недавние бенчмарки показали, что разницы по скорости между Linux и Windows в данном случае нет.

Установка Hashcat в Windows

Для работы программы необходимы драйверы графических карт:

  • пользователям NVidia нужен "NVIDIA Driver" (367.x или более поздний)
  • пользователям AMD нужен  "AMD Radeon Software Crimson Edition" (15.12 или более поздний)

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

Перейдите на официальный сайт Hashcat и скачайте исполнимые файлы (hashcat binaries). В едином архиве находятся все исполнимые файлы (для 64- и 32-битных систем, для Linux и Windows). Также теперь нет разделения на версию для графических процессоров и центральных процессоров - всё слито в одну версию.

Распакуйте архив. Это портативная программа, другой установки она не требует.

Для запуска используйте файл hashcat64.exe или hashcat32.exe в зависимости от битности вашей системы.

Программу нужно запускать в командной строке. Для этого откройте окно командной строки (Win+X – выберите «Командная строка») и перетащите туда исполняемый файл.

Либо в открывшемся окне командой строки перейдите в требуемую папку:

cd C:\Users\Alex\Downloads\Взлом Wi-Fi\hashcat\

И в ней запустите требуемый файл:

hashcat64.exe -V

Подготовка рукопожатий для Hashcat в Windows

Конвертация с помощью cap2hccapx (hashcat-utils)

Чтобы программа Hashcat смогла работать с захваченным рукопожатием, его нужно конвертировать в специальный формат. Для этого применяется программа cap2hccapx, которая входит в пакет hashcat-utils.

Переходим на официальный сайт https://github.com/hashcat/hashcat-utils/releases и скачиваем архив в названии которого отсутствуют слова Source code (исходный код), поскольку нам нужны исполнимые файлы.

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

Открываем командную строку и переходим в каталог этой программы:

cd C:\Users\Alex\Downloads\Взлом Wi-Fi\hashcat-utils\bin\

Конвертация файлов .cap в формат .hccapx

Нам нужно конвертировать файл захвата рукопожатия в формат, понятный Hashcat.

Для его конвертирования в формат .hccapx с помощью cap2hccapx ам нужно использовать следующую команду:

cap2hccapx.exe рукопожатие.cap хеш.hccapx

Например, файл с захваченным рукопожатием сохранён с именем RT-733322.cap и я хочу сохранить файл в формате Hashcat с именем RT-733322.hccapx, тогда моя команда имеет вид:

cap2hccapx.exe RT-733322.cap RT-733322.hccapx

Отлично, у меня всё получилось:

В текстовом виде:

Networks detected: 1

[*] BSSID=64:66:b3:48:99:9a ESSID=RT-733322 (Length: 9)
 --> STA=1c:7b:21:db:cf:56, Message Pair=2, Replay Counter=1

Written 1 WPA Handshakes to: RT-733322.hccapx

Онлайн сервис по конвертации рукопожатий

Если вам не хочется возиться с cap2hccapx, то вы можете воспользоваться онлайн севрисом: https://hashcat.net/cap2hccapx/

Это не рекомендуется для «чувствительных» данных.

Использование Hashcat в Windows

Перемещаем наш новый файл RT-733322.hccapx в каталог с Hashcat. В этот же каталог я помещаю файл со словарём (newrockyou.txt) В командной строке переходим в этот каталог:

cd C:\Users\Alex\Downloads\Взлом Wi-Fi\hashcat\

Можно запускать перебор.

Атака по словарю на рукопожатие

hashcat64.exe -m 2500 RT-733322.hccapx newrockyou.txt

Здесь newrockyou.txt — имя словаря (он размещён в том же каталоге, что и запускаемая программа), -m 2500 — атака на WPA/WPA2 пароль, а RT-733322.hccapx​ — наш файл, который мы получили после очистки и конвертации.

Пример работы:

Атака брутфорсом на рукопожатие

Для атаки брут-форсом, а также атаки по маске нужно указать опцию -a 3 и саму маску - в самом конце вместо файла словаря.

В маске могут использоваться следующие символы.

  ? | Набор символов
 ===+=========
  l | abcdefghijklmnopqrstuvwxyz
  u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
  d | 0123456789
  h | 0123456789abcdef
  H | 0123456789ABCDEF
  s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  a | ?l?u?d?s
  b | 0x00 - 0xff

К примеру, маска, означающая посель цифр, это ?d?d?d?d?d?d?d?d.

Тогда команда, для запуска перебора по маске, означающей восемь цеифр, команда будет выглядить так:

hashcat64.exe -m 2500 -a 3RT-726940.hccapx ?d?d?d?d?d?d?d?d

Вы можете сформировать собственный набор пользовательских символов. Для этого используются опции -1, -2, -3, -4. Например, я хочу, чтобы в мой пользовательский набор (-1) входили все цифры, большие и маленькие буквы (?l?d?u), и из моего пользовательского набора символов я составляю маску длиной восемь символов ?1?1?1?1?1?1?1?1. Моя команда приобретает вид:

hashcat64.exe -m 2500 -a 3 -1 ?l?d?u RT-726940.hccapx ?1?1?1?1?1?1?1?1

Маска длиной воесемь символов, в которой встречаются только цифры и маленькие буквы:

hashcat64.exe -m 2500 -a 3 -1 ?l?d RT-726940.hccapx ?1?1?1?1?1?1?1?1

Маска длиной от восьми до десяти символов, в которой стречаются цифры, большие и маленькие буквы:

hashcat64.exe -m 2500 -a 3 -1 ?l?d?u -i --increment-min=8 --increment-max=10 RT-726940.hccapx ?1?1?1?1?1?1?1?1

Подробную справку по другим опциями и режимам программы Hashcat вы найдёте здесь.

На протяжении всего времени работы программы перед нами будет строка запроса:

[s]tatus [p]ause [r]esume [b]ypass [c]heckpoint [q]uit =>

Если нажать p, то перебор остановится, если после паузы нажать r, то перебор снова возобновится. Если нажать b, то будет пропущено текущее задание и программа перейдёт к следующему. Если задание только одно, то программа закончит свою работу. q означает закончить работу и выйти из программы.

Если ввести s, то увидите текущий статус:

Session..........: hashcat
Status...........: Running
Hash.Type........: WPA/WPA2
Hash.Target......: RT-733322 (AP:64:66:b3:48:99:9a STA:1c:7b:21:db:cf:56)
Time.Started.....: Thu Apr 06 07:29:55 2017 (1 min, 44 secs)
Time.Estimated...: Thu Apr 06 07:34:45 2017 (3 mins, 6 secs)
Guess.Base.......: File (newrockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:    33029 H/s (8.76ms)
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 3435520/9606541 (35.76%)
Rejected.........: 0/3435520 (0.00%)
Restore.Point....: 3379200/9606541 (35.18%)
Candidates.#1....: christinecoleman -> clonetrooper5
HWMon.Dev.#1.....: Util: 94% Core: 800MHz Mem:1000MHz Bus:16

Здесь:

  • Status………: Running означает, что программа работает.
  • Speed.Dev.#1…..: 33029 H/s (8.76ms) — скорость перебора (количество хешей в секунду).
  • Time.Estimated…: Thu Apr 06 07:34:45 2017 (3 mins, 6 secs) — сколько времени осталось до конца перебора.

Пример удачного взлома:

Здесь в строке

f2887bad99b8a3036dd52d7291edf338:02082264457b:903c92cd3389:Tele2 Mini 1.1:66666666

найденным паролем от Wi-Fi является 66666666.

Также строка

Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts

говорит о том, что восстановлен один пароль.

Рекомендуемые статьи:

5 комментариев to Взлом рукопожатий (handshake) с использованием графического процессора в Windows

  1. vivax:

    спасибо

  2. Есть проблема

    как решить

    помогите

    hashcat -m 0 46021352282227ec43920f58d7bef1a2
    hashcat (v3.30) starting…

    OpenCL Platform #1: Mesa
    ========================
    * Device #1: AMD TURKS (DRM 2.48.0 / 4.9.0-kali1-amd64, LLVM 3.9.1), 716/1024 MB allocatable, 6MCU

    Hashes: 1 digests; 1 unique digests, 1 unique salts
    Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
    Rules: 1

    Applicable Optimizers:
    * Zero-Byte
    * Precompute-Init
    * Precompute-Merkle-Demgard
    * Meet-In-The-Middle
    * Early-Skip
    * Not-Salted
    * Not-Iterated
    * Single-Hash
    * Single-Salt
    * Raw-Hash

    Watchdog: Hardware Monitoring Interface not found on your system
    Watchdog: Temperature abort trigger disabled
    Watchdog: Temperature retain trigger disabled

    * Device #1: build_opts '-I /usr/share/hashcat/OpenCL -D VENDOR_ID=16 -D CUDA_ARCH=0 -D VECT_SIZE=4 -D DEVICE_TYPE=4 -D DGST_R0=0 -D DGST_R1=3 -D DGST_R2=2 -D DGST_R3=1 -D DGST_ELEM=4 -D KERN_TYPE=0 -D _unroll -cl-std=CL1.2'
    * Device #1: Kernel m00000_a0.1bf0744a.kernel not found in cache! Building may take a while…
    clBuildProgram(): CL_BUILD_PROGRAM_FAILURE

    <unknown>:0:0: in function m00000_m04 void (%struct.pw_t addrspace(1)*, %struct.kernel_rule_t addrspace(1)*, %struct.comb_t addrspace(1)*, %struct.bf_t addrspace(1)*, i8 addrspace(1)*, i8 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, %struct.plain_t addrspace(1)*, %struct.digest_t addrspace(1)*, i32 addrspace(1)*, %struct.salt_t addrspace(1)*, i8 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32 addrspace(1)*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32): unsupported initializer for address space

    * Device #1: Kernel /usr/share/hashcat/OpenCL/m00000_a0.cl build failure. Proceeding without this device.

    Started: Wed Feb  8 21:42:52 2017
    Stopped: Wed Feb  8 21:42:54 2017
    root@Ougi-Oshino:~#

    • Alexey Alexey:

      Драйверы в порядке? Теперь для AMD в Linux hashcat требует "AMDGPU-Pro Driver" (16.40 или более поздний). Этот драйвер доступен только для некоторых платформ, и работает только со свежими видеокартами.

  3. LeGion:

    У меня так 

    Microsoft Windows [Version 6.1.7601]
    (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

    C:\Users\Liza>cd ..

    C:\Users>cd ..

    C:\>cd C:\Users\Liza\Desktop\hashcat-3.40 (1)\hashcat-3.40

    C:\Users\Liza\Desktop\hashcat-3.40 (1)\hashcat-3.40>hashcat32.exe -m 2500 WiFI.h
    ccap 9mil.txt
    hashcat (v3.40) starting…

    * Device #1: Device local mem size is too small

    No devices found/left

    Started: Wed Mar 15 15:33:39 2017
    Stopped: Wed Mar 15 15:33:39 2017

    C:\Users\Liza\Desktop\hashcat-3.40 (1)\hashcat-3.40>

    Почему так и отчего 

  4. Аноним:

    Большое вам СПАСИБО!!!

    За ваши статьи.

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

Ваш e-mail не будет опубликован.