ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Анализ Wi-Fi трафика с Probequest: понимание и защита данных (https://forum.antichat.xyz/showthread.php?t=566071)

Debug 22.12.2018 11:59

Введение.

https://forum.antichat.xyz/attachmen...dac37164d7.png

Начнем с того, что все устройства Wi-Fi(роутеры) посылают сигнальные пакеты(Beacon Frames), для того чтобы другие устройства знали о существование точки и подключались к этой сети. Забегая наперед скажу, что помимо проблем с конфиденциальностью, такие пакеты можно использовать для отслеживания устройств и проведения различных атак, такие как Злой двойник.

В этой статье я попытаюсь объяснить, как обнаружить устройства которые посылают такие пакеты и что вообще с ними можно делать.

Краткая теория

Здесь никак не обойтись без теории. Начнем с того, что все устройства занимаются двумя “плохими” делами, а именно посылают сигнальные пакеты(Beacon Frames) либо посылают пробные пакеты(Probe Requests) в зависимости от типа устройства.

Что делают Wi-Fi Роутеры?

Точки доступа (Access Points) посылают сигнальные пакеты. В этих пакетах содержится краткая информация о Wi-Fi точке. Это было реализовано для того, чтобы устройства(смартфоны, ноутбуки и прочие устройства) знали, что AP существует и к ней можно присоединиться.

Ищем пакеты в Wireshark

Для этого нам необходимо перевести нашу Wi-Fi карту в режим мониторинга. Сделать это с помощью команды
Код:

airmon-ng start wlan0
Теперь открыв программу Wireshark и выбрав интерфейс wlan0mon, видим все пакеты вокруг нас. Теперь выберем пакет Beacon Frames(нужно использовать фильтр
Код:

wlan.fc.type_subtype == 0x08
). Мы видим, что он содержит информацию об устройстве которое отправило этот пакет, ESSID и BSSID сети, номер канала на котором работает точка, скорость которую она поддерживает.

Вот как выглядит этот пакет(Beacon Frames):

https://forum.antichat.xyz/attachmen...4565845fc7.png

https://forum.antichat.xyz/attachmen...a114e209be.png

Что делают остальные устройства?

Существует другая группа устройств(смартфоны, ноутбуки и …), которые также отправляют пакеты, эти пакеты имеют названия Probe Requests(пробный фрейм). Устройства отправляют данные пакеты чтобы подключиться к ближайшей сети. Работают они противоположно Beacon Frames, отправляют пробные фреймы для нахождение сетей к которым устройство было недавно подключено. Это позволяет быстро и без проблем подключиться, например, к вашей домашней сети.

Открыв Wireshark мы можем посмотреть на пакет, чтобы получить информацию об устройстве которое отправило пакет, имя и номер канала точки доступа к которой обращается. Такие пакеты легко найти например на площади, в кафе, в метро …

Посмотрим как выглядят эти пакеты(фильтр для поиска
Код:

wlan.fc.type_subtype==4
)

P.S если кому интересно:

https://forum.antichat.xyz/attachmen...5a701a4086.png

Так ну как же выглядит пакет?

https://forum.antichat.xyz/attachmen...e3f496b489.png

Видно что устройство LG отправляет пробный пакет к Wi-Fi сети(сама сеть скрыта)

Самое классное, что старые устройства отправляют такую информацию даже когда Wi-Fi выключен. Это связано с геолокацией с поддержкой Wi-Fi. Поэтому простое отключение WI-FI на телефоне не остановит отправку пакетов точкам доступа.

И так мы переходим к самому интересному, а именно что эти данные нам могут показать?

Угроза пакетов

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

Конечно вся слежка либо атака сводиться на нет, если MAC адрес устройства будет рандомным. Apple например, решила еще в версии IOS 8.0 ввести рандомизацию MAC-адреса.(не все так хорошо у них). Часто проблема рандомизации адреса не совсем выполняется правильно и случайным способом.
Эти данные обеспечивают полную слежку за пользователем, используя например, Wigle Wi-Fiмы можем видеть к какой сети устройство недавно подключалось.

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

Переходим к практике.

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

В первую очередь нам необходим Kali Linux(не обязательно). Для работы probequest необходимpython3 и библиотека probequest.
Команда:
Код:

sudo pip3 install --upgrade probequest
Также есть вариант установить программу с GitHub
Команда:

Код:

git clone https://github.com/SkypLabs/probequest.git
Код:

cd probequest
Код:

sudo pip3 install --upgrade
Переводим наш Wi-Fi адаптер в режим мониторинга

Наша задача перевести наш Wi-Fi адаптер в режим мониторинга. Для этого открыв терминал вводим команду ifconfig для получение списка устройств. У меня мой адаптер отображается как wlan0. Следующий шаг это ввести команду
Код:

airmon-ng start wlan0
(Как для того чтобы перевести карту в режим мониторинга)

https://forum.antichat.xyz/attachmen...88f87a6415.png

Найдем соседние устройство

Теперь, после установки probeques и переключение карты в режим мониторинга, мы можем запустить программу Probequest. Команда для запуска прослушивания трафика и поиска устройств
Код:

probequest -i wlan0mon
https://forum.antichat.xyz/attachmen...203ec8151c.png

В результате мы можем видеть следующую информацию:бренды устройств(смартфоны, принтеры, устройства IoT и много другого). Для фильтрации поиска нужно использовать аргументы -e -s.
Единственная проблема которая перед мной встала это то что сканирование происходит на определенном конкретном канале.

Для решение этой проблемы нам нужно запустить airodump, чтобы она переводила нашу карту Wi-Fi по всем каналам, тем самым увеличив кол-во найденных устройств.

Открыв новое окно терминала введите команду:
Код:

airodump-ng wlan0mon
После этого открыв прежнее окно, мы увидим, что в результате кол-во обнаруженных устройств возросло.

https://forum.antichat.xyz/attachmen...aeb604db3b.png

https://forum.antichat.xyz/attachmen...261c052d87.png

Теперь мы можем благодаря аргументу -o записать всю информацию файл, чтобы в будущем как-то воспользоваться этой информацией.

Узнаем об открытых сетях

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

Подводим итог

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

Debug 22.12.2018 14:22

Цитата:


am29f010b сказал(а):

Airgeddon - это bach скрипт над инструментами wifi, в случае создания поддельных точек это скрипт над mdk3.

Странный итог.
Само-собой это естественно (но ходить за гаджетом с ПК?, к тому же wifi отключают обычно пользователи, когда им не пользуются). "Ходить" имеет смысл с телефона, у которого кастомная прошивка с ядром (поддержка wifi адаптеров).

Приложили бы ссылку на таких "исследователей", которые исследуют очевидную и прозрачную работу протокола wpa2?

probeques?
airodump-ng сканирует и выводит всю информацию о точках и пользователях, который в придачу управляется так же в Airgeddon.

То что airgeddon - скрипт, это я знаю. Указан именно данный скрипт, потому что он почти сам выполняет все действия для атаки Злой двойник.
Не обязательно ходить можно написав скрипт отслеживать, например, когда сосед ушел или пришел с работы. Либо например получать информацию о передвижения сотрудников в одной сети, сам факт, что возможна слежка.

Здесь даже близко речи не идет про ходьбу за человеком(особенно с пк, это ваша фантазия).

Используя такие инструменты, как Wigle Wi-Fi , мы также можем искать физический адрес, по которому целевое устройство было недавно, введя ESSID, который мы видим в тестовых кадрах

Ислледователь в области безопасности Мэти Ванхоф. Она как раз и показала, что пробные кадры могут использоваться а слежке.
Она даже нашла уязвимость в протоколе wpa2, прочем раньше вас(он же такой прозрачный). Найти больше инфы не составит труда.
Думаю я ответил на ваши вопросы.

Debug 22.12.2018 15:37

Цитата:


am29f010b сказал(а):

Вообще она (группа исследоватлей) нашли комплекс уязвимостей в WPA2 получил название KRACK - это мы знаем и даже скачивали скрипты.
Вы ссылку про слежку вставьте, которую попросил, а то статья неполная.
тогда о чем вообще речь в статье? О слежке, которую я вынужден додумывать сам, а не из контекста? или о ничем не выделяющейся проге probeques?

- это Ваша фантазия. Я написал о прозрачной работе: имел ввиду то, как изменяется сигнал и по его силе (и даже качеству) можно отслеживать перемещение юзера- (моя фантазия)


То есть вы утверждаете, что кто-то все таки занимается исследованием над прозрачным протоколом wpa2&
Статья для тех, кто не знает о применение Wi-Fi в целях выследить определенную цель.
Насчет программы Probeques - это просто утилита заточена чисто под работу над пробными пакетами. Написана на Python. Может кто-то хочет посмотреть какие устройства находятся поблизости с телефона? Тогда достаточно чисто установить python и данную утилиту. Речь про перевод карты не идет, так как есть ночные сборки с модифицированным ядром. У меня проблем с переводом не было(Nexus 5). И мне достаточно совсем малых манипуляций.
Теперь следующий пункт слежка подразумевает не слежку через мощность сигнала, а чисто об факте что данный человек был тут и во столько-то. Также в том, чтобы провернуть атаку Злой двойник.

Теперь к ссылкам:
https://essay.utwente.nl/71218/1/Bakker_BA_EEMCS.pdf - Анализ пассивного Wi-Fi трекинга
https://ido2016.sciencesconf.org/122873/document - Об отслеживании Wi-Fi и ловушках рандомизации MAC-адресов
https://papers.mathyvanhoef.com/asiaccs2016.pdf - Почему рандомизации MAC-адресов недостаточно: Анализ механизмов обнаружения сетей Wi-Fi(Мэти Ванхоф)

ghostphisher 22.12.2018 16:27

про этот способ и утилиту я уже писал тут
Будни ламера часть 3
и тут -> Wi-Fi-Pumpkin v0.8.4

в данное статье все определнно обширно развернуто, за что автору +

Debug 22.12.2018 17:52

Цитата:


am29f010b сказал(а):

Прочитали мои посты?

Об этом и речь, что за слежка такая (а не о моей фантазии)

Ссылки на английском языке и в pdf - это вообще круто, ага!. Там точно содержится ответ?? на

Пусть так, я ни чего не увидел ни обширного ни конкретного.


Вы сами себе противоречите. А чего вы ожидали от исследований иностранных специалистов? Чтобы они перевили для вас?
Статья конечно не для вас, это ведь для вас слишком просто и очевидно, это мы тупые и ищем уязвимости в открытом и прозрачном wpa2. Интересно конечно)

Triton 24.12.2018 08:56

Делал что то подобное давненько, только немного наоборот поднимал АР и сканировал эфир, скрипт записывал устроиства которые "проходили" мимо. Таким образом можно было узнать как часто устройство бывает в одном месте.

Записывалось:
Время
имя устройсива

Потом можно было построить график.

Debug 24.12.2018 11:15

Цитата:


_Fallen404_ сказал(а):

Все это же самое можно посмотреть через пак инструментов от "Airmon-ng" (Airodump... etc)


Согласен полностью, но была рассмотрена именно эта программа так как, ее легче установить на Linux чем пак air... Но в этой статье не это главное, здесь даже не просто так идет речь о том, как же все таки обнаружить пробные кадры c помощью Wireshark.
Это первая часть - теория(с маленькой демонстрацией) в следующей части я расскажу как создать свою программу на Python для полного мониторинга всех сетей(время когда устройство появилось в сети, тип устройства и прочие интересные вещи.

Цитата:


Triton сказал(а):

Делал что то подобное давненько, только немного наоборот поднимал АР и сканировал эфир, скрипт записывал устроиства которые "проходили" мимо. Таким образом можно было узнать как часто устройство бывает в одном месте.

Записывалось:
Время
имя устройсива

Потом можно было построить график.


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

Triton 24.12.2018 12:39

Цитата:


Debug сказал(а):

Согласен полностью, но была рассмотрена именно эта программа так как, ее легче установить на Linux чем пак air... Но в этой статье не это главное, здесь даже не просто так идет речь о том, как же все таки обнаружить пробные кадры c помощью Wireshark.
Это первая часть - теория(с маленькой демонстрацией) в следующей части я расскажу как создать свою программу на Python для полного мониторинга всех сетей(время когда устройство появилось в сети, тип устройства и прочие интересные вещи.

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


О! Это круто! Я бы срадостью взглянул. Правда сказать, я не могу найти исходников своей поделки(( Так бы выложил в свободный доступ.

Debug 24.12.2018 12:42

Цитата:


Triton сказал(а):

О! Это круто! Я бы срадостью взглянул. Правда сказать, я не могу найти исходников своей поделки(( Так бы выложил в свободный доступ.


Может это к лучшему?)) Не в обиду, так как если вы бы выложили, моя статья была бы бесполезной. Скилл у меня явно меньше) Я не Python-ист

animi 26.12.2018 09:09

Как определить что смартфон хочет подключится у общественной сети?

Debug 26.12.2018 09:13

Цитата:


animi сказал(а):

Как определить что смартфон хочет подключится у общественной сети?


Как раз благодаря Probe Request можно и увидеть эту информацию. Если вам нужен софт, то здесь много вариантов(Wireshark - в этой статье рассказано как отфильтровать эти пакеты, probequest + подождать(Сейчас занимаюсь написанием инструмента как раз для этих целей)

Debug 19.02.2019 09:49

Цитата:


Andr705 сказал(а):

еще вот у автора топика , есть ошибка в начале , где устанавливается фильтр в Wireshark , чтобы смотреть только пакеты Beacon : wlan.fc.type_subtype != 0x08 - если так поставить , то будут показаны все кроме Beacon , ведь "!=" это отрицание , по ходу надо ставит "=="


Да вы правы, видимо допустил ошибку)

Debug 30.07.2019 07:50

Цитата:


dem1an сказал(а):

С помощью Probequest можно узнать реальные mac клиентских устройств, в частности смартфонов, ноутбуков? Без подмены точек, злых двойников и тд, просто узнать mac мимопроходящего телефона?


Ну вообще в последнее время вендоры стараться реализовывать защиту.


Время: 22:53