Грустная правда о безопасности домашнего Wi-Fi
Вы покупаете дорогой роутер, устанавливаете сложный пароль и никому его не сообщаете, но всё равно замечаете, что скорость порой как-то проседает… Хуже, только если вы обнаружите кражу личных данных, заблокированный компьютер и другие прелести. Несмотря на антивирус и другую защиту. Оказывается, домашний 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. Но данные в него добавляют сами пользователи, так что пароли не всегда актуальны.