HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
При использовании беспроводного доступа важно поддерживать безопасность своей Точки Доступа. В настоящее время очень популярными стали публичные сети Wi-Fi. Они есть в ресторанах, спортивных залах, в торговых центрах, в метро, в отелях, в частных больницах и поликлиниках, в апартаментах и кондоминиумах — их можно найти практически везде, где собирается довольно много людей.
У этих сетей есть особенность — часто это открытые сети Wi-Fi для подключения к которым не требуется пароль. Есть ли какие-то дополнительные правила безопасности для работы с такими сетями?
Да, при использовании открытой Wi-Fi сетью нужно хорошо понимать, что:
- все данные передаются радиоволнами, то есть в отличие от провода, к которому далеко не каждый может получить доступ, радиоволны могут перехватываться кем угодно, кто находится в диапазоне досягаемости
- в открытых сетях данные не зашифрованы
Что касается второго пункта, то нужно пояснить по поводу шифрования передаваемых данных. Например, если вы открываете какой-либо сайт, который использует протокол HTTPS, то передаваемые данные на этот сайт и с этого сайта к вам зашифрованы. Если вы открываете сайт работающий по протоколу HTTP, то все передаваемые данные: какие страницы вы посетили, какие комментарии оставили, какие кукиз получил ваш веб-браузер — эти данные передаются в незашифрованном виде. Так вот, если вы подключены к Wi-Fi Точке Доступа которая требует ввод пароля, то передаваемый трафик шифруется ещё раз.
То есть даже если вы открываете сайт на протоколе HTTPS, то передаваемый трафик шифруется два раза (первый раз при передаче от веб-браузера до веб-сервера и в обратном направлении, второй раз при передаче от вашего устройства и до Точки Доступа, а также в обратном направлении). А если вы открываете сайт на протоколе HTTP, то передаваемый трафик шифруется только один раз (только при передаче от вашего устройства до Точки Доступа и обратно).
Но открытые точки доступа не шифруют трафик. Из этого следует: если вы используете открытую точку доступа и открываете сайт, работающий на протоколе HTTP, значит ваши данные передаются в открытом виде и кто угодно рядом с вами может их захватить и сохранить. Если вы открываете сайт на протоколе HTTPS, то эти данные зашифрованы, тем не менее, всё равно видно, какие именно сайты вы открывали (хотя не видно, какие именно страницы и что вы вводили, например, какие оставили комментарии).
Итак: нужно помнить, что открытые беспроводные сети подвержены перехвату информации.
Далее я покажу пример перехвата данных, из которого вам станет понятнее, что именно может увидеть злоумышленник.
Перехват трафика в открытых Wi-Fi сетях
Для успешной атаке нужен компьютер на Linux (например, с Kali Linux или с BlackArch), а также Wi-Fi карта.
Начнём с того, что посмотрим имена беспроводных интерфейсов:
Код:
iw dev
Как можно увидеть, у меня несколько беспроводных интерфейсов, я буду использовать wlp0s20f0u2.
Код:
sudo ip link set ИНТЕРФЕЙС down
sudo iw ИНТЕРФЕЙС set monitor control
sudo ip link set ИНТЕРФЕЙС up
Код:
sudo ip link set wlp0s20f0u2 down
sudo iw wlp0s20f0u2 set monitor control
sudo ip link set wlp0s20f0u2 up
Код:
sudo airodump-ng ИНТЕРФЕЙС -t OPN
- ИНТЕРФЕЙС — имя беспроводного интерфейса в вашей системе
- -t OPN — фильтр, который показывает только открытые Wi-Fi сети
Код:
sudo airodump-ng wlp0s20f0u2 -t OPN
Как можно увидеть, имеется сразу несколько открытых Точек Доступа. В принципе, можно выбрать любую из них для перехвата данных, но нужно помнить, что: для успешного анализа данных важно захватить передаваемые данные и от ТД, и от Клиентов. То есть я могу выбрать для захвата данных дальнюю ТД и, вероятно, я буду захватывать большую часть её беспроводных фреймов, но дело в том, что у Клиентов обычно менее мощные беспроводные передатчики. Также Клиенты могут находиться ещё дальше от меня, чем сама Точка Доступа.
По этой причине лучше выбирать самую близкую ТД. Чем больше значение PWR, тем лучше сигнал (на всякий случай напомню: отрицательные числа чем ближе к нулю, тем они больше). Например, в моей ситуации я выбираю ТД с сигналом -35.
Направленные антенны могут значительно улучшить качество беспроводного соединения, если направлены в нужную сторону. Что касается захвата данных, то лучше не использовать направленную антенну, поскольку ТД может быть в одном направлении, а её Клиенты — в других. Желательно использовать большую внешнюю антенну.
Неважно, является ли ТД хот-спотом с авторизацией на веб-интерфейсе (Captive Portal — Перехватывающим Порталом) или просто открытой Точкой Доступа — описанный способ перехвата работает одинаково для любого из этих вариантов.
Для захвата данных вновь запускаем airodump-ng, но уже командой вида:
Код:
sudo airodump-ng ИНТЕРФЕЙС --channel НОМЕР --write openap
- ИНТЕРФЕЙС — имя беспроводного интерфейса,
- --channel НОМЕР — номер канала, на котором находится целевая ТД
- --write openap — опция для сохранения захваченных данных в файл. В данном случае название файла будет начинаться с openap (можно поменять на своё усмотрение)
Код:
sudo airodump-ng wlp0s20f0u2 --channel 1 --write openap
Далее ждём, когда соберётся достаточно данных. Анализировать данные можно прямо в процессе захвата — без остановки airodump-ng.
Анализ трафика в открытых Wi-Fi сетях
В процессе работы airodump-ng будет создан файл с расширением .cap, например, openap-01.cap.
Для анализа данных можно использовать разные программы, я покажу анализ беспроводного трафика с Wireshark.
Откройте файл с захваченными данными в Wireshark.
Для выделения разных данных нам понадобятся фильтры Wireshark. Здесь я покажу пример использования только некоторых фильтров, рекомендуется изучить большую подборку полезных фильтров Wireshark.
Для оценки качества захвата, можно начать с фильтров, которые выводят результаты анализа TCP протокола.
Например:
Код:
tcp.analysis.duplicate_ack_num == 1
Этот фильтр выводит информацию о фреймах с флагом ACK, которые являются дублями. Большое количество таких фреймов может говорить о проблемах связи между Клиентом и Точкой Доступа.
Фильтр показа фреймов для которых не захвачен предыдущий сегмент:
Код:
tcp.analysis.ack_lost_segment
Это нормально в начале захвата данных — поскольку информация перехватывается не с самого начала. Но если эта ошибка часто возникает в дальнейшем, значит вы находитесь слишком далеко от Точки Доступа или Клиентов и вы не захватывает часть данных, которые они передают.
Для показа фреймов, которые являются ретрансмиссией (отправляются повторно):
Код:
tcp.analysis.retransmission
Большое количество таких фреймов может говорить о том, что между Клиентом и ТД плохая связь и им часто приходится отправлять повторно одни и те же данные.
С помощью фильтра
Код:
arp
Можно увидеть ARP трафик — с его помощью удобно анализировать, сколько всего устройств в данный момент подключено к локальной сети, какие у них IP адреса и какие MAC адреса. Зная MAC адрес устройства можно узнать его производителя.
С помощью фильтра
Код:
dns
Благодаря этим запросам можно узнать, какие сайты посещали пользователи (даже если эти сайты используют HTTPS!), а также к каким онлайн сервисам были сделаны запросы.
Например, на скриншоте можно увидеть адреса онлайн кинотеатра Netflix, Facebook, различных сервисов Google.
Для фильтрации HTTP трафика фильтр:
Код:
http
Можно увидеть посещённые URL адреса со всеми передаваемыми параметрами:
Видны информация авторизации, используемой при отправке данных:
Видны загруженные и открытые в Интернете файлы:
Вы можете сохранить любой переданный файл. Для этого выделите мышкой пакет, который его содержит (1), затем в средней панели, которая содержит подробную информацию, пролистните в самый низ, чтобы найти поле с данными и кликните на него правой кнопкой мыши, чтобы вызвать контекстное меню (2), в контекстном меню выберите Export Selected Packet Bytes (3) — Экспортировать байты выбранного пакета:
Введите имя файла, выберите расположение и сохраните его.
Кто-то обновляет Windows:
Также видны установленные пользователю кукиз или переданные им кукиз:
С помощью фильтра
Код:
http.cookie
А с помощью фильтра
Код:
http.set_cookie
Соседи скачивают странные торренты:
Переданные методом POST данные также видны:
Для поиска любых переданных изображений:
Код:
http.content_type contains "image"
Код:
http.request.uri contains "zip"
Код:
http.content_type contains "gif"
http.content_type contains "jpeg"
http.content_type contains "png"
Код:
http.content_type contains "text"
http.content_type contains "xml"
http.content_type contains "html"
http.content_type contains "json"
http.content_type contains "javascript"
http.content_type contains "x-www-form-urlencode"
http.content_type contains "compressed"
http.content_type contains "application"
Код:
http.request.uri contains "zip"
Вместо http.request.uri для большей точности можно использовать фильтры http.request.uri.path или http.request.uri.query, например, для поиска запросов на скачивание файлов JPG (ссылки на картинки):
Код:
http.request.uri.path contains "jpg"
Фильтр, который показывает только данные, переданные методом POST:
Код:
http.request.method == "POST"
Фильтр, который показывает только данные, переданные методом GET:
Код:
http.request.method == "GET"
Код:
http.host == "<URL>"
Код:
http.host contains "здесь.частичное.имя"
Заключение
Сейчас количество приложений и сайтов, которые не используют шифрование, стремительно уменьшается. Поэтому опасность такого перехвата с каждым годом снижается. Тем не менее она есть.
Даже сайты, который используют HTTPS, могут непроизвольно выдавать данные. Например:
Видно, что от пользователя данные на booking.com передаются в незашифрованном виде, поэтому можно перехватить эту ссылку.
Приложение iPhone постоянно загружает какие-то (аудио?) файлы не используя безопасное соединение:
Популярная (в некоторых регионах) qq.com или не использует шифрование, либо использует свой собственный алгоритм:
Гарантированной защитой от такого перехвата является использование доверенного VPN сервиса. Надёжным VPN сервисом можно считать тот, который вы настроили сами, либо VPN вашей корпоративной сети.