Вы покупаете дорогой роутер, устанавливаете сложный пароль и никому его не сообщаете, но всё равно замечаете, что скорость порой как-то проседает… Хуже, только если вы обнаружите кражу личных данных, заблокированный компьютер и другие прелести. Несмотря на антивирус и другую защиту.
Оказывается, домашний Wi-Fi далеко не так защищен, как вы думаете. Разбираемся, почему.
Уязвимый WPA2
Современные точки доступа Wi-Fi защищены в основном протоколом WPA2. В нём реализовано CCMP и шифрование AES. CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) – это протокол блочного шифрования с кодом аутентичности сообщения (MAC) и режимом сцепления блоков и счётчика, который был создан для замены более слабого TKIP (использовался в предшественниках, WPA и WEP). Собственно, CCMP использует AES (Advanced Encryption Standard) – симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит).
Объективно говоря, WPA2 – довольно старый протокол
Его разработали в начале 2000-х, а с 13 марта 2006 года поддержка WPA2 стала обязательной.
Соответственно, и уязвимостей в протоколе найдено немало. Например, ещё 23 июля 2010 года опубликовали данные о дыре под названием Hole196. Используя её, авторизовавшийся в сети пользователь может применять свой закрытый ключ для расшифровки данных других пользователей и подменять MAC-адреса, а значит, использовать ресурсы взломанной сети для атак на различные веб-ресурсы без риска быть обнаруженным. Без всякого брутфорса и взлома ключей!
Патчи, надо сказать, выпустили не все. А дальше пошло-поехало…
Всё, что написано дальше, мы рассказываем исключительно в ознакомительных целях. Можете проверить на своём домашнем Wi-Fi
Взлом WPA2
Сегодня Wi-Fi c WPA2 в основном взламывают брутфорсом и атакой по словарю. Хакеры мониторят беспроводную карту, сканируют эфир, отслеживают и записывают нужные пакеты.
После этого выполняется деавторизация клиента. Это нужно для хэндшейка – захвата начального обмена пакетами. Можно, конечно, подождать, пока клиент подключится. Но этого может и не произойти, по крайней мере, в ближайшие несколько минут.
После деавторизации взломщикам даже не нужно находиться вблизи от нужной точки доступа. Дальнейшая атака проводится офлайн через специальное приложение, который использует файл с хэндшейком.
Для взлома WPA2 часто используют утилиту Kismet для Linux. После выбора нужной сети определяется канал, на котором она находится. Затем в меню Kismet -> Config Channel нужно указать в сетевой карте этот номер канала: выбрать пункт Lock в появившемся окне, задать номер в поле поле Chan/Freq и нажать Change.
После этого нужно выбрать желаемую сеть и нажать Enter. Kismet запустит сбор пакетов. Если их количество начнёт расти, остаётся ждать, пока в сети запишется Handshake. Его наличие можно проверить утилитой aircrack-ng – командой aircrack-ng имя_файла_дампа.
Файлы с захваченными пакетами имеют расширение .pcapdump.
После этого нужно запустить брутфорс. Желательно заранее найти файл с паролями. Брутфорс проводится командой aircrack-ng –b XX:XX:XX:XX:XX:XX –w passwords.txt /tmp/*.pcapdump, где
- XX:XX:XX:XX:XX:XX – BSSID сети,
- passwords.txt – текстовый файл с паролями для брутфорса,
- /tmp/*.pcapdump – адрес размещения файлос с захваченными пакетами.
Другой вариант – перебор всех паролей, к примеру, утилитой John the Ripper. Вероятность в этом случае 100%, но до финала могут пройти годы.
Атака KRACK
Атака переустановки ключа (Key Reinstallation Attack) на WPA2 позволяет сбросить nonce. После этого можно воспроизвести пакеты, которые были отправлены ранее, и расшифровать их.
Атаку стали широко использовать в 2016 году. Бельгийские исследователи Мэтти Ванхуф и Франк Писсенс первыми публично раскрыли механизм её действия.
KRACK позволяет прослушивать и подделывать данные, которые передаются между точкой доступа и клиентом (смартфоном, планшетом, компьютером и т.д.).
Для генерации ключа в сетях Wi-Fi используется схема 4-этапного рукопожатия (4-way-handshake). Процесс стартует, как только новый клиент подключается к Wi-Fi. Полученный ключ используют для шифрования пакетов данных.
В атаке KRACK хакер заставляет жертву переустановить используемый ключ на третьем этапе хэндшейка. Из-за переустановки ключа шифрование ослабляется. Хакер узнаёт ключ и начинает прослушивать данные. Опаснее всего это для систем на Linux и Android 6.0 – по умолчанию в них переустанавливается нулевой ключ.
С помощью эксплуатации уязвимости можно прослушивать сетевой трафик и похищать из него пароли, HTTP-куки и др., дешифровать пакеты TCP SYN, устанавливать счётчик пакетов и похищать сеанс TCP. Фактически уязвимость даёт возможность провести атаку «человек посередине» и вставлять вредоносные модули в данные HTTP.
Cмена пароля к Wi-Fi от такой атаки не поможет. Решить проблему сможет лишь обновление прошивки. Выпуск патчей от KRACK отслеживает, к примеру, Github.
Взлом WPS
Многие современные роутеры поддерживают протокол Wi-Fi Protected Setup, который используется для полуавтоматического подключения к беспроводной сети Wi-Fi. Он был разработал для упрощения подключения к WPS. Упростил, конечно, процесс и для злоумышленников тоже.
В PIN-коде WPS, который позволяет подключиться к сети, восемь знаков. Причём восьмой символ является контрольной суммой.
Уязвимость в WPS-протоколе позволяет проверять PIN-коды блоками: первый блок включает четыре цифры, второй – три (восьмая цифра вычисляется). В итоге имеем 9999 + 999 = 10998 вариантов PIN-кода.
Для взлома WPS подходит утилита Reaver. Она есть, к примеру, в дистрибутиве Kali Linux.
Алгоритм действий прост:
- Перевод адаптера в режим мониторинга командой airmon-ng start wname, где wname – имя адаптера.
- Анализ ответа команды – в нём указывается имя виртуального интерфейса (чаще всего mon0).
- Сканирование Wi-Fi-диапазона на наличие точек с WPS (хотя бы одна в многоквартирном доме или торговом центре точно найдётся) командой wash -i mon
- Анализ BSSID (Basic Service Set Identification) из первой колонки – его используют в качестве идентификатора точки доступа.
- Перебор паролей командой reaver –i mon0 –vv –b 64:XX:XX:XX:XX:F4, где
- -i mon0 – это интерфейс,
- -b 64:XX:XX:XX:XX:F4 это BSSID атакуемой точки,
- -vv необязательный ключ, который включает подробный вывод.
Процесс перебора может занять несколько часов. Его результат – подобранный PIN-код и ключ безопасности сети.
Альтернативы – приложения WPS Connect, WIFI WPS WPA TESTER для Android и др. С iPhone сложнее, потому что из официального App Store приложения быстро удаляют или отклоняют на старте, а из неофициальных магазинов вы устанавливаете программы на свой страх и риск.
Чтобы бороться с этой атакой, нужно отключить WPS на роутере или точке доступа. Тогда взламывать будет нечего.
Последствия атак
Самое простое – использовать вашу Wi-Fi-сеть для получения бесплатного интернет-доступа. «Симптомы»: падение скорости, превышение лимитов трафика, увеличение пинга.
Хакеры могут использовать ваш Wi-Fi для совершения противоправных действий. К примеру, взлома сетей и аккаунтов, рассылки спама и т.п. Если правоохранительные органы отследят преступников до вашего IP, придётся объясняться. Вероятность невелика, но неприятно.
Наконец, самое страшное – если хакеры решат перехватить и расшифровать ваш трафик. И получить данные, которые вы бы не хотели кому-то предоставлять: пароли от социальных сетей и банковских аккаунтов, интимные фото, личную переписку.
Наконец, есть возможность осуществления атак «человек посередине». Можно перехватывать сеансы TCP, выполнять вставку информации в сеансы HTTP, воспроизводить адресные или широковещательные пакеты.
Резюме
Галактика в опасности. Передача данных в обычных домашних Wi-Fi-сетях, не говоря уже о публичных, небезопасна. Первое, что стоит сделать – отключить WPS, если он у вас включён. И не использовать в качестве пароля номер своего мобильного или кличку питомца.
Не забывайте и о простых правилах безопасности:
- Не заходите в банковские и другие важные аккаунты с бесплатного Wi-Fi в общественных местах. Стоит использовать VPN или мобильный интернет (теоретически и там можно перехватить данные, но это гораздо дороже и сложнее).
- Обновляйте прошивку маршрутизатора.
- Регулярно меняйте пароль от домашнего Wi-Fi.
- Также имеет смысл разрешить роутеру видеть устройства из фиксированного списка MAC-адресов (ваши ноутбуки, смартфоны и т.п.).
- Отключите удалённое администрирование.
- Включите гостевой доступ.
- Скройте SSID сети.
Экзотический вариант – установить майнер на базе Coinhive и майнить Monero на устройствах подключившихся. Чтобы не повадно было :)
Напоследок напомним об открытом сервисе Wi-Fi Map. Он показывает точки доступа, пароли к которым известны. Есть в виде приложения (iOS, Android) и бота в Telegram. Но данные в него добавляют сами пользователи, так что пароли не всегда актуальны.