Android перехват пакетов wifi

Перехват и анализ трафика со смартфона при помощи Wireshark

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

Допустим, нужно узнать, какие приложения используются на телефоне. Если вы находитесь в одной Wi-Fi сети с целевым устройством, задача решается очень просто. Достаточно запустить Wireshark и сконфигурировать несколько параметров. Мы будем использовать эту утилиту для расшифровки трафика, зашифрованного при помощи WPA2, и после анализа выясним, какие приложения запущены на телефоне.

Хотя сеть с шифрованием лучше, чем без, разница исчезает, когда злоумышленник и вы находитесь в одной сети. Если кто-то еще знает пароль к Wi-Fi сети, которую вы используете, при помощи WireShark легко выяснить, чем вы занимаетесь сию секунду. Кроме того, злоумышленник может узнать все приложения, запущенные на телефоне, и сосредоточиться на тех, которые потенциально могут быть уязвимыми.

Дешифровка зашифрованных пакетов

Когда в вашей Wi-Fi сети используется шифрование при помощи технологии WPA2, безопасность сессии основана на двух составляющих. Во-первых, пароль, используемый для генерации гораздо более длинного числа (PSK или pre-shared key). Во-вторых, собственно само рукопожатие, происходящее во время установки соединения. Если злоумышленник получает PSK к Wi-Fi и наблюдает, как вы подключаетесь к сети (или на некоторое время сбрасывает ваше соединение), то впоследствии сможет расшифровать ваш Wi-Fi трафик и узнать, чем вы занимаетесь.

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

Как работает схема

Для реализации атаки необходимо выполнение нескольких условий. Во-первых, нужен пароль. Кроме того, нужно быть рядом с жертвой для перехвата трафика и уметь отключить целевое устройство от сети для повторного подключения. Мы запустим Wireshark, выполним настройки, связанные с дешифровкой Wi-Fi пакетов, добавим PSK и дождемся EAPOL пакетов с целевого устройства, пытающегося подключиться к сети.

Для анализа поведения целевого устройства будем использовать фильтры с целью выделения искомых DNS и HTTP пакетов. Полный список доменов, для которых устройство выполняет резолвинг, также будет доступен после завершения перехвата. Эта информация пригодится для выяснения, какие службы используются даже в фоновом режиме.

Что понадобится

Вам понадобится карта беспроводного сетевого адаптера с режимом мониторинга (беспроводной сети) и смартфон с iOS или Android, подключенный к Wi-Fi, которую вы собираетесь мониторить. Вы можете попрактиковаться на открытой сети, чтобы примерно понимать, какие результаты вы получите, поскольку вначале расшифровка может не сработать. Кроме того, вам нужно знать пароль и имя сети, которую вы хотите мониторить. В этом случае вы сможете вычислить ключ PSK, позволяющий дешифровать трафик в режиме реального времени.

Читайте также:  Системные требования для всех версий андроид

Шаг 1. Загрузка Wireshark и подключение к Wi-Fi сети

Загрузите и установите Wireshark, после чего подключитесь к целевой Wi-Fi сети. Если вы планируете использовать PSK, а не сетевой ключ, нужно сделать вычисления при помощи WPA PSK Generator, поскольку во время перехвата у вас может не быть доступа к интернету (зависит от используемой карты).

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

Рисунок 1: Перечень сетевых интерфейсов

Шаг 2. Настройка перехвата в Wireshark

В меню Wireshark кликните иконку в виде шестеренки, чтобы зайти в раздел «Capture options»

Рисунок 2: Интерфейс Wireshark

Появится окно Capture Interfaces (Интерфейсы перехвата), как показано на рисунке ниже.

Рисунок 3: Перечень интерфейсов

Шаг 3. Перехват и сканирование EAPOL пакетов

Если вы не подключены к сети, где находится цель, то не увидите ни одного пакета, поскольку можете оказаться в другом случайном канале. Причина заключается в неспособности Wireshark на переключение канала, в котором находится беспроводной сетевой адаптер.

Рисунок 4: Перехваченные пакеты

Шаг 4. Дешифровка трафика при помощи PSK

Теперь, когда у нас появились рукопожатия, можно приступать к расшифровке трафика. Вначале нужно добавить сетевой пароль или PSK. Зайдите в выпадающее меню «Wireshark» и выберите раздел «Preferences». Затем кликните на «Protocols».

Рисунок 5: Настройки, связанные с протоколами

В разделе Protocols выберите «IEEE 802.11» и кликните на флажок «Enable decryption». Для добавления сетевого ключа кликните на «Edit», рядом с надписью «Decryption keys». В открывшемся окне добавьте пароли и PSK.

Рисунок 6: Активация дешифровки

В меню выберите «wpa-psk» и скопируйте ваш ключ. Нажмите кнопку Tab и сохраните изменения, кликнув на «OK».

Рисунок 7: Добавление ключа

По завершению процедуры кликните на «OK» в разделе Preferences. Теперь Wireshark должен пересканировать и попробовать дешифровать все перехваченные пакеты. По некоторым причинам эта схема может не сработать. У меня практически всегда работало при наличии качественного рукопожатия (EAPOL) и при переключении между сетевым паролем и PSK. В случае успешной расшифровки мы можем перейти к следующему шагу и проанализировать трафик для выяснения, какие приложения работают на устройстве.

Шаг 5. Сканирование DNS и HTTP пакетов

После снятия защиты с трафика, можно приступать к расшифровке пакетов и выяснению, чем занимаются устройства в Wi-Fi сети, по которым получены рукопожатия, в режиме реального времени.

1. DNS запросы

Просмотр интересных пакетов начнем с DNS запросов, используемых приложением для проверки неизменности IP-адресов, к которым происходит подключение. Обычно происходит обращение к именам доменов, содержащих имена приложений, что значительно упрощает идентификацию программы, которая работает на iPhone и Android и выполняет запросы.

Для отображения этих запросов воспользуемся фильтрами dns и http, позволяющих выявить наиболее явные следы, оставляемые приложениями в сети. Вначале в поле фильтра введите dns и нажмите Enter. Если не сработает, попробуйте переключаться между PSK и паролем несколько раз. Иногда помогает.

Читайте также:  Android studio relativelayout разместить view по центру

Рисунок 8: Перечень DNS запросов

Если ваша цель любит бывать на сайтах знакомств, вы можете увидеть ответ ниже. Например, Tinder обращается к домену Tindersparks.com. Этот запрос – один из наиболее очевидных. Кроме того, могут быть подключения ко многим другим похожим сервисам.

Рисунок 9: Пример обращения к домену Tindersparks.com

Использование приложения Signal – хорошая идея, но в связке с VPN еще лучше. Причины? Даже при открытии Signal происходит взаимообмен, показанный ниже, что свидетельствует о коммуникации через мессенджер с шифрованием.

Рисунок 10: Пример запроса мессенджера Signal

Во время прослушивания песен в приложении Shazam создаются следующие запросы:

Рисунок 11: Пример запроса во время прослушивания песен в Shazam

При открытии Uber создаются запросы следующего содержания:

Рисунок 12: Пример запроса при открытии приложения Uber

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

Рисунок 13: Пример запроса, отправляемый приложением Venmo

2. HTTP пакеты

Далее мы можем наблюдать несколько небезопасных web-запросов, используя фильтр http, которые содержат параметры навроде useragent, позволяющих опознать тип устройства. Эту информацию можно посмотреть, кликнув на пакете и зайдя во вкладку «Hypertext Transfer Protocol».

Рисунок 14: Пример содержимого раздела Hypertext Transfer Protocol у пакета

В этом примере видны небезопасные HTTP запросы к серверу чата. Что же получается? Простое изучение содержимого пакета и резолвинг имени домена говорит об использовании приложения WeChat, установленного на телефоне. Более того, исходящие сообщения шифруются не полностью.

Рисунок 15: Сайт приложения WeChat

Если мы хотим увидеть всю историю резолвинга, то можем зайти во вкладку «Statistics» и выбрать «Resolved Addresses» для просмотра всех доменов, которые были преобразованы во время перехвата. Здесь должен быть полный список служб, к которым подключалось устройство через запущенные приложения.

Рисунок 16: Список доменов, к которым проходило подключение

Вышеуказанный список позволяет еще быстрее понять, что представляет собой целевое устройство.

Заключение

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

Надеюсь, это руководство, посвященное перехвату Wi-Fi трафика при помощи Wireshark, вам понравилось.

Источник

Перехват аккаунтов пользователей в Wi-Fi-сетях с Android

Итак, что вообще делает программа?

Она перехватывает пакеты, ходящие в Wi-Fi сети, одним нажатием кнопки на Android-устройстве.

А причём тут пароли?

Допустим, некий Иннокентий вошёл в кафе выпить чашку кофе и полазить по фейсбуку. Вы запускаете DroidSheep и через некоторое время начинаете просматривать страницу Facebook Иннокентия. Смотреть его друзей. Читать его сообщения. Писать сообщения. Писать на стене. Удалить друзей. Удалить аккаунт Иннокентия… Даже не зная его лично.

Как это произошло?

Когда Иннокентий использует Wi-Fi-сеть, его ноутбук или смартфон отправляет все данные, предназначенные для Facebook, по воздуху на беспроводной маршрутизатор кафе. «По воздуху» в нашем случае означает «видимые всеми», Вы можете прочитать все данные, передаваемые Иннокентием. Поскольку некоторые данные шифруются перед отправкой, пароль от Facebook вы прочитать не сможете, но чтобы Иннокентий не вводил свой пароль после каждого клика, Facebook посылает Иннокентию так называемый «идентификатор сессии» после входа в систему, которое Иннокентий посылает сайту при взаимодействии с ним. Как правило, только Иннокентий знает этот идентификатор, так как он получает его в зашифрованном виде. Но когда он использует Wi-Fi в кафе, он распространяет свой идентификатор сессии по wi-fi для всех. Вы принимаете это идентификатор сессии и используете его: facebook не может определить, если и Иннокентий, и Вы используете один идентификатор.

Читайте также:  Es проводник русски для андроида

DroidSheep делает этот механизм простым в использовании, нужно просто запустить DroidSheep, нажать «Пуск» и подождать, пока кто-то начнет пользоваться одним из поддерживаемых веб-сайтов. «Прыгнуть» в чужую сессию можно лишь одним кликом по экрану. Вот и все.

Что нужно для запуска DroidSheep?

— Android-устройство версии старше 2.1
— Root-доступ
— DroidSheep (QR-код и ссылка на загрузку в конце статьи)

Какие сайты DroidSheep поддерживает по умолчанию?

— Amazon.com
— Facebook.com
— Flickr.com
— Twitter.com
— Linkedin.com
— Yahoo.com
— Live.com
— Google.com (незашифрованные)

Но есть ещё и «общий» режим! Просто включите его, и DroidSheep будет фиксировать все аккаунты в сети! Успешно протестирована с огромным количество уже поддерживаемых аккаунтов и многих других (даже с WordPress и Joomla должны работать!)

Запароленные Wi-Fi сети

Для защищенных WPA/WPA2 Wi-Fi-сетей программа использует DNS-Spoofing атаки.
ARP-Spoofing означает, что она заставляет все устройства в сети думать, что DroidSheep — маршрутизатор, и пропускает все данные через себя. Это может оказать существенное влияние на скорость работы сети, так что пользуйтесь с осторожностью.

Итак, как пользоваться?

Перед началом убедитесь, что ваш телефон поддерживает root, без него программа работать не будет!

Установка:
С сайта автора — http://droidsheep.de/?page_id=23
Или по QR-коду —

Использование:

Убедитесь, что ваш телефон подключен к WiFi-сети, запустите DroidSheep и нажмите кнопку «Start». Теперь DroidSheep будет прослушивать сеансы. Как только он перехватил маркер сеанса, он покажет его как запись в списке.

По умолчанию, DroidSheep перехватывает аккаунты только тех сервисов, которые знает (Facebook, Yahoo, Google, . ). Если вы хотите, чтобы перехватывались все учетные записи в сети, включите «Общий режим» — просто нажмите кнопку «меню» в телефоне и нажмите «Включить режим Generic».
Примечание: В Generic режиме DroidSheep фиксирует все наборы cookies в сети, но многие из них не относятся к учетной записи, а потому не позволят вам войти в чужой аккаунт, а будут просто отображаться в программе в списке.

Если вы перехватили хождение по нескольким сайтам, вы увидите список как на картинке. Аккаунты, определяемые DroidSheep по умолчаню окрашены в зеленый, перехваченные в общем режиме — в желтый.

В общем режиме появятся и не нужные вам сайты, типа рекламных, их можно добавить в черный список, чтобы не видеть их в программе. Для очистки всего черного списка перейдите в главное меню, нажмите меню и выберите «очистить черный список».

Вот и всё!
Как использовать программу (видео): droidsheep.de/?page_id=14

И последнее.
Быстро все подняли руку и сказали: «Я клянусь, что буду пользовать программу только для исследования работы протоколов сети»

Источник

Оцените статью