Взлом Wi-Fi через WPS: основные атаки и методы защиты для домохозяек

Взлом Wi-Fi через WPS: основные атаки и методы защиты для домохозяек Новости

Я перехватил хендшейк. что с ним делать?

Четырехстороннее рукопожатие записывается скриптом Wifite2 в файл с расширением .cap.

Захват классического хендшейка WPA
Захват классического хендшейка WPA

TCPdump, Wireshark, Nmap и другие программы используют формат .pcap. Хендшейк PMKID будет иметь формат .16800.

По умолчанию Wifite использует для подбора паролей Aircrack-ng. Он отправляет команду вида

aircrack-ng yourhandshake.cap -w /yourwordlist.txt

В простейших вариантах этого достаточно, однако чаще приходится конвертировать хендшейки с помощью hcxtools, чтобы скормить одной из продвинутых утилит для перебора паролей. Например, John the Ripper или hashcat.

Asleap

программы для взлома WIFI
Если в ходе сканирования, твой стамблер в колонке Vendor (производитель оборудования) покажет слово CISCO, не лишнем будет вспомнить о протоколе авторизации LEAP (Lightweight Extensible Authentication Protocol), разработанный как раз-таки циско. Проверить догадки об используемом в сети протоколе может помочь снифер, который должен показать пакеты REQUEST, EAP-CISCO Wireless (LEAP). Главная особенность LEAP состоит в том, что для авторизации нужен не только пароль, но и имя пользователя! По умолчанию в Windows этот протокол не поддерживается, поэтому для работы потребуется установить специальный клиент —
Aironet Client Utilities
. А есть ли смысл его устанавливать? Конечно! Несмотря на продуманность протокола, даже в нем обнаружили уязвимости, позволяющие легко подобрать пароль с помощью перехваченных пакетов LEAP-авторизации. Первым это пронюхал Joshua Wright — разработчик утилиты  ASLEAP . Эта утилита перехватывает сетевые пакеты при повторном коннекте клиента, после чего брутит пароли для идентификации. Утилита работает нативно под Linux’ом, однако на официальном сайте есть версия программы и под винду (правда, не самого последнего билда)

Kali… kali linux

Узнав о существующих на сегодня механизмах защиты беспроводных сетей в

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

Все манипуляции будем проводить с использованием Kali Linux — kali.org. Это сборка на основе Debian, которая до этого была известна под именем Backtrack. Если вы впервые знакомитесь с этой системой, то советую начать сразу с Kali, так как там есть всё то, что было в Backtrack, но в более свежем виде.

(Читатели подсказывают, что есть и другие подобные сборки — например, wifiway.org. Однако я с ними не работал.)

Под Windows тоже можно делать многое из описанного, но основная проблема в отсутствии/плохой поддержке режима монитора беспроводных адаптеров, из-за чего ловить пакеты проблематично. Кому интересно — обратите внимание на CommView и утилиты Elcomsoft. Все они требуют специальных драйверов.

Kali очень удобно использовать с флешки — у неё по наследству от Debian Wheezy (у меня одного закладывает нос от такого названия?) есть persistence mode, который позволяет загружаться в трёх режимах: работы без сохранения данных (read only), работы с их сохранением на отдельный раздел на флешке, так называемом persistence, или работы без сохранения в live/vanilla mode (то есть read only и без использования данных в persistence — изначальная чистая версия дистрибутива).

Но, естественно, кто хочет установить её на жёсткий диск может легко сделать это и из загрузчика, и из уже запущенной оболочки. ОС (LVM) поддерживает шифрованные разделы. Кроме этого, можно сделать собственную сборку Kali — добавить пакеты, настроить загрузчик и прочее. Всё это подробно описано в документации и проблем не вызывает, хотя сборка требует пары часов времени.

Итак, допустим вы скачали ISO и записали его на флешку (для *nix — dd, для Windows — Win32DiskImager). Что дальше?

Whoops

Мы сделали всё правильно и наша точка доступа использует непробиваемые WPA2-PSK-CCMP с 63-значным паролем из

/dev/urandom

. Достаточно ли этого? Нет, если у нас — роутер с WPS, особенно если он старый.

Диаграмма выше описывает процесс подключения клиента к точке доступа с помощью PIN-кода. PIN — 8 цифр, которые обычно наклеены на самом роутере. Клиенты, поддерживающие WPS, могут подключиться к сети либо по обычному паролю WEP/WPA, либо с помощью PIN, причём введя последний клиент получает пароль сети в чистом виде.

По стандарту, последняя цифра в PIN — это контрольная сумма, то есть её можно вычислить исходя из остальных цифр. Таким образом, если бы мы хотели перебрать все возможные комбинации, то это потребовало бы 107 попыток (в основании — число возможных символов (0-9 — десять), в степени — длина строки) — 10 миллионов, что есть около 116 дней, если мы пробуем один код в секунду. Обычно скорость в несколько раз ниже, поэтому на подбор бы ушло больше года.
Логотип WPS
Однако в стандарте допущена ошибка. Процесс авторизации проходит в несколько этапов. Если переданный нами PIN — верный, то точка доступа сообщает об успехе. Если первые четыре цифры PIN — верные, а цифры 4-7 — нет, то точка доступа сообщит об этом после передачи нами пакета M6. В случае же ошибки в первых четырёх цифрах мы узнаем об этом раньше — после пакета M4. Эта проблема была найдена в конце 2022 и описана здесь. По горячим следам авторами исследования был создан reaver-wps, опубликованный затем на Google Code. Там же можно найти документ оригинального описания уязвимости.https://www.youtube.com/watch?v=kztuu2hx1Aw

Итак, допустим наш PIN — 99741624. Мы пытаемся подключиться, используя PIN 99740000 — получаем отказ в авторизации после передачи пакета M6 (так как первая половина кода верна). Если же мы подключимся с 00001624 — отказ будет после M4.

Как видим, основная проблема в том, что мы можем узнать о правильности одной части кода даже при том, что во второй содержится ошибка. Что это даёт? Теперь вместо 10 миллионов комбинаций нам нужно попробовать всего лишь 104 103 = 11 000. Это более чем реально сделать не то что за неделю — за 15 часов, а обычно быстрее.

Обратите внимание: цифр для подбора именно 7, а не 8, так как последняя — контрольная сумма и мы её рассчитываем сами, поэтому её подбирать не нужно. В примерах ниже это #.

Посмотрим ещё раз. Мы начинаем перебор с 0000000#. Отказ после M4 (ошибка в первых 4 цифрах). Меняем на 0001000#. Отказ после M4. 0002000#. M4. Доходим до 9974000#. О! Отказ после М6. Первые 4 цифры угаданы.

Дальше — точно так же. Имея половину кода постепенно увеличиваем вторую. 9974001#. Отказ. 9974002#. Отказ. <…> 99741624. Принято.

Вот в этом и суть Wi-Fi Unprotected Setup «Защищённой настройки Wi-Fi».

Беспроводные каналы


Wi-Fi — технология передачи данных по радиоканалу,

то есть даром

с использованием того же механизма, что и в радиостанциях. И точно так же, как в радиостанциях, если передавать слишком много данных на одной частоте (обычно 2.4 ГГц), то нельзя будет разобрать, что к чему относится. Для этого существует разделение на каналы.

Всего каналов 13, хотя последний канал — тринадцатый — несчастливый и в некоторых странах запрещён, поэтому чаще всего используются 1-12. Однако 13-й можно включить, выбрав для беспроводного адаптера такую страну, как Боливия (BO) — или любую другую, где данная частота разрешена. Да, техническая возможность, как это часто бывает, есть в любом адаптере, но заблокирована по этическим предпочтениям.

Кроме этого есть и 14-й канал (японцы, как всегда, отличились) и частота 5 ГГц с ещё 23 каналами. Вообще, каналы 2.4 ГГц частично пересекаются, плюс их ширина может быть 20 и 40 МГц. Эта тема запутанная из-за наличия разных версий стандарта — кому интересно могут почитать в Википедии. Нам хватит и того, что уже сказано. Пока ещё 5 ГГц применяются реже, но описанные далее приёмы применимы и к этой частоте.

Некоторые используют 13-й канал для скрытия своих сетей, но этот способ здесь даже не рассматривается, так как достаточно перевести адаптер в нужный регион, как он сам их увидит. Например:

ifconfig wlan0 down
iw wlan0 reg set BO
ifconfig wlan0 up
iwconfig wlan0 channel 13

Любой беспроводной адаптер может принимать и передавать данные только на одном канале за раз. Однако текущий канал можно менять сколь угодно часто — для получения полной информации о беспроводных передачах вокруг

airodump-ngпосле рекламы

ниже) переключает канал несколько раз в секунду и ловят всё, что попадается. Это называется

channel hopping

(«прыжки по каналам»). Это делают и системные программы — например,

NetworkManager

для GNOME, который показывает список беспроводных сетей в правом верхнем углу.

Если канал не зафиксирован, то некоторые пакеты могут быть потеряны — адаптер переключился на соседний канал, а в это время по предыдущему каналу прошёл новый пакет, но его антенна уже не уловила. Это критично, когда вы пытаетесь перехватить handshake, поэтому для отключения всех программ, которые используют беспроводной адаптер и не дают зафиксировать канал, используется эта команда:

airmon-ng check kill

Без

kill

будет выведен список всех подозрительных процессов, а с

kill

они будут завершены. После этого адаптер останется целиком в вашем распоряжении. Команду выше рекомендуется выполнять перед любыми действиями, кроме простого обзора сети, так как беспроводной адаптер — общий ресурс; несколько программ могут использовать его одновременно (например, можно ловить список сетей в

airodump-ng

и одновременно подбирать WPS в

reaver

), но любая из них может переключить канал, поэтому важно зафиксировать его и при её запуске (обычно параметр называется

-c

или

–channel

Брутфорс

Брутфорс (Brute Force) – метод автоматического перебора паролей. Ведь пароль же вы вводите свободно? А что сделать, если заставить программу самостоятельно перебирать все возможные варианты и пытаться подключаться с ними.

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

Но все же попробовать перебрать сеть на легкие пароли, или если она WEP, а не WPA/WPA2 безусловно стоит. Вероятность дыры есть всегда.

Основные моменты по бруту:

  • Программы могут использовать весь перебор вариантов – подходит для WEP сети, или же для модели роутера, который заставляет принудительно вводить сложные пароли, где невозможна атака по словарю.
  • Есть вариант атаки по словарю – когда подгружается файл с наиболее частовстречаемыми паролями. Файлов этих очень много – в одной Kali Linux их с пару десятков, а сколько ходит по сети. По мне достаточно проверять на основные пароли мелким списком – все-таки взламывать через брутфорс уже не вариант, а для базовой проверки и экономии времени достаточно самого простого списка.
  • Программа работает в несколько потоков – т.е. может одновременно пытаться перебирать сразу много вариантов. Но тут есть своя особенность: сам роутер может отбрасывать такие попытки, вводить задержки на авторизацию или же вовсе перезагружаться. Т.е. с потоками нужно играться аккуратно. В любой ситуации – проверяйте все на своем железе, так узнаете наверняка.
  • Некоторые пишут про прокси… Но какое тут прокси))) Мы же подключаемся по воздуху) Речь идет о том, что некоторые программы успешно маскируют свои запросы под разные устройства, что дает возможность работать в многопотоке.

Подборку программ дам в конце – обычно одна программа вроде Aircrack (лидер рынка) может сделать все действия сама. Не нужно изобретать велосипеды или ставить 100500 программ. Пока же хочу продолжить обсуждение способом взлома.

Варианты защиты wi-fi

Зачем вообще нужно защищать Wi-Fi? Первое, что приходит в голову, чтобы отсечь непрошенных гостей, которые будут воровать трафик и тормозить сеть. Но есть еще одна причина. К незащищенному роутеру может подключиться злоумышленник, который от вашего имени будет совершать противоправные действия.

Поэтому защищать Вай-Фай нужно и как можно серьезнее.

Существует несколько стандартов аутентификации, позволяющих оградить локальную сеть от несанкционированного проникновения:

  1. WEP – первый и уже устаревший режим безопасности беспроводных сетей. Его надежность не соответствует нынешним требованиям. Взломать WEP-ключ можно методом перебора символов.
  2. WPA – усовершенствованная и более современная версия защиты. Тип шифрования достаточно надежный, с ним не справится рядовой взломщик. WPA имеет два подвида: Personal Key и Enterprise. Первый предназначен для домашнего использования. Для авторизации в сети WPA-Personal Key нужен только ключ безопасности. Второй вариант имеет более высокий тип безопасности и предназначен для корпоративных сетей. Для авторизации необходим сервер Radius.
  3. WPA-2 – улучшенный вариант WPA. Его взлом практически не возможен. Тому, кто затеет такую «авантюру», понадобятся специальные знания, мощный компьютер и уйма времени. Если пароль достаточно сложный, результат можно получить через несколько лет или попробовать «штурм» сразу с нескольких ПК.
  4. WPA-3 – появился совсем недавно и зарекомендовал себя как непробиваемый тип защиты. Разработчики утверждают, что взломать его невозможно в принципе. Роутеры, адаптеры и другие современные устройства уже поддерживают WPA-3.

Взлом wps с reaver –

Как и WEP, WPS хоть и поддерживается большинством Wi-Fi оборудования, но всё реже и реже можно найти точку доступа, где бы он был включён. Тем не менее, такие ТД попадаются и не нужно упускать свой шанс быстро взломать Wi-Fi!

Начать нужно с проверки, включён ли на атакуемой беспроводной точке доступа WPS. Это можно сделать несколькими способами, подробности смотрите в разделе «Поиск беспроводных точек доступа с включённым WPS: использование программ Wash, Airodump-ng и Wifite». Я буду использовать Wash.

Начинаем с отключения NetworkManager. В Kali Linux и BlackArch:

sudo systemctl stop NetworkManager

Переводим беспроводную карту в режим монитора:

t=`iw dev | grep 'Interface' | sed 's/Interface //'`;sudo ip link set $t down && sudo iw $t set monitor control && sudo ip link set $t up

Запускаем Wash (вместо wlp2s0 укажите имя вашего беспроводного интерфейса, узнать которое можно по команде iw dev):

sudo wash -i wlp2s0

006

На мой взгляд, результат очень хороший (там только две лабораторные ТД) — достаточно много точек доступа с активным WPS.

При запуске Reaver нам нужно использовать ключ -i, после которого указать имя беспроводного интерфейса, ключ -b, после которого указать MAC атакуемой ТД. Можно добавить ключ -v или даже -vv — они увеличивают вербальность, т. е. количество показываемой информации. Также для применения Pixiewps укажите ключ -K 1.

Допустим, я атакую ТД 20:25:64:16:58:8C, тогда команда в моём случае приобретает вид:

sudo reaver -i wlp2s0 -b 20:25:64:16:58:8C -vv -K 1

Если Pixiewps не помогла, то запускайте аналогичную команду, но без ключа -K 1.

008

Если у вас возникли проблемы с Reaver, то попробуйте посмотреть заметку «Решение проблем Reaver: WARNING: Failed to associate with и WPS transaction failed (code: 0x03), re-trying last pin».

Как автоматизировать аудит точек доступа wi-fi?

Порог вхождения для обучения взлому WiFi постоянно снижается. За последние пару лет снова выросла подборка простых и эффективных утилит, автоматизирующих выполнение большинства типов атак по каналам беспроводной связи. Когда-то в Kali (тогда еще BackTrack) были только сырые скрипты, а сейчас глаза разбегаются от обилия готовых инструментов.

Сегодня даже не обязательно начинать с изучения Aircrack-ng — пакета, на котором основаны практически все инструменты взлома Wi-Fi. Быстро получить практический результат помогут скрипты WiFi-autopwner от Алексея Милосердова и Wifite2 от Derv Merkler (псевдоним программиста из Сиэтла).

Мне нравятся оба скрипта, но привычнее Wifite2 и его народный форк. Он грамотно использует дополнительные утилиты для повышения эффективности аудита и позволяет автоматически выполнять пять самых распространенных типов атак на все сразу или только на указанные точки доступа.

Wifite2 применяет bully, tshark и reaver для выполнения атак на WPS методом PixieDust или перебором пинов. Он использует coWPAtty и pyrit для проверки хендшейков, захваченных во время атаки на WPA(2), и реализует новую атаку на PMKID с использованием hashcat.

Успешный захват хендшейка PMKID
Успешный захват хендшейка PMKID

Все типы атак уже отсортированы по скорости выполнения. Сначала для выбранной точки доступа используются самые быстрые (WPS, WEP, PMKID), а в случае неудачи скрипт переходит к следующим вариантам. Более того, при включении режима verbose -vv в терминале выводятся все использованные команды и их результат. По сути, это режим обучения и отладки.

Как переключиться в диапазон 5 ггц?

Сначала нужно подключить Wi-Fi-адаптер с поддержкой 5 ГГц и оснастить его подходящей антенной (они тоже делаются для разных диапазонов). Затем просто запустите Wifite с ключом -5, и увидите пятигигагерцевые точки доступа. Обычно их гораздо меньше, чем 2,4 ГГц.

Включение режима 5 ГГц в Wifite
Включение режима 5 ГГц в Wifite

Как подключить нестандартную антенну?

На практике антенны приходится менять, поэтому выбирать стоит адаптер с разъемом для подключения внешней антенны. Проблема в том, что они бывают разные и не подходят друг к другу. Обычно для оборудования внутри помещений применяется миниатюрный разъем RP-SMA, а у более мощных «уличных» адаптеров типа Alfa Tube-UNA — большое гнездо N-Type.

Подружить их помогают коаксиальные переходники. Выбирайте максимально качественные, иначе сильно ухудшится соотношение сигнал/шум (SNR). На фото показан переходник N-Type — RP-SMA. Я использовал его для подключения антенн ARS-N19 и APA-M25 к Alfa Tube-UNA со встроенным усилителем сигнала.

Подключение антенны с разъемом RP-SMA к адаптеру с гнездом N-Type
Подключение антенны с разъемом RP-SMA к адаптеру с гнездом N-Type

Как сделать загрузочную флешку с kali и разделом persistence?

Для этого на USB Flash или SD-карточке нужно создать два раздела. Один будет FAT32 для запуска ОС — на него распаковывается образ с kali.org. Второй раздел — ext3 для сохранения настроек, собственных файлов и сессионных изменений.

Схема разметки с разделом Persistence

Windows не умеет работать с флешками, на которых больше одного раздела, и не поддерживает ext3. Однако в ней такая разметка элементарно делается бесплатной утилитой Rufus. Главное — запускать обычную версию (не portable).

Создание флешки для взлома WiFi
Создание флешки для взлома WiFi

Как составить свой словарь?

Сначала я собрал коллекцию словарей из разных источников. Это были предустановленные словари в программах для перебора паролей, каталог /usr/share/worldlists/ в самой Kali Linux, базы утекших в Сеть реальных паролей от разных аккаунтов и подборки на профильных форумах.

Объединение 80 словарей, пропуская одинаковые записи
Объединение 80 словарей, пропуская одинаковые записи

На следующем этапе я объединил их в один, удалив явные повторы, после чего запустил утилиту PW-Inspector для очистки объединенного словаря от мусора. Поскольку пароль для WiFi может быть от 8 до 63 символов, я удалил все записи короче 8 и длиннее 63 знаков.

cat * > alldicts | sort | uniq
pw-inspector -i alldicts -m 8 -M 63 > WPAMegaDict

Затем я подумал, что получился слишком большой файл, который можно сократить сильнее без явного ущерба для эффективности перебора. Вы видели в реальной жизни пароли Wi-Fi длиннее 16 символов? Вот и я не видел.

pw-inspector -i WPAMegaDict -m 8 -M 16 > WPADict_8-16

Как узнать пароль от wifi или простой wardriving

Какая техника взлома wifi самая быстрая?

Раньше я бы ответил: WPS. Если на точке доступа включен Wi-Fi Protected Setup, то с большой вероятностью она вскрывается перебором известных пинов или более изящной атакой PixieDust. Список пинов для перебора берется из дефолтных конфигов производителя, который определяется по MAC-адресу.

Успешный подбор WPS PIN с помощью WiFi-Autopwner
Успешный подбор WPS PIN с помощью WiFi-Autopwner

В любом случае атака на WPS занимала до пяти минут и казалась скоростной по сравнению с ожиданием захвата хендшейка WPA, который потом еще надо мучительно долго брутить. Однако сейчас появился новый тип атаки — PMKID (Pairwise Master Key Identifier).

Поэтому оптимальный алгоритм взлома (аудита) следующий: определяем, включен ли на целевой точке доступа режим WPS. Если да, запускаем PixieDust. Безуспешно? Тогда перебор известных пинов. Не получилось? Проверяем, не включено ли шифрование WEP, которое тоже обходится влет.

Какую антенну использовать для взлома wifi?

Зависит от конкретных задач. Одни обеспечивают широту охвата, другие позволяют дотянуться до далекой точки доступа, фокусируя ЭМИ узким лучом.

Разведку в эфире удобнее выполнять с дипольными антеннами, у которых широкий угол излучения, но низкий коэффициент усиления (КУ). Эти величины всегда взаимосвязаны, поскольку антенна не добавляет мощности, а просто фокусирует электромагнитные волны. Поэтому при вертикальной ориентации в горизонтальном направлении связь улучшается, а в другом (в сторону верхних и нижних этажей) — ухудшается.

Самая широкая диаграмма направленности у крошечных антенн с КУ до 5 дБи. Здесь ради маркетингового эффекта используется децибел по отношению не к милливатту, а к изотропному излучателю — математической модели антенны с диаграммой в виде сферы. Если покупатель видит две антенны, у которых написано «5 дБи» и «3 дБм», то считает первую «более мощной», хотя они практически идентичны.

Простые дипольные антенны часто предлагаются в комплекте, и для начала их вполне достаточно. Затем рекомендую попробовать антенну Alfa ARS-N19 с КУ 9 дБи — максимально разумным для всенаправленных антенн. Это длинная удочка с более узким углом излучения, зато и дальность уверенного приема больше.

Главные недостатки таких антенн — габариты (у ARS-N19 — 39 см, в карман не положить) и небольшой частотный диапазон (либо 2,4 ГГц, либо 5 ГГц). Поэтому одной не обойтись.

Более компактная и универсальная антенна — Alfa APA-M25. Она панельная (частично направленная) и двухдиапазонная. На частоте 2,4 ГГц обеспечивает КУ 8 дБи, а на 5 ГГц — 10 дБи. С ней удобно атаковать предварительно выбранные точки доступа, расположение которых вы хотя бы примерно представляете. Антенну придется как отклонять по вертикали, так и крутить по горизонтали, чтобы нацелиться на выбранный роутер.

Совсем хардкорные варианты — направленные антенны с большим КУ и очень узким лучом (секторной диаграммой направленности). Такими можно достать цель хоть за километр, но выполнить и зафиксировать их точное наведение крайне сложно. Разрабатывались они преимущественно для стандартов 802.

Методы взлома

Беспроводные сети объединяют много технологий. А где много технологий – там и много технологий безопасности. И на дне этой «утки в яйце» всплывают и дыры в системе безопасности. А на каждую возможную дыру есть свой метод атаки. В этом разделе хотелось бы показать все возможные способы, как взломать Wi-Fi и проникнуть в беспроводную сеть.

Халява! О сколько желания вызывает халява у всех людей. Все хотят чужой интернет. Но одно дело быстро урвать пароль и похвастаться одноклассникам или же сэкономить в общаге на интернете, другое же дело разбираться в самой технологии, которая позволит получить доступ к почти любой сети. Не бегите за хвастовством, только учеба и понимание процессов сделает вас экспертом в этой сфере. Моя же задача сейчас показать охват возможностей и творческую красоту в этом.

Основные способы взломать чужой Wi-Fi:

  1. Незащищенные сети.
  2. Ручной подбор пароля.
  3. Брутфорс пароля.
  4. Подбор WPS кода.
  5. Фишинг.
  6. Базы паролей.
  7. Обход фильтров.
  8. Перехват «рукопожатия» и его расшифровка.
  9. Взлом роутера и вытаскивание открытого пароля.

Кратко постараемся посмотреть на все эти методы. В детали углубляться сильно не буду, но если вдруг у вас появился вопрос – задайте его в комментариях.

Можно ли атаковать скрытую сеть?

Да. Если имя сети (ESSID) скрыто, вы точно так же видите MAC-адрес точки доступа во время сканирования эфира. Первый же подключившийся клиент раскроет ее имя. Поэтому просто подождите коннекта или ускорьте процесс, разослав пакеты деаутентификации.

Определение имени скрытой WiFi-сети
Определение имени скрытой WiFi-сети

На чем брутить пароли wifi?

Локально перебирать пароли лучше на десктопном компе с мощной видюхой, а если его нет, воспользуйся онлайновыми сервисами. Бесплатно в них предлагаются ограниченные наборы, но даже их порой достаточно.

Взлом двух паролей WiFi онлайн
Взлом двух паролей WiFi онлайн

Еще один интересный вариант — использовать сеть распределенных вычислений. Сделать это позволяет, например, Elcomsoft Distributed Password Recovery. Эта универсальная программа понимает десятки форматов паролей и хешей, включая .cap, .pcap и .hccapx.

Распределенный брут хешей WPA
Распределенный брут хешей WPA

Плюс у нее очень продвинутый подход к словарной атаке. Можно использовать маски, приставки и мутации, фактически расширяя объем словаря в несколько раз.

Они среди нас

Взлом Wi-Fi через WPS: основные атаки и методы защиты для домохозяек

Выполняем:

airodump-ng mon0

airodump-ng

— команда для сбора пакетов в радиоэфире. Она выводит в консоль две таблицы. В верхней выводятся найденные беспроводные сети, в нижней — клиенты, подключенные к ним, или не подключенные, но с активным беспроводным адаптером, транслирующем какие-то пакеты (например, о поиске сети с определённым именем).

Последнее, кстати, особенно интересно, так как мы можем любезно предоставить им искомую сеть и посмотреть, что нынче модно в «Одноклассниках»? На эту тему на днях комрадом KarasikovSergey была опубликована статья с использованием Karma — но так как это уже на гране вредительского проникновения в этом цикле мы эту тему затрагивать не будем.

Но это действительно проблема и стоит позаботиться о том, чтобы ваше устройство не цеплялось за все сети без вашего разрешения, в том числе за известные — аутентичность точек доступа не проверяется и вы вполне можете оказаться в сети злоумышленника.

Однако вернёмся к нашим волнам. Ниже пример вывода

airodump-ng

 CH  1 ][ Elapsed: 6 mins ][ 2022-06-06 12:45

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:18:E7:xx:xx:xx  -67      108        0    0  11  54e. WPA2 CCMP   PSK  infolan22451
 F8:1A:67:xx:xx:xx  -88      132        0    0   1  54e. WPA2 CCMP   PSK  TP-LINK
 48:5B:39:xx:xx:xx   -1        0        0    0   5  -1                    <length:  0>

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 (not associated)   4C:B1:99:xx:xx:xx  -73    0 - 1      0       66  dlink
 48:5B:39:xx:xx:xx  1C:7B:21:xx:xx:xx  -81    0 - 1      0       21  

Столбцы первой таблицы с доступными беспроводными сетями:

Перечисление сетей

Напоследок несколько слов

о вечном

об альтернативах

reaver

reaver будет пытаться атаковать любую сеть, которую вы ему передадите в виде параметра BSSID, но она может не поддерживать WPS — в этом случае программа зависнет над Waiting for beacon… и через полминуты сообщит о том, что сеть не обнаружена.

Проверить, какие сети в округе поддерживают WPS, можно несколькими способами.

  • Некоторые версии airodump-ng имеют отдельный столбец WPS, который заполнен для сетей, поддерживающих эту технологию (там даже указана модель роутера)
  • wash -i mon0 выводит удобно отформатированную таблицу всех WPS-enabled сетей, при этом продолжая работать, пока не будет явно закрыт через Ctrl C. Очень полезен и тем, что сообщает, когда сеть поддерживает WPS, но возможность заблокирована (см. про rate limiting выше)
  • iwlist wlan0 scan выводит множество информации по всем доступным в радиусе сетям, в том числе расширенные данные поддержки WPS с именами устройств
  • wifite — автоматический сканер сетей и универсальный взломщик; однако на мой взгляд он слишком универсальный, поэтому сложно понять, что он делает и на какой стадии этот процесс находится. А вот вывод сетей у него очень удобный: показано наличие подключенных клиентов и поддержка WPS

Кроме того, есть очень любимый многими

kismet

(и аналог для Macintosh —

KisMAC

), но на мой взгляд он слишком навороченный. В обоих есть интеграция с GPS, что может быть полезно для тех, кто исследует сети на большой территории (wardriving).

На этом с «читерскими» методами проникновения всё. В третьей части — о перехвате рукопожатий клиентов при подключении к сети и подборе паролей к WPA(2) с помощью CPU и GPU.

Режим persistence

Эта статья — не руководство по Linux, однако у меня самого были проблемы с запуском этого режима, поэтому решил специально описать его работу.

Пользоваться Kali вполне можно и в режиме Live CD, но если вы хотите иметь возможность сохранять состояние системы между перезагрузками (данные и настройки) — нужно создать отдельный ext2-раздел на флешке с именем persistence, для чего можно использовать GParted в составе самой Kali и разбить флешку прямо во время работы с неё.

/ union


Далее при каждой загрузке

Kali

нужно указать, в каком режиме запускать систему. Для этого в загрузчике при выделенном первом пункте

Live (i686-pae)

(аналогично с x64) нажимаем

Tab

— появляется строка загрузки ядра. Туда в конец добавляем пробел и тип загрузки:


Если не указать тип загрузки, система будет запущена в live (vanilla) mode — раздел

persistence

не будет использован и после загрузки его можно будет смонтировать и сделать какие-то изменения. Все данные и настройки в течении работы в live-режиме не будут сохранены и содержатся только во временной памяти.

Чтобы не вбивать эти режимы при каждой загрузке можно создать свою сборку

Kali

(см.

) — там есть настройка загрузчика, куда можно вписать нужные режимы так, чтобы изначально загружаться в

persistence persistence-read-only

— на мой взгляд, это самое удобное, так как изначально настроил всё, что нужно, а затем каждая сессия начинается с чистого листа.

Режимы работы wi-fi адаптера


Но для начала нужно перевести наш беспроводной адаптер (сетевую карту) в «хакерский режим» —

monitor mode

Дело в том, что каждый Wi-Fi адаптер, а точнее, антенна, на физическом уровне улавливает любые сигналы, пересылаемые устройствами в радиусе действия. Антенна не может «не принимать» посторонние пакеты. А вот драйвер может работать в трёх режимах (на самом деле 6, но это за рамками данной статьи):

  1. Client mode (также managed mode) — пакеты, не предназначенные этому адаптеру — отбрасываются, а остальные передаются внутрь ОС как «полученные». В этом режиме повреждённые пакеты также отбрасываются. Нормальный режим работы «без свистелок».
  2. Monitor mode (также rfmon mode) — драйвер не фильтрует пакеты и передаёт всё, что улавливает антенна, в ОС. Пакеты с неверной контрольной суммой не отбрасываются и их можно видеть, к примеру, в Wireshark.
  3. Promiscuous mode («беспорядочный режим») — режим монитора «наполовину». Драйвер будет передавать в ОС пакеты, полученные в рамках сети, к которой мы сейчас подключены (associated), но в отличие от обычного режима не будут отбрасываться пакеты, предназначенные другим клиентам этой сети. Пакеты других сетей будут игнорироваться. Понятно, что это работает только когда вы можете успешно подключиться и авторизоваться в некоторой сети (открытой или нет). В отличии от монитора, этот режим поддерживается меньшим числом адаптеров. При работе в этом режиме, равно как и в режиме клиента, драйвер будет убирать из переданных в ОС пакетов низкоуровневые заголовки канала.

Нам нужен как раз режим монитора — в режиме клиента нам не интересно смотреть на пакеты, которые нам самим и предназначены, а для режима promiscious нам нужно сперва подключиться к некоторой сети. Если не считать повреждённых пакетов и наличия заголовков 802.

На картинке выше жирные линии показывают пакеты, которые мы перехватываем в разных режимах, а прерывистые линии — это пакеты, улавливаемые нашей антенной, но отбрасываемые драйвером из-за выбранного режима.

Открываем терминал и выполняем:

airmon-ng start wlan0

wlan0

— идентификатор устройства-адаптера. В *nix это

wlan

порядковый номер (

wlan0, wlan1, wlan2

и т.д.). Номер адаптера можно узнать, выполнив

ifconfig

или

iwconfig

(эта выведет только устройства беспроводных адаптеров и специфичную для них информацию).

https://www.youtube.com/watch?v=USkRpiI7Pjc

Если airmon-ng выведет сообщение (monitor mode enabled on mon0) — значит, адаптер успешно переведён в режим наблюдения.

Обратите внимание, что в командах, которые мы будем выполнять дальше, тоже указывается идентификатор адаптера, но виртуального — mon0 (mon1, etc.), а не исходного — wlan0. mon0 — адаптер, созданный airmon-ng, предназначенный для работы с функциями монитора.

Сейчас этот режим поддерживается 80-90% всех адаптеров (по моему опыту), самые распространённые из них — Atheros, Intel и TP-LINK. Последний производит внешние адаптеры со сменными антеннами до $30 (я пользовался TL-WN722NC TL-ANT2408CL — к тому же, благодаря USB их можно подключить к VMware). Список поддерживаемых адаптеров есть в вики Aircrack-ng.

Скрытые сети… такие скрытые

Взлом Wi-Fi через WPS: основные атаки и методы защиты для домохозяек

Часто в быту можно услышать, что скрытые сети очень сложно обнаружить/подключиться/взломать/унести (нужное подчеркнуть). Однако как уже было показано, «скрытая» сеть — не что иное, как сеть, не передающая маячки о своём существовании 10 раз в секунду, либо передающие их, но с пустым ESSID и другими полями. На этом разница заканчивается.

Как только к такой сети подключается клиент, он передаёт её ESSID и пароль, и если такая сеть существует в радиусе действия — точка доступа отвечает на запрос и проводит все обычные процедуры по авторизации и передаче данных. А если клиент уже был подключен ранее — его можно увидеть в списке активных адаптеров… и отключить.

Каждый подключенный клиент общается с базовой станцией по её BSSID — и это именно то, что мы видим в обеих таблицах airodump-ng. Мы можем «отключить» клиента от сети, после чего он должен будет подключиться вновь — и в этот момент airodump-ng перехватит рукопожатие со всеми идентификаторами и ключами.

Либо мы можем просто оставить ноутбук включенным на пару часов с airodump-ng на нужном канале и подождать. Кстати, при успешном «вскрытии» в правом верхнем углу появится сообщение вида [ Decloak: 00:00:11:11:22:22 ] с BSSID точки доступа, конспирацию которой мы раскрыли.

Отключение клиентов предусмотрено во всех беспроводных стандартах и делается с помощью aireplay-ng (все три уже знакомые нам утилиты — часть проекта Aircrack-ng, который содержит в своём наборе всевозможные инструменты для работы с тонкими материями):

aireplay-ng wlan0 --deauth 5 -a AP_BSSID -c CLIENT_BSSID

Внимание:

эта команда — исключение и принимает идентификатор

реального

беспроводного адаптера, а не

mon0

, созданного с помощью

airmon-ng

Если при запуске появилась ошибка о незафиксированном канале и/или airodump-ng показывает в правом верхнем углу [ fixed channel -1 ] — значит, какая-то программа или сервис заставляет адаптер перескакивать с канала на канал (это может быть тот же airodump-ng) и их нужно закрыть с помощью airmon-ng check kill, как было описано в начале.

Команда выше имитирует ситуацию, когда точка доступа сообщает клиенту, что старый ключ недействительный (и что его следует обновить, повторив handshake, то есть передав пароль и имя сети заново). На адрес клиента отправляются сообщения якобы от точки доступа о том, что следует отключиться от сети и обновить данные сессии.

Так как этот тип пакетов не защищён шифрованием (то есть команда может быть выполнена ещё до аутентификации), то противодействовать ему невозможно по той простой причине, что невозможно установить «личность» того, кто это рассылает — MAC-адреса в пакетах поддельные и установлены в те значения, которые мы передали после -a и -c. Можно только отслеживать слишком частые отключения и принимать какие-то меры.

После –deauth идёт число пакетов деавторизации, которые будут посланы в оба конца. Обычно хватает 3-5, можно указывать и 30 и больше. Для краткости –deauth можно заменить на -0 (ноль).

Итак, допустим во второй таблице airodump-ng мы видим следующую строчку:

BSSID              STATION            PWR   Rate    Lost    Frames  Probe
4F:B1:A4:05:5C:21  5B:23:15:00:C8:57  -54    0 - 1      0     1266  homenet, XCom

Первый столбец — значение для

-a

(MAC базовой станции), второй — для

-c

(MAC клиента). Перезапустим

airodump-ng

и зафиксируем его на канале 5 (это канал нашей атакуемой станции), после чего выполним отключение клиента в соседнем окне терминала:

airodump-ng -c5 mon0
aireplay mon0 -0 5 -a 4F:B1:A4:05:5C:21 -c 5B:23:15:00:C8:57  


Если сигнал достаточно сильный, число пакетов велико и клиент/точка доступа нас услышали — они отключатся друг от друга, затем передадут информацию о сети вновь при подключении и

airodump-ng

покажет их и строчку

[ Decloak ]

Как видим, данный трюк со скрытием маячков можно использовать для домашних сетей, к которой кто-то подключается пару раз в день, да и то не всегда — но для корпоративных сетей он точно не подходит, так как раскрывается буквально одной командой и защиты от неё нет.

Также, -c (клиентский MAC) можно не указывать — тогда от имени точки доступа будут разосланы широковещательные (broadcast) пакеты об отключении всех клиентов. Однако сегодня это редко работает — драйвера игнорируют такие пакеты, так как правомерно считают, что дело нечисто — точка доступа всегда знает, кто к ней подключен, и рассылает направленные пакеты для конкретного клиента.

Способ 1

Сначала смотрим текущие параметры:

  • iw dev показывает список беспроводных адаптеров и их максимально разрешенную настройками мощность. Обычно мы видим txpower 20.00 dBm ( 20 децибел по отношению к милливатту), что в теории означает мощность передатчика 100 мВт, а на практике — что ваш «свисток» атакуемые роутеры, скорее всего, не услышат.
  • iw reg get отображает глобальные настройки ограничений по использованию WiFi. В частности, код страны по стандарту ISO 3166-1, доступные частотные диапазоны и ширину каналов. Если указано country 00, то страна не задана и действуют жесткие ограничения

https://www.youtube.com/watch?v=TXRVJMmOY6I

Наиболее либеральные нормативы для WiFi у Гайаны (GY) и Белиза (BZ), где разрешается в десять раз большая мощность WiFi-адаптеров. Соответствующая запись в базе выглядит так: country BZ: DFS-JP. (2402 — 2482 @ 40), (30). (5735 — 5835 @ 80), (30). Аббревиатура DFS после кода страны означает Dynamic Frequency Selection — динамический выбор частоты. Он может выполняться по американской (FCC), европейской (ETSI) или японской (JP) схеме. Изменять ее не надо.

Дальше указывается частотное окно в диапазонах 2,4 и 5 ГГц и ширина канала в мегагерцах. От этих параметров зависит, сколько каналов вы увидите.

Чтобы сменить регион, просто пишем в терминале:

iw reg set BZ # Мысленно переносимся в Белиз вместе с ноутбуком
ip link set wlan1 down # Отключаем внешний донгл, обозначенный как wlan1
iw dev wlan1 set txpower fixed 23 mBm # Увеличиваем вдвое мощность передатчика

Шкала здесь логарифмическая, поэтому повышение мощности в два раза (до 200 мВт) соответствует усилению на 3 dBm (до 23 дБм). Проще говоря, TxPower(dBm) = 10 * LOG(P/1), где P — мощность в милливаттах.

Изменение региона и получение 1000 мВт
Изменение региона и получение 1000 мВт

Не спешите сразу врубать донгл на полную. Для каждого девайса есть разумный предел, который подбирается экспериментально. У меня один из адаптеров стабильнее работает на 27 дБм (500 мВт), чем на 30 дБм (1000 мВт), а другой вообще бесполезно гнать выше 23 дБм.

Если же вам посчастливилось купить качественный донгл с большим запасом по мощности (например, уличного исполнения), то попробуйте указать регион PA. Это Панама, где разрешены передатчики до 4 Вт (36 дБм). Правда, от порта USB 2.0 вы столько не получите — нужен USB 3.0 или дополнительное питание.

Фильтрация по mac — ведь это так просто

Взлом Wi-Fi через WPS: основные атаки и методы защиты для домохозяек

Очень часто я слышу рекомендации, что первым делом после создания сети нужно ограничить список её клиентов определённым набором MAC-адресов, и тогда-де пароль вообще ни к чему. Однако это ограничение обходится так же легко, как и обнаруживаются скрытые сети.

В самом деле, каждый клиент — подключенный к сети или нет — раскрывает свой MAC-адрес при передаче любого пакета. В таблице airodump-ng эти адреса видны в столбце STATION. Соответственно, как только мы увидели сеть, куда нам почему-то не попасть (Linux обычно рапортует об Unspecified failure на этапе подключения, а Windows долго думает, после чего сообщает о неизвестной ошибке), и тут же в списке видим связанного с этой сетью клиента — мы можем взять его MAC-адрес и поменять свой на него.

Последствия могут быть разными и может даже стукнуть. Если сделаем это при активном клиенте — в сети появится клон и клиента может «заглючить», так как он будет получать ответы на пакеты, которые он не отправлял. В итоге может отключиться, а может продолжать работать, предупредив о проблеме пользователя — или нет. Но вариант лучше — записать его MAC и подключится, когда он уйдёт.

В Linux изменить MAC своего адаптера можно следующим образом (работает как для проводных сетей, так и для беспроводных):

ifconfig wlan0 down 
ifconfig wlan0 hw ether 00:11:22:AA:AA:AA 
ifconfig wlan0 up

Предварительно нужно отключить любые

mon

-интерфейсы. Проверить, заработала ли подмена, можно вызвав

ifconfig wlan0

— в строке

Hwaddrhttps://www.youtube.com/watch?v=dq3maJC0zzU

должен быть указанный выше MAC.

Кроме того, в *nix есть macchanger — с его помощью можно выставить себе случайный MAC. Если поставить его в init.d, то неприятель будет совершенно сбит с толку, так как при каждой загрузке наш MAC будет другим (работает для любых проводных и беспроводных адаптеров, как и ifconfig).

# Случайный MAC:
macchanger -r wlan0 
# Определённый MAC:
macchanger -m 11:22:33:AA:BB:CC wlan0 
# Показать MAC:
macchanger -s wlan0 

В Windows нужно провести кое-какие манипуляции с реестром, но по этой теме лучше проконсультироваться с Google. (Читатели в лице

подсказывают инструмент

, который делает это в автоматическом режиме.)

Фишинг

Еще один интересный метод заключается в выводе у пользователя сети своей страницы… Да, такое можно провернуть и без подключения к сети. Но подмена может быть и замечена. Самый допустимый вариант:

  1. Создается точка доступа с одинаковым именем взламываемой сети.
  2. Хороший сигнал и название вынудят жертву рано или поздно подключиться к ней.
  3. После входа организуется ввод пароля, который успешно приходит к вам.

Метод рабочий, но тут без удачи не обойтись. Есть и доступные программные методы реализации, например, с помощью Wifiphisher.

Разберем чуть подробнее это приложение, т.к. вектор атаки интересный. Нам понадобится Kali Linux (да, ребятки, весь классный бесплатный софт для хака любого уровня лежит именно там, так что ставьте). В терминале запускаем:

wifiphisher

Сразу после запуска программа начинает искать ближайшие сети (все программы с хаком сети так делают):

Обратите внимание на количество сетей. Найдите в этом списке нужную и введите ее номер. Далее будут предложены различные сценарии атаки:

Все варианты примерно похожи, вся разница лишь в том, что появится у пользователя чужой сети – авторизация или обновление софта. Рекомендую обратить внимание на следующие пункты:

  • Firmware Upgrade Page – будет предложено обновить ПО самого роутера. Выглядит интересно и правдоподобно, а всего лишь нужно ввести тот самый ключ:

А тем временем в консоли вот так прилетает пароль:

https://www.youtube.com/watch?v=4-gPpiVd4V8

Вот и все. Примерное использование всех программ сводится к этому. Не буду подробно останавливаться на одной, иначе получится целая книга. Я обозначаю векторы атаки, даю подсказки – а вы уже самостоятельно изучайте каждое направление. В конце статьи дам интересный бонус от профессиональных хакеров, для тех, кто захочет углубиться.

Рекомендация: Насторожитесь, если сеть, к которой устройство подключалось ранее автоматически без проблем, запросила пароль – особенно на сторонних страница (обновление ПО, пароль в ВКонтакте и т.д. – такого не бывает). Обращайте внимание на дубликаты сети дома.

Оцените статью
Huawei Devices
Добавить комментарий