February 2, 2020

Следим за чужим трафиком со смартфона [Wireshark]

KRAKENteam

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

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

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

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

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


Как это работает?

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

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


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

Для этого вам понадобится карта адаптера беспроводной сети, поддерживающая режим беспроводного монитора. Вы можете ознакомиться с нашими руководствами по выбору, который совместим с Kali и поддерживает режим монитора.

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


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

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

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


2. Настройте Wireshark для захвата

Под опцией меню Wireshark выберите меню «Capture Options» в форме шестеренки.


Откроется окно «Capture interfaces», как показано ниже.


3. Начните захват сети и сканирование пакетов EAPOL

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


4. Расшифровывать трафик с помощью сетевого PSK

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

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

Выберите в меню «wpa-psk», а затем вставьте ключ. Нажмите Tab, затем сохраните, нажав «ОК».

После этого нажмите «ОК» в меню «Preferences, и Wireshark должен повторно отсканировать все захваченные пакеты и попытаться расшифровать их. Это может не сработать по разным причинам. Я смог заставить его работать большую часть времени, обеспечив хорошее рукопожатие (EAPOL) и переключаясь между сетевым паролем и PSK. Если это работает, мы можем перейти к этапу анализа трафика, чтобы выбрать используемые приложения.


5. Сканирование на наличие пакетов DNS и HTTP.

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

  1. DNS-запросы

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

Чтобы увидеть эти запросы, мы будем использовать два фильтра захвата, dns и http, которые покажут нам наиболее очевидные отпечатки пальцев, которые приложение оставляет через Wi-Fi. Сначала введите dns в строку фильтра захвата и нажмите Enter. Если это не работает, попробуйте переключиться между PSK и паролем несколько раз. Это отстой, но иногда это начнет работать.

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

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

Попытка найти ту песню, которая играет с Shazam, оставляет следующий отпечаток.

Открытие приложения для вызова Uber создает запросы, которые вы видите ниже.

Ниже мы видим эффект открытия Venmo и приложения для перевода денег. Кажется, пришло время перенаправить этот запрос в другое место.


2. Пакеты HTTP

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

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

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

Эта разбивка делает еще проще увидеть, что цель была до этого.


Wireshark для Wi-Fi рискованная штука

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