![]() |
Автор: Machine.
При копировании на другие ресурсы использовать копирайт. Сегодня я расскажу и покажу вам как можно использовать всю мощность ваших видеокарт для перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit. Немного о программе: Pyrit позволяет создавать огромные базы данных, для вычислений WPA/WPA2-PSK аутентификации. Используя вычислительную мощность многоядерных и других платформ через ATI-Stream, Nvidia CUDA и OpenCL, в настоящее время, безусловно, самая мощная атака против одной из наиболее часто используемых в мире безопасности протоколов. WPA/WPA2-PSK является подмножеством стандарта IEEE 802.11 WPA/WPA2, что усложняет распределение ключей и аутентификации клиента путем присвоения каждому участвующему Pre-Shared Key. Это главный ключ получается из пароля, который пользователю необходимо предварительно настроить, например, на своем ноутбуке и точке доступа. Когда ноутбук создает соединение с точкой доступа, новый ключ сессии происходит от мастер-ключа для шифрования и аутентификации."Ярлык" использования одного мастер-ключа, а не для отдельных пользовательских ключей облегчает развертывание WPA/WPA2-защищенных сетей для дома и малого офиса в использовании, за счет принятия протокола уязвимы для брутфорса, что позволяет в конечном итоге раскрыть пароль, который защищает сети. Дополнительную информации см. эту статью в блоге проекта. В чем профит? Сравните количество pmk/s на aircrack-ng и pyrit: http://img845.imageshack.us/img845/4...machine001.png http://img88.imageshack.us/img88/389...eusrlibpyt.png Разумно заметить, что все действия проводились в ubuntu 10.04 R2 x86_64 с видеокартой Ati R6950 Twin Frozr III. (Т.е. все справедливо для любых ubuntu-подобных систем, в частности для backtrack 5, с минимальными различиями для 32 и 64 битными системами). Установка Список необходимых программ: 1. AMD driver 11.6 2. AMD APP SDK 2.4 http://orwell.fiit.stuba.sk/~nou/amd-app_2.4_amd64.deb тырк 2 3. Pyrit Код:
svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn1.Установка драйвера: Код:
chmod +x ati-driver-installer-11-5-x86.x86_64.run Код:
cp /home/user/Downloads/AMD-APP-SDK-v2.4-lnx64.tgz /home/userexport AMDAPPSDKROOT export AMDAPPSDKSAMPLESROOT export AMDAPPSDKROOT=/home/user/AMD-APP-SDK-v2.4-lnx64 export AMDAPPSDKSAMPLESROOT=/home/user/AMD-APP-SDK-v2.4-lnx64/samples export LD_LIBRARY_PATH=$AMDAPPSDKROOT/lib/x86:$AMDAPPSDKROOT/lib/x86_x64:$LD_LIBRARY_PATH http://img88.imageshack.us/img88/468...rcgedit003.png ! Поменяйте /user/ на свое имя пользователя Разумно заметить, что выше приведенный вариант работает для систем любой разрядности. Код:
sudo logoutКод:
tar xfz $AMDAPPSDKROOT/icd-registration.tgzВ некоторых англоязычных руководствах описана установка обеих технологий, которые используют карты Ati для взаимодействия непосредственно с карточкой, это OpenCL которая морально и физически устарела для этого дела, и Calpp с библиотеками libboost, которую мы и будем использовать. 4.Установка Calpp: Код:
sudo apt-get install libboost1.40-all-dev cmakeFIND_LIBRARY( LIB_ATICALCL aticalcl PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/" ) FIND_LIBRARY( LIB_ATICALRT aticalrt PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/" ) FIND_PATH( LIB_ATICAL_INCLUDE NAMES cal.h calcl.h PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/include/CAL" ) http://img692.imageshack.us/img692/5...calpp090ge.png Код:
sudo cmake .Код:
sudo apt-get install g++ python-dev zlib1g-dev libssl-dev python-scapy libpcap0.8 libpcap0.8-dev libpcap-devПроверяем правильность установки: Код:
pyrit selftest1. Смотрим доступные ядра процессора/видеокарт: Код:
pyrit list_coresКод:
pyrit benchmark#1: 'CAL++ Device #1 'ATI CYPRESS'': 82426.3 PMKs/s (RTT 2.4) #2: 'CPU-Core (SSE2)': 643.5 PMKs/s (RTT 3.0) #3: 'CPU-Core (SSE2)': 655.1 PMKs/s (RTT 3.0) #4: 'CPU-Core (SSE2)': 691.0 PMKs/s (RTT 2.9) #5: 'Network-Clients': 0.0 PMKs/s (RTT 0.0) Разумно заметить, что 1 видеокарта заменяет 1 ядро процессора, т.е. если у вас 2 и более карт, либо карта двухчиповая, то вывод будет таким: #1: 'CAL++ Device #1 'ATI CYPRESS'': 82426.3 PMKs/s (RTT 2.4) #2: 'CAL++ Device #2 'ATI JUNIPER'': 41805.7 PMKs/s (RTT 2.6) #3: 'CPU-Core (SSE2)': 655.1 PMKs/s (RTT 3.0) #4: 'CPU-Core (SSE2)': 691.0 PMKs/s (RTT 2.9) #5: 'Network-Clients': 0.0 PMKs/s (RTT 0.0) Далее все приведенные действия основываются на том, у вас уже есть .cap файл с перехваченным handshake'ом. ВАЖНО! В pyrit'е можно создавать целые базы прекомпилированных хешей для подбора паролей. Есть 2 варианта хранения и использования этих баз: Вариант 1 - хранение базы в скрытой домашней папке пользователя. Я его называю мобильным, т.е. берется файл с 1 миллионом часто встречающихся паролей, после чего к нему добавляются любые essid'ы для быстрой проверки (1 миллион слов + 1 essid на моей карте это примерно минута времени). Плюсы: Файл с паролями залил 1 раз и забыл (можно заливать сколько угодно, но НЕжелательно) Любое количество essid'ов с любыми именами Маленькие затраты по времени Минусы: При использовании словарей более 20 миллионов и хотя бы 10 разных essid'ов время тратится значительно больше. Вывод- плюсы плавно перетекают в минусы и наоборот. От себя замечу, что это идеальный вариант при наличии пробивного словаря до 1 миллиона слов, который позволит вам чекать разные .cap файлы с большой скоростью. Пример использования: Код:
pyrit -i /путь/до/файла/с/паролями/пароли.тхт import_passwordsПлюсы: Допустим 1 база на 10 уникальных essid'ов может использоваться для любых точек доступа при условии что имя точки совпадает с тем, что находится в базе. Т.е. если у двух ваших соседей имя точки доступа dlink, но естевственно разные mac-адреса, это НЕ помешает вам перебирать их по своей базе без необходится создания новой базы. Скорость Огромная скорость Сделал 1 базу на самые часто встречающиеся essid'ы и чекай их за минимальное время в любых !!! количествах. Минусы: Время компилирования Занимает много места на жестком диске. Вывод- сухие факты про мою базу: 850 миллионов слов, 24 essid'а, 32 часа компилирования, 650.000 pmk/s перебор по базе, вес 240 gb. Естевственно при меньшем кол-ве паролей и essid'ов затраты по времени уменьшаются прямопропорционально. Стоит это того или нет, каждый решает сам. Пример использования: Код:
pyrit -u file:///путь/до/файла/где/будет/база.db -i /путь/до/файла/с/паролями/пароли.тхт import_passwordsДля тех кто постоянно/проффесионально занимается подбором паролей к Wi-Fi наличие подобных программ существенно облегчает жизнь. Пару слов про аналоги - это программа commview for wifi , сделана под винду, я ее в глаза не видел и не трогал, потому что не пользуюсь виндой. Она, конечно, платная (500$ профит). Ссылки по теме: pyrit Замеры скорости перебора на Вашем компьютере Вопросы по commview здесь НЕ обсуждаются (только сравнение). Вопросы не по теме будут караться. Machine. 495260250 |
время компиляцыи убило насмерть 10 гигов компилировало более 3 часов
+ не видит видеокарту (но дрова встали 11/8 версия) добавлено в карту раздела |
Молодец. Так это ты ее на хабре запостил?
|
Да, зеркало на хабре
http://habrahabr.ru/blogs/infosecurity/122553/ добавляйтесь во френды |
Прошу помочь
Устанавливал так : 1. # svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn 2. # sudo apt-get install libssl-dev # sudo apt-get install scapy # sudo apt-get install python-dev 3. # cd /pyrit_svn/pyrit # sudo python setup.py build # sudo python setup.py install 4. 4.1# http://developer.nvidia.com/cuda-toolkit-32-downloads 4.2# cd to /pyrit_svn/cpyrit_cuda 4.3 #sudo python setup.py build 4.4 # sudo python setup.py install На шаге : 4.3 # ssudo python setup.py build выдало следующее : oot@bt:~/pyrit_svn/cpyrit_cuda# sudo python setup.py build The CUDA compiler and headers required to build kernel were not found. Trying to continue anyway... running build running build_ext /bin/sh: nvcc: command not found None Failed to execute command 'nvcc -V' Traceback (most recent call last): File "setup.py", line 175, in setup(**setup_args) File "/usr/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/usr/lib/python2.6/distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/usr/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "setup.py", line 82, in run raise SystemError("Nvidia's CUDA-compiler 'nvcc' can't be " \ SystemError: Nvidia's CUDA-compiler 'nvcc' can't be found. root@bt:~/pyrit_svn/cpyrit_cuda# Гугл не помог =( запутал еще сильнее . . Установлено BT5 , видюха NVIDIA GTS 250 (стоят дрова NVIDIA-Linux-x86-275.09.07.run ) |
Вот тут хедеры не встали:
The CUDA compiler and headers required to build kernel were not found. Trying to continue anyway... Просто я с cuda дело не имел, кури тему на сайте пирита в разделе issuses |
хакырь однако, статья +
|
Спасибо за статью!
|
Спасибо за статью!
|
отличная статья!раадует что в ВТ это все есть и устанавливать не пришлось)
|
На BackTrack 5 вообще никаких проблем не было с pyrit + cuda
Библиотеки нужные ставишь, dev-пакеты, компилишь pyriy_cuda, потом pyrit =) Спасибо за статью |
root@dupd0m-Satellite-A300:/home# python setup.py build
python: can't open file 'setup.py': [Errno 2] No such file or directory в чем проблема помогите? |
Помогтёща при настройке, интересная штуковина, и работает с пол-тычка!
|
Цитата:
проблемка появилась ? Пирит не видит ядро видюхи ? почему . ? |
Цитата:
|
Добавлю пару слов о режимах атаки pyrit:
attack_passthrough - атака по словарю из файла (путь к файлу словаря задается ключом -i). при такой атаке вычисляемые PMK не сохраняются на диск, идет только проверка подошел пароль или нет. pyrit показывает реальную скорость GPU. attack_db - атака только по предварительно вычесленным радужным таблицам (rainbow tables). GPU не задействуется, скорость атаки зависит от производительности центрального процессора и диска, а так же от формата базы данных pyrit (file, sqlite, mysql). самая быстрая атака - на хороших машинах скорость легко превышает 2М PMK/s (!) attack_batch - комбинированная атака, использует (при наличии) предварительно рассчитанные таблицы, при отстуствии задействует GPU и сохраняет данные в базу данных для дальнейшего использования. скорость демонстрируемая pyrit может быть меньше реальной скорости GPU т.к. требуется оверхед для сохранения PMKs в базу данных. batch - просто расчет заданных ESSID в радужные таблицы для дальнешего использования. eval - показать состояние базы данных (число паролей в БД и состояние радужных таблиц) import_passwords - импортировать пароли из файла в БД с проверкой уникальности (медленно) import_unique_passwords - импортировать заведомо уникальные пароли в БД (быстро, но забота о уникальности паролей лежит на генераторе) Надеюсь будет полезно. |
Цитата:
|
Несколько слов об оптимизации скорости pyrit.
Для многих пользователей pyrit - черный ящик, который выдает какие-то цифры и иногда пароли Этой заметкой я хочу помочь страждущим разобраться с оптимизацией своей системы для повышения скорости перебора с использованием pyrit. 1. Оценку скорости нужно проводить только в режиме attack_passthrough и желательно с приличным (1-2Гб) словарем. Встроенная оценка по команде pyrit benchmark всегда немного завышает результат, атаки attack_batch будут давать большой разброс показаний в плюс или минус в зависимости от того, был ли уже посчитан текущий ESSID, от скорости диска, типа базы данных 2. Если у вас в системе несколько GPU - отключите CrossFire (у NVIDIA это SLI). CrossFire балансирует нагрузку между GPU что сильно снижает суммарную производительность системы. Отключение CrossFire: aticonfig --adapter=all --cf=off после этого необходимо перезапустить Х-сервер. 3. Если у вас карта ATI (AMD) используйте CAL++ и свежую версию pyrit из svn. CAL++ дает значительный выигрыш по скорости (до 30%) над OpenCL на адаптерах 5ххх и 6ххх серий. 4. Отключите Hyperthreading. Несмотря на большее число "виртуальных" ядер в режиме Hyperthreading суммарная производительность pyrit только снизится. Особенно опасны ситуации когда pyrit будет пытаться считать на ядре, предназначенном для "кормления" GPU данными - снижение производительности неизбежно! Для систем с мощными видеокартами (100-150К PMK/s) можно вообще отключить возможность расчетов на CPU. 5. Установите параметр workunit_size в конфиге pyrit (обычно ~/.pyrit/config) в размере двойной скорости вашей видеокарты. По умолчанию там стоит 75000 что может быть маловато для быстрых карт. 6. Следите за температурой GPU. Если она приближается к 90С - обеспечьте лучшее охлаждение железа. Выполнение всех этих пунктов позволило мне получить 155К PMK/s на стоковом HD 6990 без разгона (изначально "из коробки" было 80-90К). Ну и немного оффтопика - oclHashcat-plus-0.06 с ключом --gpu-loops 4096 обгоняет pyrit в моей конфигурации и выдает 166К PMK/s, но через 10-15 минут работы вылетает с перегревом GPU. Для длительного использования приходится задавать --gpu-loops 2048 что дает в результате те же 150-155К и приемлемую температуру GPU 88-89C. |
Какой аналог во FreeBSD проги pyrit?
|
подскажите пож а через виртуальную машину будет видна видео карточка?
я все сделал вроде правильно но выдает только это 111@bt:~$ pyrit list_cores Pyrit 0.4.0 (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ The following cores seem available... #1: 'CPU-Core (SSE2)' 111@bt:~$ |
под винду есть что нибудь подобное?
|
Цитата:
|
Долго пытался установить Pyrit на свой нетбук с видеокартой AMD HD4225. Сначала были проблемы с установкой драйверов, в итоге установил Linux Mint 13 скачал на него все имеющиеся обновления через встроенный центр обновления и после этого скачал и установил драйвера с сайта AMD amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.Драйвера установились, но FPS оказался ниже чем я ожидал
oleg@Aspire-One-721 ~ $ fgl_glxgears Using GLX_SGIX_pbuffer 1650 frames in 5.0 seconds = 330.000 FPS 1867 frames in 5.0 seconds = 373.400 FPS 1853 frames in 5.0 seconds = 370.600 FPS 1870 frames in 5.0 seconds = 374.000 FPS 1863 frames in 5.0 seconds = 372.600 FPS 1823 frames in 5.0 seconds = 364.600 FPS Никак не мог установить CAL++, как выяснилось я устанавливал не в ту папку AMD-APP-SDK-v2.9-1.599.381-GA-linux64 (я запускал установку из папки обычного пользователя и устанавливалась она в папку обычного пользователя, а нужно было запускать установку из папки Root пользователя, об этом я прочитал здесь: http://forum.ubuntu.ru/index.php?top...875#msg1632875 ). Дальше все установки пошли без проблем. Вот результаты. oleg@Aspire-One-721 ~ $ pyrit list_cores Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ The following cores seem available... #1: 'CAL++ Device #1 'ATI RV610'' oleg@Aspire-One-721 ~ $ pyrit selftest Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Cores incorporated in the test: #1: 'CAL++ Device #1 'ATI RV610'' Running selftest... All results verified. Your installation seems OK oleg@Aspire-One-721 ~ $ pyrit benchmark Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Running benchmark (278.8 PMKs/s)... / Computed 278.76 PMKs/s total. #1: 'CAL++ Device #1 'ATI RV610'': 294.8 PMKs/s (RTT 4.8) Почему Pyrit не видет процессора. Раньше когда я устанавливал Pyrit без драйверов от AMD Pyrit видел только процессор, а теперь наоборот. Пользовался вот этой инструкцией: http://habrahabr.ru/post/237779/ |
| Время: 13:50 |