Авторы: Vivek Ramachandran, Cameron Buchanan
Переводчик: Летучий дракон
Лицензия: CC BY-NC-SA 4.0
Эта глава посвящена новым техникам, включая атаки на WPS и мониторинг с помощью зондов, а также инструменту Pineapple, который упрощает беспроводное тестирование. Эти атаки и инструменты были включены в первое издание книги, чтобы обеспечить её максимальную полноту.
Технология защиты беспроводных настроек (WPS) была введена в 2006 году для помощи пользователям без знаний о беспроводной связи в защите своих сетей. Принцип работы заключается в том, что у каждого устройства WIFI есть один скрытый код, который можно использовать для доступа к сети. Новые устройства могут быть подключены к сети путём нажатия кнопки на маршрутизаторе. Это делает невозможным доступ к сети извне дома. Таким образом, проблема сводится к запоминанию WPA-ключа или установке более короткого ключа.
В конце 2011 года была обнаружена уязвимость в системе проверки безопасности WPS. Процесс обмена данными для подключения к WPS был упрощён, и сам WPS-ключ состоит всего из 8 символов от 0 до 9. Изначально это давало 100 000 000 возможных комбинаций, по сравнению с 21 834 010 558 896 возможными комбинациями для 8-символьного пароля из букв azAZ09.
Однако существует ещё одна уязвимость:
В восьми символах WPS-ключа последний символ является контрольной суммой первых семи символов, поэтому его можно предсказать, оставляя только 10 000 000 вариантов.
Кроме того, первые четыре и последние три символа проверяются отдельно, что даёт всего 11 000 вариантов выбора.
Хотя проверка происходит дважды, мы перешли от 100 миллионов возможных комбинаций к 11 тысячам. Это эквивалентно разнице в шесть часов при взломе алгоритма. Эти проверки делают WPS более уязвимым для атак.
В следующем эксперименте мы будем использовать Wash и Reaver для обнаружения и атаки на уязвимости конфигурации WPS.
Следуйте этим шагам, чтобы начать:
Перед тем как включить атаку на WPS на точке доступа, сначала создайте её. Мы используем TP-LINK, который имеет эту функцию и включён по умолчанию, но может быть сложным или простым в зависимости от настроек. Чтобы проверить это, войдите в свой маршрутизатор и нажмите кнопку WPS. Она должна выглядеть следующим образом:
Теперь, когда мы убедились, что он готов, нам нужно запустить нашу цель. Нам нужно настроить нашу тестовую среду. Мы собираемся использовать инструмент Wash, и для его работы требуется интерфейс мониторинга. Как и раньше, мы должны использовать следующую команду для запуска:
airmon-ng start wlan0
Вывод будет выглядеть так:
У нас есть интерфейс мониторинга, установленный как mon0, и мы можем использовать следующую команду, чтобы вызвать Wash:
wash --ignore-fcs -i mon0
Опция ignore fcs необходима из-за известной проблемы с запросами, вызванной wash:
Мы увидим все близлежащие устройства, поддерживающие WPS, и их статус (включены или разблокированы), а также их версию:
Мы видим, что Wireless Lab поддерживает WPS. Он использует версию 1 и не заблокирован. Отлично! Мы записываем MAC-адрес, который в моём случае равен E8:94:F6:62:1E:8E, и он станет целью следующего инструмента, Reaver.
Reaver пытается взломать WPS-код, предоставленный MAC-адресом. Для запуска используйте следующую команду:
reaver -i mon0 -b <mac> -vv
После запуска инструмент попытается перебрать все возможные комбинации WPS-кода и попытаться их подтвердить. После завершения он вернёт WPS-код и пароль, например:
Получив WPA-PSK, мы сможем успешно аутентифицироваться. Я сохранил соответствующий WPS-PIN по умолчанию для моего устройства, вы можете сделать это, указав PIN в reaver с помощью следующей команды:
reaver -i mon0 -b <mac> -vv -p 88404148
Замените на ваш MAC-адрес.
Мы успешно использовали Wash для обнаружения точки доступа с уязвимостью WPS. Затем мы использовали Reaver для восстановления WPA-пароля и WPS-кода. С этой информацией мы теперь можем аутентифицироваться в сети и продолжить тестирование на проникновение в сеть.
Ранее мы атаковали всю незашифрованную установку WPS. Существует несколько способов дальнейшего изучения безопасной установки без отключения WPS.
Попробуйте установить случайный WPS-код и повторить попытку, чтобы увидеть, сможет ли Reaver быстро его взломать.
Получите маршрутизатор, который позволяет ограничить скорость попыток WPS. Попробуйте и настройте свою атаку, чтобы избежать срабатывания блокировки.
Мы уже говорили о зондах и о том, как они используются для идентификации скрытых сетей и выполнения эффективных атак на поддельные точки доступа. Они также могут использоваться для идентификации отдельных лиц или выявления тенденций в использовании WIFI на больших территориях с минимальными усилиями.
Когда устройство пытается подключиться к сети, оно отправляет запрос на обнаружение, содержащий его собственный MAC-адрес и имя сети, к которой оно хочет подключиться. Мы можем использовать такие инструменты, как airodump-ng, для отслеживания этих запросов. Однако если мы хотим определить, присутствует ли человек в определённом месте в определённое время, или выявить тенденции в использовании WIFI, нам потребуется другой подход.
В этом разделе мы будем использовать tshark и Python для сбора данных. Вы получите код и объяснение того, что было сделано.
Выполните следующие шаги, чтобы начать работу:
Сначала найдите несколько устройств в разных сетях. Обычно достаточно обычного Android или iPhone для сбора информации. Настольные компьютеры обычно не являются хорошими целями, поскольку они могут находиться только в одном месте. Новые Android или iPhone могут отключать запросы на обнаружение или не предоставлять информацию, поэтому проверьте их перед сдачей.
Как только вы найдёте устройство, убедитесь, что WIFI включён.
Затем запустите интерфейс мониторинга, как и раньше.
Следующее, что нужно сделать, это использовать tshark для поиска запросов на обнаружение с помощью следующей команды:
tshark -n -i mon0 subtype probereq
Снимок экрана с командой выглядит следующим образом:
Здесь вывод может показаться запутанным, потому что по умолчанию tshark выводит как можно больше информации, просто пытаясь отобразить как можно больше. Он должен выглядеть примерно так:
Вы уже видите MAC-адреса и SSID запросов на обнаружение. Но вывод всё ещё можно улучшить. Мы можем сделать его более читаемым с помощью следующей команды:
tshark –n –i mon0 subtype probereq –T fields –e separator= -e wlan.sa –e wlan_mgt.ssid
Снимки экрана с командами выглядят следующим образом:
Вывод станет более читабельным:
Итак, теперь у нас есть читаемый вывод, что дальше? Мы создадим скрипт Python, выполним команду и запишем вывод для последующего анализа. Прежде чем запускать код, убедитесь, что интерфейс мониторинга запущен и файл results.txt создан в каталоге. Скрипт Python выглядит следующим образом:
import subprocess
import datetime
results = open("results.txt", "a")
while 1:
blah = subprocess.check_output(["tshark –n –i mon0 subtype probereq –T fields –e separator= -e wlan.sa –e wlan_mgt.ssid –c 100"], shell=True)
splitblah = blah.split("\n")
for value in splitblah[:-1]:
splitvalue = value.split("\t")
MAC = str(splitvalue[1])
SSID = str(splitvalue[2])
time = str(datetime.datetime.now())
Results.write(MAC+" "+SSID+" "+time+"\r\n")
Давайте кратко рассмотрим скрипт Python:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )