Подбор пароля к WPA/WPA2 с использованием видеокарты

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by Machine, 23 Jun 2011.

  1. Machine

    Machine Elder - Старейшина

    Joined:
    23 Jun 2008
    Messages:
    409
    Likes Received:
    116
    Reputations:
    117
    Автор: 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:


    [​IMG]
    [​IMG]

    Разумно заметить, что все действия проводились в 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
    Code:
    svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn
    4. Calpp++ тырк

    1.Установка драйвера:
    Code:
     chmod +x ati-driver-installer-11-5-x86.x86_64.run 
     sudo ./ati-driver-installer-11-5-x86.x86_64.run 
     sudo reboot
    2.Установка AMD APP SDK 2.4:
    Code:
     cp /home/user/Downloads/AMD-APP-SDK-v2.4-lnx64.tgz /home/user
     cd /home/user
     tar -xvzf AMD-APP-SDK-v2.4-lnx64.tgz 
     gedit ~/.bashrс
    Внизу этого файла добавляем следующие строки:

    export 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

    [​IMG]

    ! Поменяйте /user/ на свое имя пользователя
    Разумно заметить, что выше приведенный вариант работает для систем любой разрядности.


    Code:
    sudo logout
    3.Регистрируем icd-registration:
    Code:
     tar xfz $AMDAPPSDKROOT/icd-registration.tgz
     sudo cp $AMDAPPSDKROOT/etc /etc
    ВАЖНО!
    В некоторых англоязычных руководствах описана установка обеих технологий, которые используют карты Ati для взаимодействия непосредственно с карточкой, это OpenCL которая морально и физически устарела для этого дела, и Calpp с библиотеками libboost, которую мы и будем использовать.

    4.Установка Calpp:
    Code:
     sudo apt-get install libboost1.40-all-dev cmake
     tar -xvzf calpp-0.90.tar.gz
     cd calpp-0.90
     sudo gedit CMakeLists.txt
    Исправляем FIND_LIBRARY на следующие значения:
    FIND_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" )

    [​IMG]

    Code:
     sudo cmake .
     sudo make install
    5.Установка pyrit:
    Code:
     sudo apt-get install g++ python-dev zlib1g-dev libssl-dev python-scapy libpcap0.8 libpcap0.8-dev libpcap-dev
     svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn
     cd /pyrit_svn/pyrit
     sudo python setup.py build install
     cd ..
     cd cpyrit_calpp
     sudo python setup.py build install
    На этом установка закончена.
    Проверяем правильность установки:
    Code:
    pyrit selftest
    Использование

    1. Смотрим доступные ядра процессора/видеокарт:
    Code:
    pyrit list_cores
    2. Запускаем оценочный тест:
    Code:
    pyrit benchmark
    вывод (количество pmk/s естевственно будет зависеть от вашей видеокарты):

    #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 файлы с большой скоростью.
    Пример использования:

    Code:
    pyrit -i /путь/до/файла/с/паролями/пароли.тхт import_passwords
    pyrit -r cap-01.cap analyze
    pyrit -r cap-01.cap -b 00:11:22:33:44:55 attack_batch
    либо 
    pyrit -r cap-01.cap attack_batch
    Вариант 2 - хранение базы в любой указанной папке пользователя. Это более основательный подход к делу. Позволяет создать базу для конкретных essid'ов и конкретным числом паролей, т.е. берется файл с 100 миллионами паролей, после чего к нему добавляются любые essid'ы с уникальными именами. После чего база компилируется и привязывается к конкретным essid'ам которые вы в нее залили. После компиляции скорость увеличивается в 5-7 раз. Отличный вариант скажете вы, и будете правы, но ложка дектя конечно же есть :) подвох заключен во времени компиляции, которые естевственно зависит от кол-ва паролей и essid'ов и составляет продолжительно время.
    Плюсы:
    Допустим 1 база на 10 уникальных essid'ов может использоваться для любых точек доступа при условии что имя точки совпадает с тем, что находится в базе. Т.е. если у двух ваших соседей имя точки доступа dlink, но естевственно разные mac-адреса, это НЕ помешает вам перебирать их по своей базе без необходится создания новой базы.
    Скорость
    Огромная скорость
    Сделал 1 базу на самые часто встречающиеся essid'ы и чекай их за минимальное время в любых !!! количествах.
    Минусы:
    Время компилирования
    Занимает много места на жестком диске.
    Вывод - сухие факты про мою базу: 850 миллионов слов, 24 essid'а, 32 часа компилирования, 650.000 pmk/s перебор по базе, вес 240 gb.
    Естевственно при меньшем кол-ве паролей и essid'ов затраты по времени уменьшаются прямопропорционально. Стоит это того или нет, каждый решает сам.
    Пример использования:

    Code:
    pyrit -u file:///путь/до/файла/где/будет/база.db -i /путь/до/файла/с/паролями/пароли.тхт import_passwords
    pyrit -u file:///путь/до/файла/где/будет/база.db -e linksys create_essid
    pyrit -u file:///путь/до/файла/где/будет/база.db eval
    pyrit -u file:///путь/до/файла/где/будет/база.db batch
    pyrit -u file:///путь/до/файла/где/будет/база.db eval
    pyrit -u file:///путь/до/файла/где/будет/база.db -r /путь/до/файла/с/cap/output-01.cap attack_db
    Заключение
    Для тех кто постоянно/проффесионально занимается подбором паролей к Wi-Fi наличие подобных программ существенно облегчает жизнь. Пару слов про аналоги - это программа commview for wifi , сделана под винду, я ее в глаза не видел и не трогал, потому что не пользуюсь виндой. Она, конечно, платная (500$ профит).

    Ссылки по теме:
    pyrit
    Замеры скорости перебора на Вашем компьютере

    Вопросы по commview здесь НЕ обсуждаются (только сравнение).
    Вопросы не по теме будут караться.


    Machine. 495260250

    Посмотреть статистику перебора других видео карт тыц

    теща Добавлено в карту раздела
     
    #1 Machine, 23 Jun 2011
    Last edited by a moderator: 3 Dec 2011
    quite gray and теща like this.
  2. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,106
    Likes Received:
    492
    Reputations:
    285
    время компиляцыи убило насмерть 10 гигов компилировало более 3 часов
     
    #2 теща, 23 Jun 2011
    Last edited: 26 Sep 2011
  3. FlatL1ne

    FlatL1ne Elder - Старейшина

    Joined:
    5 Oct 2007
    Messages:
    96
    Likes Received:
    27
    Reputations:
    10
    Молодец. Так это ты ее на хабре запостил?
     
    valokorden likes this.
  4. Machine

    Machine Elder - Старейшина

    Joined:
    23 Jun 2008
    Messages:
    409
    Likes Received:
    116
    Reputations:
    117
    Да, зеркало на хабре :)

    http://habrahabr.ru/blogs/infosecurity/122553/

    добавляйтесь во френды
     
  5. defolder

    defolder Banned

    Joined:
    23 Dec 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Прошу помочь

    Устанавливал так :
    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 <module>
    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 )
     
  6. Machine

    Machine Elder - Старейшина

    Joined:
    23 Jun 2008
    Messages:
    409
    Likes Received:
    116
    Reputations:
    117
    Вот тут хедеры не встали:
    The CUDA compiler and headers required to build kernel were not found. Trying to continue anyway...

    Просто я с cuda дело не имел, кури тему на сайте пирита в разделе issuses
     
  7. dupD0M

    dupD0M Elder - Старейшина

    Joined:
    18 May 2010
    Messages:
    1,159
    Likes Received:
    72
    Reputations:
    34
    отличная статья!раадует что в ВТ это все есть и устанавливать не пришлось)
     
  8. wMw_

    wMw_ New Member

    Joined:
    1 Jun 2009
    Messages:
    41
    Likes Received:
    3
    Reputations:
    0
    На BackTrack 5 вообще никаких проблем не было с pyrit + cuda

    Библиотеки нужные ставишь, dev-пакеты, компилишь pyriy_cuda, потом pyrit =)

    Спасибо за статью
     
  9. dupD0M

    dupD0M Elder - Старейшина

    Joined:
    18 May 2010
    Messages:
    1,159
    Likes Received:
    72
    Reputations:
    34
    root@dupd0m-Satellite-A300:/home# python setup.py build
    python: can't open file 'setup.py': [Errno 2] No such file or directory

    в чем проблема помогите?
     
  10. user_bad

    user_bad Elder - Старейшина

    Joined:
    24 Feb 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    так еще кроме пирита есть такая штука http://hashcat.net/oclhashcat-plus/, тоже впа перебирает, и под виндой и под линуксом
     
    1 person likes this.
  11. beowulf0208

    beowulf0208 New Member

    Joined:
    9 Oct 2011
    Messages:
    61
    Likes Received:
    1
    Reputations:
    0
    У меня видеокарта NVIDIA GeForce GTS250 возможно ли её использовать для pyrit или возможно использовать только Radeon (AMD) видеокарты?
     
  12. reddevil001

    reddevil001 Elder - Старейшина

    Joined:
    23 Oct 2010
    Messages:
    118
    Likes Received:
    16
    Reputations:
    19
    Можно только вместо амд библиотек нужно нвидиавское cudo поставить.
     
  13. beowulf0208

    beowulf0208 New Member

    Joined:
    9 Oct 2011
    Messages:
    61
    Likes Received:
    1
    Reputations:
    0
    Видел в инете руссифицированную и дополненную мультимедийными программами сборку BackTrack 4, в этой сборке уже интегрирован Pyrit, но правда работать он может только с видеокартами Radeon, думаю в этой сборке нет библиотек CUDA, причём это единственный BackTrack, который запускается у меня на ПК (во время загрузки остальные версии BackTrack, включая версию 5R1, как будто зависают во время загрузки), все остальные версии без проблем идут на нетбуке. Linux устанавливать не хочу, поэтому запускаю BackTrack только в режиме LiveCD, да и вообще с Linux мало "знаком". Может быть у кого-нибудь есть BackTrack 4(5) с интегрированным Pyrit и библиотеками CUDA для запуска Pyrit на GeForce?
     
  14. reddevil001

    reddevil001 Elder - Старейшина

    Joined:
    23 Oct 2010
    Messages:
    118
    Likes Received:
    16
    Reputations:
    19
    Врятли найдешь, т.к. все отдельно его ставят.
    Поставь любую *nix систему и pyrit по инструкции http://code.google.com/p/pyrit/wiki/Installation
     
    #14 reddevil001, 18 Oct 2011
    Last edited: 18 Oct 2011
  15. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,106
    Likes Received:
    492
    Reputations:
    285
    а ты б описал товарищу как ето сделать и получил бы + ;)
     
  16. Dioptimizer

    Dioptimizer Member

    Joined:
    18 Nov 2011
    Messages:
    56
    Likes Received:
    16
    Reputations:
    6
    Немного добавлю своего опыта с bt5 nvidia cuda в связке с persistent - в результате получаем экономию места и флешку с FAT32 совместимую с Windows (при желании можно и NTFS, но тогда загрузчик должен быть GRUB4DOS).

    Проблема моя заключалась в ограниченном месте для установки bt5, стандартная установка (распаковка) занимала всю мою флешку 8ГБ плюс еще создавала swap раздел. В итоге свободное место на флешке практически испарилось и было не достаточно для nvidia драйвера и cuda библиотек и последующего запуска run файлов, плюс еще библиотеки python.

    Установил я BT5R1 с помощью UNetbootin ~1.92ГБ (по сути образ ISO) + файл
    casper-rw (Минимум 2ГБ, не забываем про FAT32 и ограничение под большие файлы).

    Решение проблемы места мне показалось довольно удобным простим и результативным - Persistent или на Persistent по Русски (если в двух словах, просто нужно создать с помощью утилиты dd на флешке файл casper-rw, после чего форматнуть его под ext3 - в результате будут сохранятся настройки, в том числе и устанавливаться драйвера).

    После прикручивания фитчи casper-rw я обрадовался, мол наконец-то смогу нормально пользоваться BackTrack'ом, но как говориться - не долго музыка играла...
    При попытке установить nvidia драйвер, он начал ругаться, мол не нравится мне драйвер с незамысловатым названием nouveau и нужно его добавить в блеклист, что-бы он не грузился.
    Но последующие действия не привели к положительному результату, чего я только не делал...
    Помогла только простая команда в файле загрузчика, syslinux.cfg или menu.lst
    Code:
    nouveau.modeset=0
    В моем случае это выглядит так:
    Code:
    label unetbootindefault
    menu label Default
    kernel /ubnkern
    append initrd=/ubninit file=/cdrom/preseed/custom.seed boot=casper persistent text splash vga=791-- nouveau.modeset=0
    добавлено:
    и еще, если вы забыли что-то скопировать из casper-rw, а нужно работать на Win ОС, то можно открыть casper-rw образ в WinHex, как образ диска ;)

    Всех с наступающим!
     
    #16 Dioptimizer, 19 Nov 2011
    Last edited: 19 Nov 2011
  17. rossomahaar

    rossomahaar New Member

    Joined:
    30 Jan 2012
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    ни кто не практиковал в создании кластера для брута на ресурсах GPU?
    нашел пару мануальчиков по John The Ripper заточеных для работы в кластере, но на сколько я знаю JTR использует только CPU ресурсы. Если я не прав-не бить =)
    зы. только хотел на амазоне кластер собрать пасс хряпать и о-чудо я понял склад ума моего соседа. перебирал по маске 8(три числа операторов местной связи)(семь чисел рандом) и поймал пасс. тока зарегался на античате :D
     
    #17 rossomahaar, 31 Jan 2012
    Last edited: 31 Jan 2012
  18. Voland70

    Voland70 New Member

    Joined:
    18 Oct 2011
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Статья заслуживает внимания!
    Но я пытаюсь подборать пароль к WPA/WPA2 с использованием видеокарты из под Windows c помощью Elcomsoft Wireless Security Auditor - программой рекомендованной на данном форуме.
    С использованием beside-ng получил WPA-файл с хендшейками трех наиболее сильных сетей в зоне действия ноутбука. Перенес их на более мощный стационарный компьютер с видеокартой Nvidea GeForce GTX 480, и скачал английский-русский -числовой-символьный словарь. 8,5 Гб, чтоб уж наверняка.
    После запуска атаки по выбранному словарю Elcomsoft Wireless Security Auditor - показал среднюю скорость 24 600, и при работе более часа, в строке состоянии EWSA по прежнему оставалось -0%. Компьютер при этом работал под большой нагрузкой, гудел, греелся. EWSA показывало температуру видеокарты t- 91°.

    [​IMG]

    Можно сделать вывод, что в данных условиях по выбранному словарю атака будет длиться не менее 125 часов, что более пяти суток непрерывной работы компьютера. Можно его угреть насмерть. Да и ждать заветный пароль более пяти суток не камельфо!

    Прошел 1 час 15 минут работы EWSA – по прежнему процесс - 0%, но программа сама остановилась - с сообщением, что пароль не найден и предложила поменять словарь и мутации пароля. В общем словарь был использован не в полном объеме.
    Разве это нормально? Что не так?
    Какие есть методы более быстрой и эффективной атаки по словарю желательно из под Windows или Ubuntu Live CD? Не хочу заморачивваться и ставить Ubuntu как полноценную операционку.
    Подкиньте информации, желательно подробной (с азами для чайников).
     
  19. Buran

    Buran Elder - Старейшина

    Joined:
    25 Feb 2011
    Messages:
    1,193
    Likes Received:
    6,603
    Reputations:
    109
    Судя по скрину ждать придётся все 122 дня!

    EWSA не может открыть файл такого размера. Порезать бы надо... покрошить, помельче... :)
     
  20. KUKLOVOD2

    KUKLOVOD2 Banned

    Joined:
    12 May 2011
    Messages:
    94
    Likes Received:
    7
    Reputations:
    1
    там еще нужно не забывать убирать password mutation option, все бегунки на 0
     
Loading...