Показать сообщение отдельно

  #2  
Старый 18.12.2011, 18:25
gpuhash
Постоянный
Регистрация: 22.09.2011
Сообщений: 471
С нами: 7705046

Репутация: 97
По умолчанию

Глава 4. От хендшейка - к паролю

Внимательный читатель уже давно понял, что взлом WPA даже при наличии хендшейка и прямых рук атакующего сродни лотерее, устроителем которой является хозяин точки доступа, назначающий пароль. Теперь, имея на руках более-менее качественный хендшейк наша следующая задача - угадать этот самый пароль, т.е. по сути выиграть в лотерею. Ежу понятно, что благоприятного исхода никто гарантировать не может, но неумолимая статистика показывает, что как минимум 20% WPA-сетей успешно подвергаются взлому, так что отчаиваться не стоит, за дело, друзья!

В первую очередь надо подготовить словарь. WPA-словарь - это обычный текстовый файл, содержащий в каждой строчке один возможный вариант пароля. Учитывая требования к паролям стандарта WPA, возможные пароли должны иметь не менее 8 и не более 63 символов и могут состоять только из цифр, латинских букв верхнего и нижнего регистра и специальных знаков наподобие !@#$% и т.д. (кстати такой алфавит считается достаточно обширным). И если с нижней границей длины пароля все понятно (не менее 8 символов и точка) то с верхней все не так и просто. Взламывать пароль из 63 символов по словарю - совершенно бестолковое занятие, поэтому вполне разумно ограничиться максимальной длиной пароля в словаре 14-16 символов. Качественный словарь (для которого и дана оценка успешности исхода в 20%) весит более 2Гб и содержит порядка 250 млн возможных паролей с длиной в указанном диапазоне 8-16 символов. Что должно входить в эти комбинции возможных паролей? Во-первых, однозначно, весь восьмизначный цифровой диапазон, на который по статистике приходится почти половина всех раскрываемых паролей. Ведь в 8 цифр прекрасно укладываются различные даты, например 05121988. Полный цифровой восьмизнак имеет 10^8 = 100 млн комбинаций что уже само по себе немало. Кроме того, в боевой словарь вардрайвера должны в обязательном порядке входить слова, наиболее часто используемые в качестве паролей, например internet, password, qwertyuiop, имена и др., а так же их мутации с популярными суффиксами-удлинителями паролей (единоличным лидером в этой области является конечно же суффикс 123). Т.е. если пароль diana слишком короток для соответствия стандарту WPA, находчивый юзер в большинстве случаев дополнит его до diana123, заодно увеличивая таким образом (на его опытный взгляд) секретность пароля. Таких популярных суффиксов также известно несколько десятков.

Если самостоятельно собирать словарь влом можно погуглить по ключевым словам wpa wordlist и скачать готовый словарь (не забывайте о таргетировании, ведь довольно наивно будет надеяться на успех гоняя китайский хендшейк по русскому словарю и наоборот) или поискать подходящий вот в этой темке.



а вот так можно использовать crunch чтобы создавать различные комбинации из базовых слов

Подготовив какой-никакой словарь (обзовем его для наглядности wordlist.txt) переходим непосредственно к подбору пароля. Запускаем aircrack-ng со следующими параметрами:

Код:
root@bt:~# aircrack-ng -e  -b  -w wordlist.txt testcap.cap


Ура! Пароль dictionary нашелся за 3 секунды! (если бы все было так просто...)

На скрине выше aircrack-ng нашел пароль (а это было слово dictionary) всего лишь за 3 секунды. Для этого он перебрал 3740 возможных паролей со скоростью 1039 паролей в секунду. Все бы ничего, но здесь внимательный читатель должен изрядно напрячься, ведь ранее мы говорили о словаре в 250 млн возможных паролей! Быстрый подсчет 250*10^6 делим на 1039 и получаем... порядка 240 тыс секунд, а это 66 часов, а это почти трое суток! Именно столько времени потребуется вашему ноутбуку для обсчета базового 2Гб словаря (если конечно вам не повезет и пароль не найдется где-то посередине процесса). Такие гигантские временные промежутки диктуются низкой скоростью выполнения расчетов, обусловленной высокой вычислительной сложностью заложенных в процедуру аутентификации WPA алгоритмов. Что уже говорить о больших словарях, например полный цифровой девятизнак содержит уже 900 млн комбинаций и потребует пару недель вычислений чтобы убедиться что (как минимум) пароль не найден

Такая лузерская ситуация не могла не беспокоить пытливые умы хакеров и вскоре выход был найден. Для потоковых вычислений были задействованы GPU. GPU (Graphic Processing Unit) - сердце вашего 3D-ускорителя, чип с сотнями (и даже тысячами) потоковых процессоров, позволяющий распределить многочисленные но элементарные операции хеширования паролей и тем самым на порядки ускорить процесс перебора. Чтобы не быть голословным скажу, что разогнаный ATI RADEON HD 5870 способен достичь скорости в 100.000 паролей в секунду, а это про сравнению с aircrack-ng уже ощутимый (на два порядка) скачок вперед.



Монстр ATI RADEON 6990 - 3000 шейдеров, 165.000 WPA паролей в секунду. Кто больше?

Конечно, подобные цифры свойственны только топовым адаптерам ATI RADEON (NVIDIA со своей технологией CUDA пока откровенно сливает ATI в плане скорости перебора WPA ввиду явных архитектурных преимуществ последних). Но за все приходится платить, хороший адаптер стоит хороших денег, да и энергии кушает немало. К тому же надо очень внимательно следить за разгоном и охлаждением GPU, не поддаваясь на провокации тру геймеров, гонящих свои адаптеры вплоть до появления артефактов на экране. Ведь для них артефакты (а по сути аппаратные ошибки вычислителей GPU из-за работы на экстремальных частотах) являются только мимолетным мусором на экране, а для нас череваты пропущенным паролем.

В рамках статьи для новичков я не буду, пожалуй, углубляться в дебри настройки ATI SDK и pyrit под линукс (отмечу только, что это секас еще тот ), т.к. это вполне потянет на отдельную статью (коих есть немало в интернетах), да и целевая аудитория, а именно счастливые обладатели топовых радеонов, не так уж и велика, и вполне могут самостоятельно найти необходимый материал.

Как ни парадоксально, для подбора WPA-пароля с помощью GPU лучше всего подходит Windows. Дело в том, что немалую роль в этом процессе играют драйвера видеоадаптеров, Windows-версиям которых разработчики уделяют куда больше внимания, чем драйверам под Linux и других ОС, и это не случайно, ведь ориентируются они в основном на потребности геймеров. Подбор WPA-пароля под Windows умеют делать две программы - коммерческая Elcomsoft Wireless Security Auditor (или просто EWSA) и консольная утилита hashcat-plus из пакета hashcat by Atom (к всеобщей радости виндовз-юзеров к ней есть и GUI, а попросту говоря отдельный оконный интерфейс). Использование именно этих программ мы и рассмотрим далее, а заодно и сравним их качественные характеристики, а конкретно это будет скорость перебора, которую будет развивать каждая из них в равных условиях, а именно на одном и том же компьютере с одними и теми же драйверами и одним и тем же словарем.

Начать нужно с поиска и установки последней версии драйверов для вашей видеокарты (ну или как минимум убедиться что у вас уже установлена свежая версия). Приверженцы зеленых видеоадаптеров должны посетить www.nvidia.com, красные же идут по старинке на www.ati.com, где выбрав из списка свою модель GPU вы можете скачать драйверы для своей версии Windows. Не буду уделять много внимания процедуре установки драйверов, наверное вы это уже делали ранее, и не один раз.

EWSA можно найти (и купить) на сайте разработчиков - www.elcomsoft.com, только учтите что пробная бесплатная версия по слухам не показывает найденный пароль (нормальную “пробную” версию можно найти здесь , только не забудьте удалить ее со своего компьютера после опробования). Установка и настройка EWSA не должны доставить особых хлопот, можно сразу в меню выбрать русский язык, в настройках GPU убедитесь что ваши GPU видны программе и выбраны галочками (если GPU в списке не видны - у вас явно проблема с драйверами), а так же укажите программе ваши словари в настройках словарей.



Запрягаем всех лошадок...

Жмем “Импорт данных -> Импортировать файл TCPDUMP” и выбираем *.cap-файл с хендшейком (программа их проверит и предложит отметить те, которые мы хотим атаковать), после чего можно смело жать “Запустить атаку -> Атака по словарю”:



EWSA отакуэ (ну что за скорость... )

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

Сравним работу EWSA с ее по-настоящему бесплатным конкурентом - hashcat-plus. Качаем полный набор hashcat-gui (куда уже входит консольная hashcat-plus) с сайта автора и распаковываем архив в удобное место (установка не требуется). Запускаем hashcat-gui32.exe или hashcat-gui64.exe в зависимости от разрядности Windows и отвечаем на первый же вопрос какой GPU будем использовать - NVidia (CUDA) или ATI RADEON (вариант CPU only нас, очевидно, не устроит).

Когда появится основное окно программы переходим на вкладку oclHashcat-plus (или cudaHashcat-plus в случае с NVidia). Здесь есть одна тонкость - hashcat не умеет парсить EAPOL-хендшейки (вообще никак), и требует от вас выложить ему “на блюдечке” WPA-хеши в его собственном формате *.hccap. Преобразовать обычный *.cap в *.hccap можно с помощью патченой утилиты aircrack-ng, но не загружать же BT опять ради такой мелочи! К нашей всеобщей радости разработчик hashcat сделал удобный онлайн-конвертер , просто загрузите туда ваш *.cap-файл с хендшейком и укажите ESSID, в случае если хендшейк в файле есть вам вернется уже готовый к атаке *.hccap.

Двигаемся далее - указываем программе наш *.hccap-файл в качестве Hash file для атаки, в окошко Word lists добавляем файлы словарей (стрелками можно выставить желаемый порядок их прохождения), выбираем WPA/WPA2 в качестве Hash type и жмем на Start.



Должно появиться консольное окно с запуском выбранной весии hashcat-plus с кучей параметров, и если все в порядке утилита приступит к работе. В процессе расчета можно выводить на экран текущий статус по нажатию клавиши ‘s’, приостанавливать процесс по нажатию ‘p’ или прервать по нажатию ‘q’. Если hashcat-plus вдруг найдет пароль она вас обязательно с ним ознакомит.



Результат - 392.000 паролей в секунду! И это очень хорошо согласуется с теоретической предполагаемой скоростью, исходя из конфигурации системы.

Я не являюсь ярым сторонником или противником EWSA или hashcat-plus. Однако данный тест убедительно показывает, что hashcat-plus гораздо лучше масштабируем в случае использования нескольких GPU одновременно. Выбор за вами.

_________________________

Продолжение следует
 
Ответить с цитированием