Сниффим и анализируем трафик в открытых Wi-Fi

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 2K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
При использовании беспроводного доступа важно поддерживать безопасность своей Точки Доступа. В настоящее время очень популярными стали публичные сети Wi-Fi. Они есть в ресторанах, спортивных залах, в торговых центрах, в метро, в отелях, в частных больницах и поликлиниках, в апартаментах и кондоминиумах — их можно найти практически везде, где собирается довольно много людей.​

У этих сетей есть особенность — часто это открытые сети 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
В предыдущих командах вместо ИНТЕРФЕЙС нужно вписать то имя, которое беспроводной интерфейс имеет в вашей системе. Например, для wlp0s20f0u2 команды выглядят так:
Код:
sudo ip link set wlp0s20f0u2 down
sudo iw wlp0s20f0u2 set monitor control
sudo ip link set wlp0s20f0u2 up
Запускаем airodump-ng командой вида:
Код:
sudo airodump-ng ИНТЕРФЕЙС -t OPN
Где:
  • ИНТЕРФЕЙС — имя беспроводного интерфейса в вашей системе
  • -t OPN — фильтр, который показывает только открытые Wi-Fi сети
У меня интерфейс называется wlp0s20f0u2, поэтому я запускаю следующей командой:
Код:
sudo airodump-ng wlp0s20f0u2 -t OPN
Пример полученных данных:

Как можно увидеть, имеется сразу несколько открытых Точек Доступа. В принципе, можно выбрать любую из них для перехвата данных, но нужно помнить, что: для успешного анализа данных важно захватить передаваемые данные и от ТД, и от Клиентов. То есть я могу выбрать для захвата данных дальнюю ТД и, вероятно, я буду захватывать большую часть её беспроводных фреймов, но дело в том, что у Клиентов обычно менее мощные беспроводные передатчики. Также Клиенты могут находиться ещё дальше от меня, чем сама Точка Доступа.
По этой причине лучше выбирать самую близкую ТД. Чем больше значение PWR, тем лучше сигнал (на всякий случай напомню: отрицательные числа чем ближе к нулю, тем они больше). Например, в моей ситуации я выбираю ТД с сигналом -35.
Направленные антенны могут значительно улучшить качество беспроводного соединения, если направлены в нужную сторону. Что касается захвата данных, то лучше не использовать направленную антенну, поскольку ТД может быть в одном направлении, а её Клиенты — в других. Желательно использовать большую внешнюю антенну.
Неважно, является ли ТД хот-спотом с авторизацией на веб-интерфейсе (Captive Portal — Перехватывающим Порталом) или просто открытой Точкой Доступа — описанный способ перехвата работает одинаково для любого из этих вариантов.
Для захвата данных вновь запускаем airodump-ng, но уже командой вида:
Код:
sudo airodump-ng ИНТЕРФЕЙС --channel НОМЕР --write openap
Где:
  • ИНТЕРФЕЙС — имя беспроводного интерфейса,
  • --channel НОМЕР — номер канала, на котором находится целевая ТД
  • --write openap — опция для сохранения захваченных данных в файл. В данном случае название файла будет начинаться с openap (можно поменять на своё усмотрение)
Например, я хочу прослушивать ТД, которая работает на первом канале, для этого я хочу использовать беспроводной интерфейс wlp0s20f0u2 и сохранять перехваченную информацию в файл, имя которого начинается на 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
можно увидеть все отправленные DNS запросы.

Благодаря этим запросам можно узнать, какие сайты посещали пользователи (даже если эти сайты используют HTTPS!), а также к каким онлайн сервисам были сделаны запросы.
Например, на скриншоте можно увидеть адреса онлайн кинотеатра Netflix, Facebook, различных сервисов Google.
Для фильтрации HTTP трафика фильтр:
Код:
http
Здесь можно узнать множество интересной информации. Например, можно увидеть запросы к сервисам и передаваемые данные, в том числе API ключи, идентификаторы устройств и прочее:

Можно увидеть посещённые URL адреса со всеми передаваемыми параметрами:

Видны информация авторизации, используемой при отправке данных:

Видны загруженные и открытые в Интернете файлы:

Вы можете сохранить любой переданный файл. Для этого выделите мышкой пакет, который его содержит (1), затем в средней панели, которая содержит подробную информацию, пролистните в самый низ, чтобы найти поле с данными и кликните на него правой кнопкой мыши, чтобы вызвать контекстное меню (2), в контекстном меню выберите Export Selected Packet Bytes (3) — Экспортировать байты выбранного пакета:

Введите имя файла, выберите расположение и сохраните его.
Кто-то обновляет Windows:

Также видны установленные пользователю кукиз или переданные им кукиз:

С помощью фильтра
Код:
http.cookie
можно увидеть HTTP запросы, в которых передавались кукиз.
А с помощью фильтра
Код:
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"
Поиска в Wireshark запросов на получения файлов определённого типа. Например, для поиска переданных ZIP архивов:
Код:
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 вашей корпоративной сети.
 

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя