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

Если у вас Windows, то для вас статья: "Взлом рукопожатий (handshake) с использованием графического процессора в Windows".

Общая информация о oclHashcat (Hashcat)

Варианты Hashcat 

Hashcat поставляется в двух вариантах:

  • Hashcat – Инструмент по восстановлению паролей использующий центральный процессор
  • oclHashcat – Инструмент использующий графический процессор

Многие алгоритмы, поддерживаемые Hashcat, могут быть взломаны в более короткое время, при использовании хорошо документированных возможностей GPU. Для этого и предназначена программа oclHashcat, при её использовании достигается значительный прирост в таких алгоритмах как MD5, SHA1 и других. Тем не менее, не все алгоритмы могут быть ускорены использованием GPU. Bcrypt — хороший этому пример. Из-за таких факторов как ветвление зависимостей данных, сериализация и память (упомянуты только некоторые), oclHashcat не является всеобъемлющей заменой для Hashcat.

oclHashcat и Hashcat доступны для Linux, OSX и Windows. Причём если мы говорим о скорости взлома с использованием графического процессора, то скорость перебора хешей на одном компьютере на разных ОС (на Linux и Windows) будут идентичными, поскольку на рабботу GPU система не влияет.

Hashcat предустановлена в Kali Linux. Для установки oclHashcat ознакомьтесь с разделом «Как установить oclHashcat в Kali Linux 2».

oclHashcat, как скромно замечают сами авторы, это самый быстрый инструмент по восстановлению паролей, использующий графический процессор. Программа бесплатна, хотя она содержит проприетарную кодовую базу. Доступны версии для Linux, OSX и Windows, есть варианты для использования центрального вычислительного процессора и для использования графического процессора. oclHashcat в настоящее время поддерживает огромное количество алгоритмов хеширования, включая Microsoft LM Hashes, MD4, MD5, семейство SHA, форматы Unix Crypt, MySQL, Cisco PIX и многие другие (их там сотни). Чуть меньше, но достаточно много алгоритмов поддерживает Hashcat.

Типы атак oclHashcat

Hashcat предлагает множество моделей атак для получения эффективного и комплексного покрытия пространства хешей. Есть следующий режимы:

  • Атака брут-форсом (перебором)
  • Комбинаторная атака
  • Атака по словарю
  • Атака по отпечаткам
  • Гибридная атака
  • Атака по маске
  • Перестановочная атака
  • Атака основанная на правиле
  • Табличная атака
  • Атака с переключением раскладки

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

Взлом WPA/WPA2 паролей в oclHashcat (Hashcat)

Зачем использовать oclHashcat для взлома файлов рукопожатий WPA WPA2?

Pyrit самый быстрый, когда нам нужно взломать файлы рукопожатий WPA2 WPA. Так почему мы используем oclHashcat (Hashcat) для взлома файлов рукопожатий WPA2 WPA?

Потому что мы можем?

Потому что oclHashcat (Hashcat) позволяет нам настроить атаку с заданными правилами и масками. oclHashcat (Hashcat) позволяет нам использовать встроенные наборы символов для атаки на файл рукопожатия WPA2 WPA.

Более того, есть сообщения, что в системах с большим количеством видеокарт Pyrit оказывается медленнее чем oclHashcat. Автор отчёта говорит о плохой масштабируемости Pyrit. Я не могу это подтвердить или опровергуть.

Подробное описание все атак, доступных в oclHashcat (Hashcat) дано в статье «Виды атак oclHashcat (Hashcat)». Поэтому если вам что-то непонятно в составлении масок, то обратитесь к ней.

Нам нужно конвертировать файл рукопожатия (.cap), в формат .hccap, который понимает oclHashcat (Hashcat), а перед этим файл нужно очистить. Это нужно сделать обязательно, поскольку иначе ничего не получится.

Очистка файлов .cap программой wpaclean

Я буду показывать на примере файла с захваченным рукопожатием Narasu_3E-83-E7-E9-2B-8D.cap.

Для ручной очистки .cap используйте следующую команду в Kali Linux:

wpaclean <out.cap> <in.cap>

Обратите внимание, что, вопреки логике, сначала идёт выходной файл, а потом входной <out.cap> <in.cap>. Казалось бы, логичнее было <in.cap> <out.cap>. Запомните это, чтобы не терять время на выяснение проблемы.

В моём случае команда выглядит так:

wpaclean hs/out.cap hs/Narasu_3E-83-E7-E9-2B-8D.cap

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

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

Для его конвертирования в формат .hccap с помощью aircrack-ng нам нужно использовать опцию -J

aircrack-ng <out.cap> -J <out.hccap>

Обратите внимание -J это заглавная J, а не маленькая j.

В моём случае команда следующая:

aircrack-ng hs/out.cap -J hs/out

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

oclHashcat --force -m 2500 /root/hs/out.hccap /root/rockyou.txt

Здесь:

  • -m 2500 — атака на WPA/WPA2 пароль
  • /root/hs/out.hccap — наш файл, который мы получили после очистки и конвертации
  • /root/rockyou.txt — словарь, по которому осуществляется перебор.

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

oclHashcat -m 2500 -a 3 /root/hs/out.hccap ?d?d?d?d?d?d?d?d

Здесь:

  • -a 3 — атака брут-форсом
  • /root/hs/out.hccap — наш файл, который мы получили после очистки и конвертации
  • ?d?d?d?d?d?d?d?d — маска (восемь цифр)

Продвинутые трюки с oclHashcat

Проверка множества WPA рукопожатий в oclHashcat за раз

Формат файла .hccap позволяет иметь множество сетей внутри одного и того же файла .hccap.

Это означает, что единственный файл .hccap может состоять из множество независимых .hccap структур, сцепленных друг с другом.

Для систем Linux / OSX вам следует использовать команду наподобие этой:

cat single_hccaps/*.hccap > all_in_one/multi.hccap

а для систем Windows эту:

copy single_hccaps\*.hccap all_in_one\multi.hccap

В этом конкретном примере файл multi.hccap будет состоять из всех сетей, файлы которых были в каталоге single_hccaps/.

*hashcat способна загрузить этот файл multi.hccap и взламывать все сети в одно время. Поскольку несколько различных сетей имеют различные «соли», скорость взлома уменьшится в зависимости от количества сетей в файле .hccap. Это не ошибка — это нормальное поведение. Главное преимущество в том, что вам не нужно повторно запускать несколько атак друг за другом для каждой отдельной сети/захвата.

cap2hccap также умеет конвертировать .cap файл с захватами из нескольких сетей в единый («мульти») .hccap файл.

Примечание: под Windows x64 cap2hccap постоянно вылетает, программа совершенно нерабочая.

Есть также сторонние инструменты вроде analyze_hccap / craft_hccap / hccap2cap, которые могут помочь вам понять и модифицировать содержимое файла .hccap.

Примечание: сцепленные сети не обязательно должны быть из одного и того же .cap файла — нет такого ограничения откуда файлы должны быть. Но, конечно, они должны быть валидными/законченными захватами.

Где хранятся все расшифрованные пароли. Что такое файл .pot

Файл .pot хранит хеши, которые уже взломаны/показывать и которые, следовательно, не нужно снова взламывать/показывать.

На Windows этот файл расположен в той же директории, где и исполняемые файлы oclHashcat, его название — oclHashcat.pot. Типичное содержимое файла:

$office$*2013*100000*256*16*f557b3c23e7223e5d966aced27ad1fd4*54c6c24e58b72353f952b1fe0de746b1*c3db501ad0ac82d88ad4e8664f474eb7077eb2c81636a672aa717cfa93cba7d8:345678
$pdf$2*3*128*-1596*1*16*5692983949d33f4b4ddf6c31bd00e3f4*32*88d671fd4103cc46fc9ac48181e31b5300000000000000000000000000000000*32*6bc706ffd3413af9be7912f5966277f05254b4904513993bea4820386ca60e5f:
$pdf$2*3*128*-3904*1*16*07652f72cd2857abf65708f646ca08fa*32*3352ac091478d852687f11eae257db8400000000000000000000000000000000*32*c730fdb8cf5ff7b59c244b61b745f71ac5ba427b1b9102da468e77127f1e69d6:234567
$pdf$2*3*128*-3904*1*16*07c1fb5b68b1661cf11ade3c2585810d*32*96ef8a8c8437a050236543ceb51d586e00000000000000000000000000000000*32*cccd4459a76caf008768ac15754f5f1869423ea8e0fde12d66fb0631d35acc6d:234567
$pdf$2*3*128*-3904*1*16*516b008c0274e68d88b69562344c20d2*32*a4af4d09fa1621294392016793c1a97900000000000000000000000000000000*32*d6413e32df2e0dfead36ac3600f43a10093ac1e4319df18349417fa789898a1b:
$pdf$2*3*128*-3904*1*16*da6015d029a61a8d9e03f75bd15708c1*32*4c7c8c3f5c924568eb1027577f40031d00000000000000000000000000000000*32*3b0385c9dc4642158ab4e29308152b8868103928aa499af91fdbb48dc84cabd6:4567890
$7z$0$19$0$$8$0a80e901a82740da0000000000000000$3348097732$128$122$e1a779ef1123455b50f903575eebebdcc1dcd8a3e2a3d9e97efd783ccd3e1be06dcec7334f5c7bd21b4ad168694927924be55c96e56fdb3209b3f04244d6d18ea3f691774bc1376b1f2b5291b52988e62b030dbfad3ce36d70bbeb2433eda2a1110cd82e72dbc324a41e45a4959fb958c77a3033899feea67daa06a3fa341c33:234567

Причина этого в том, например, что в противном случае выводной файл (--outfile, -o) мог бы содержать вывод одних и тех же идентичных хешей снова и снова (если разные атаки ведут к одинаковым кандидатам в пароли, которые дают совпадающие результаты).

Это также имеет эффект на взлом хешей с солью. Если oclHashcat замечает, что все взломанные хеши связанны с определённой солью, то безопасно не создавать новые предположение для этой соли. Это означает, например, если вы имеете 2 хеша с различными солями и один взломан, скорость удваивается. Теперь если вы по каким-либо причинам перезапустите сессию, профиль помечает один взломанный хеш в качестве взломанного, а, следовательно, соль помечается как взломанная. Поэтому ваш запуск удвоит скорость угадывания.

Вы можете полностью отключить поддержку potfile используя --potfile-disable. Тем не менее, настоятельно рекомендуется не отключать его. Если вы имеете, к примеру, огромный список хешей с солью, и вы не используете --remove и по каким-либо причинам вы должны перезапустить сессию взлома, все ваши бонусы по скорости угадывания теряются.

Помните, что использование файла .pot весьма различно в зависимости от идеи с которой вы используете --remove. Иметь список хешей с только не взломанными хешами здорово, но с профилем вы можете делать то же самое если вы используете переключать --left. Например, если ваша сессия взлома закончена, и вы хотите иметь список оставшихся (не взломанных), вы можете просто запустить:

./oclHashcat64.bin --left -o leftlist.txt -m 0 hash.txt

Теперь вы будете иметь оба: оригинальный список и список оставшихся.

Также безопасно копировать (или добавлять) данные из одного профиля в другой.

Я используя файл .pot намного прозаичнее — смотрю там пароли, которые забыл записать/сохранить с предыдущих взломов.

Как конвертировать файл .hccap в .cap

Вы можете конвертировать файлы hashcat WPA/WPA2 hccap обратно в файлы (p)cap. В этом нам поможет программа hccap2cap. Официальный её сайт: https://github.com/philsmd/hccap2cap

Установка hccap2cap

Зависимости

  • компилятор gcc
  • aircrack-ng/wireshark и т. п. Для открытия/тестирования полученного файла .cap

Клонируем репозиторий:

git clone https://github.com/philsmd/hccap2cap.git

Компилируем:

cd hccap2cap
gcc -o hccap2cap hccap2cap.c

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

./hccap2cap <in.hccap> <out.cap>

Если у вас нет под рукой файл hccap, то можете скачать пример:

wget http://hashcat.net/misc/example_hashes/hashcat.hccap

Запуск программы для конвертации файла:

./hccap2cap hashcat.hccap hashcat_converted.cap

Проверяем результаты:

wireshark hashcat_converted.cap

22

Распределённое вычисление с oclHashcat (Hashcat)

Справка oclHashcat имеет следующие опции для распределённого (на разных компьютерах) вычисления:

  -s,  --skip=ЧИСЛО                  Пропустить число слов
  -l,  --limit=ЧИСЛО                 Ограничиться числом слов
       --keyspace                    Показать базу пространства ключей (количество слов 
                                     в словаре или количество вариантов для маски)

Не очень много, но, на самом деле, если вы немного умеете писать Bash скрипты и знакомы с SSH, то вы вполне способны реализовать распределённый взлом с oclHashcat.

Алгоритм следующий:

  • подключаемся к удалённым компьютерам и проводим бенчмарк по интересующему нас алгоритму
  • если необходимо использовать файлы (файлы хешей, словари), то закачиваем эти файлы на удалённые машины
  • запускаем атаку на удалённых машинах, манипулируя опциями -s и -l в соответствии с данными бенчмарков

Если вы не готовы к самостоятельному программированию, то есть готовые бесплатные решения:

polycat

PassCrackNet

Hashtopus

Disthc

Дополнительные подсказки по oclHashcat (Hashcat) смотрите в следующей заметке: «Подсказки и ответы на частые вопросы по использованию oclHashcat (Hashcat)». Либо ищите всю доступную информацию по тегу oclHashcat (Hashcat).

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

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

  1. Александр:

    Подскажите пожалуйста команду и как правильно вставлять эту команду, чтобы видеокарта работала не на полную мощность, а где то процентов на 50. А то в результате нагрева видеокарты все виснет.

    • Alexey Alexey:

      Что-то конкретное посоветовать не могу - не сталкивался с этой проблемой. Но есть некоторые опции, с которыми можно поиграться. В первую очередь, попробуйте установить профиль с пониженной производительностью -w=1. Другие опции, которые могут пригодиться:

      * Ресурсы:
       
        -w,  --workload-profile=ЧИСЛО      Использовать определённые профили нагрузки, смотри справку внизу
        -n,  --gpu-accel=ЧИСЛО             Настройка нагрузки: 1, 8, 40, 80, 160
        -u,  --gpu-loops=ЧИСЛО             Тонкая настройка нагрузки: 8 - 1024
             --gpu-temp-disable            Отключить чтения температуры и скорости вентилятора и триггеры
             --gpu-temp-abort=ЧИСЛО        Оборвать сессию, если температура GPU достигла ЧИСЛА градусов Цельсия
             --gpu-temp-retain=ЧИСЛО       Пытаться сохранить температуру GPU на ЧИСЛЕ градусов цельсия (только AMD)
             --powertune-enable            Включить автоматическую настройку опции мощности (только AMD OverDrive 6)
      
      * Профили нагрузки:
       
          1 = Профиль с пониженной производительностью (низкая задержка рабочего стола)
          2 = Профиль производительности по умолчанию
          3 = Настроенный профиль производительности (высокая задержка рабочего стола)
      
      • Александр:

        А куда вставлять все эти команды?

        oclHashcat --force -m 2500 /root/hs/out.hccap /root/rockyou.txt

        В конец строки через "-"  ??

  2. Александр:

    Пробую написать следующее:

    root@CTEPEO:~# oclHashcat --force -m 2500 --outfile-format=3 -w 3 --gpu-temp-abort=85 --gpu-temp-retain=80 /root/Wifi_hack/MTSRouter-C77494-01.hccap.hccap /media/root/Downloads/SLOVARI/8x/8x.dic

    bash: oclHashcat: команда не найдена

     

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

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