Скрытый перехват и анализ трафика wifi без подключения к роутеру

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
Определение уязвимых устройств и веб-служб на целевом беспроводном маршрутизаторе может быть затруднено, поскольку хакеры могут атаковать вашу беспроводную сеть, не оставляя отметок в файлах журналов, а также других признаков активности Основные принципы реализации срытой атаки на WiFi сеть

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

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

Утилита Airodump-ng — это набор программ для обнаружения беспроводных сетей и перехвата передаваемого по этим сетям трафика, доступная для всех популярных операционных систем, включая UNIX, Linux, Mac OS X и Windows, которая, в том числе, способна работать на виртуальных машинах и одноплатных компьютерах Raspberry Pi. Airodump-ng также, как и Wireshark, широко применяется для сетевого аудита, как, впрочем, и используется злоумышленниками.

Итак, давайте детально разберемся на основе пошагового практического примера, как злоумышленники могут реализовать скрытый взлом Wi-Fi-сети, чтобы в дальнейшем мы могли детально оценить, насколько уязвимы наши беспроводные сети.

Шаг 1. Определение целевого Wi-Fi-роутера.
Чтобы с помощью утилиты Airodump-ng включить режим мониторинга на беспроводном адаптере, используйте следующую команду:

Скриншот визуального представления запуска данной команды представлен на рисунке 1.


Демонстрация запуска команды airmon-ng start wlan0 для включения режима мониторинга на беспроводном адаптере с помощью утилиты Airodump-ng
Затем следует найти целевую беспроводную сеть (для нашего практического примера был использован маршрутизатор «Null Byte»). Для просмотра работающих в зоне вашей доступности сетей Wi-Fi используйте следующую команду:

Скриншот визуального представления запуска данной команды представлен на рисунке 2.


Демонстрация запуска команды airodump-ng wlan0mon для просмотра доступных в окрестности сетей Wi-Fi с помощью утилиты Airodump-ng
Обратите пристальное внимание на такие характеристики выбранной вами Wi-Fi-сети, как «BSSID», «CH», и «ESSID». Эта информация понадобиться для идентификации данных, передаваемых на беспроводный маршрутизатор, чтобы успешно реализовать процесс по их захвату и сбору.

Шаг 2. Захвата WiFi трафика
Чтобы начать сбор данных, относящихся к целевой WiFi сети, используйте следующую команду (обратите внимание, что в данной команде вам следует заменить выделенные курсивом и подчеркнутые части на те, которые актуальны для вашего конкретного случая):

airodump-ng --bssid TargetMACaddressHere --essid RouterNameHere -c ChannelNumber -w SaveDestination wlan0mon
где

  • «TargetMACaddressHere» — это MAC-адрес целевого Wi-Fi-роутера (или значение «BSSID» из примера выше);
  • «RouterNameHere» — это имя целевого Wi-Fi-роутера (или значение «ESSID» из примера выше);
  • «ChannelNumber» — это номер канала целевого Wi-Fi-роутера (или значение «CH» из примера выше);
  • «SaveDestination» — это выбранный для сохранения каталог и имя создаваемого файла.
Скриншот визуального представления с примером ввода данной команды представлен на рисунке 3.


Пример ввода команды из утилиты Airodump-ng для старта сбора данных, относящихся к целевому Wi-Fi-роутеру Null Byte
Как вы можете видеть, в нашем примере мы указываем папку для сохранения собранных данных «/tmp» и имя файла «null_byte», используя аргумент «-w». Программа Airodump-ng автоматически добавит число в конец имени файла, поэтому на самом деле собранные данные в нашем практическом примере были сохранены в файле с именем «null_byte-01.cap». На рисунке 4 проиллюстрировано, что можно увидеть на запущенном терминале утилиты Airodump-ng.


утилита Airodump-ng
Самой важной вещью, которую вы можете наблюдать на запущенном терминале утилиты Aireplay-ng, является рукопожатие WPA («WPA handshake»), расположенное в правом верхнем углу экрана (смотрите рисунок 4). «Рукопожатие» должно произойти, чтобы Wireshark позже смог расшифровать захваченный трафик Wi-Fi. Другими словами, после того, как вы начали сбор данных с помощью Aireplay-ng, вам необходимо переподключить подсоединенные к целевому Wi-Fi-роутеру устройства, трафик которых вы собираетесь проанализировать. К слову, для этих целей можно использовать встроенные возможности Aireplay-ng по принудительному отключению устройств от сети, чтобы инициировать переподключение и, соответственно, запуск процесса рукопожатия WPA. Но этот шаг может причинить неудобство и вызвать подозрения у пользователей, подключенных к сети.

Пока терминал Airodump-ng запущен, данные будут накапливаться. Терминал Airodump-ng может работать несколько часов или даже дней. В нашем практическом примере сеанс Airodump-ng по сбору пакетов длился чуть более 15 минут. Длительность сеанса можно увидеть в верхнем левом углу терминала (смотрите рисунок 4).

Обратите внимание также на столбец «#Data» (смотрите рисунок 4). Это число собранных пакетов данных. Чем выше это число, тем больше вероятность того, что в них можно обнаружить конфиденциальные данные, которые злоумышленники могут использовать для дальнейшей компрометации цели или последующего разворачивания атаки внутрь корпоративной локальной сети (например, с помощью pivoting-техник).

Когда будет собрано достаточное количество данных, сеанс Airodump-ng можно остановить, нажав «Ctrl + C». Теперь в каталоге «/tmp» будет файл «null_byte-01.cap» (или как вы его назвали). Этот файл с расширением «.cap» можно будет открыть с помощью Wireshark.

Шаг 3. Установка последней версии сниффера Wireshark
По умолчанию Wireshark включен почти во все версии Kali Linux (

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

). Однако, есть несколько версий, которые не включают Wireshark, поэтому мы быстро расскажем, как установить Wireshark в Kali Linux.

Прежде всего, необходимо запустить из консоли команду обновления «apt-get», чтобы получить доступ к загрузке последней, протестированной и поддерживаемой (разработчиками Kali Linux) версии Wireshark. Для этого откройте терминал и введите следующую команду:

Затем используйте следующую команду для установки Wireshark:

sudo apt-get install wireshark
К слову, вы можете использовать символ двойного амперсанда «&&» между двумя этими командами. Это даст указание терминалу сначала синхронизировать индекс пакета с его источниками (репозиториями Kali Linux). А затем (и только при условии успешного обновления) будет установлен Wireshark. Скриншот выполнения этих команд представлен на рисунке 5.


Установка сниффера Wireshark в Kali Linux

Шаг 4. Запуск инструментария Wireshark
Wireshark, после успешной установки, можно будет найти в категории «Sniffing & Spoofing» в меню «Applications». Чтобы запустить Wireshark, просто кликните на значок (смотрите рисунок 6).


Запуск инструментария Wireshark в Kali Linux

Шаг 5. Настройка Wireshark для дешифровки трафика WiFi
Чтобы использовать Wireshark для дешифрования данных, находящихся в файле с расширением «.cap», нажмите кнопку «Edit» в верхней панели, затем выберите «Preferences», и разверните раскрывающееся меню «Protocols». Визуальный скриншот представлен на рисунке 7.


Настройка Wireshark для дешифровки трафика WiFi
После этого прокрутите вниз и выберите опцию «IEEE 802.11». Поле добавления, расположенное рядом со значением «Enable decryption», должно быть отмечено галочкой. Затем кликните на кнопке «Edit», чтобы добавить ключи дешифрования («Decryption keys») для конкретной сети Wi-Fi. Визуальный скриншот представлен на рисунке 8.


Выбор ключей дешифрования для конкретной сети Wi-Fi в Wireshark
Откроется новое окно, в котором необходимо указать пароль и имя Wi-Fi-роутера. Для этого, прежде всего, выберите для значения «Key type» параметр «wpa-pwd». Этот тип ключа необходим для добавления пароля WPA в виде обычного текста. При вводе учетных данных пароль и имя беспроводного маршрутизатора разделяется двоеточием (например, так — «password:router_name»). В нашем практическом примере для Wi-Fi-сети «Null Byte» был использован сверхнадежный пароль в виде длинной закодированной стоки, поэтому текст для значения «Key» получился следующим: «bWN2a25yMmNuM2N6amszbS5vbmlvbg==:Null Byte» (визуальный скриншот представлен на рисунке 9). Если же у вас, к примеру, пароль «Wonderfulboat555» к Wi-Fi-роутеру «NETGEAR72», то у вас должна получиться следующая строка: «Wonderfulboat555:NETGEAR72».


Установленные ключи дешифрования для конкретной сети Wi-Fi в Wireshark
Нажмите «ОК», чтобы сохранить учетные данные. Теперь, после импортирования файла с расширением «.cap», в котором находятся данные перехваченного беспроводного трафика, Wireshark сможет автоматически расшифровывать данные, относящиеся к Wi-Fi-сети «Null Byte».

Шаг 6. Проведение подробного анализа пакетов (Perform Deep Packet Inspection, DPI)
Чтобы импортировать файл с захваченными и сохранными пакетами данных, нажмите на кнопку «File» на верхней панели, а затем выберете «Open». В нашем случае файл с расширением «.cap» был сохранен в каталоге «/tmp»; выбираем его и нажимаем «Open». В зависимости от того, как долго утилита Airodump-ng собирала данные, Wireshark может потребоваться несколько минут для импорта и дешифрования всех данных. Визуальный скриншот этого действия представлен на рисунке 10.


Проведение подробного анализа пакетов (Perform Deep Packet Inspection, DPI)
После открытия файла с расширением «.cap» в Wireshark вы можете обнаружить тысячи строк необработанного веб-трафика. На первый взгляд это может выглядеть пугающим. К счастью, в Wireshark есть фильтры отображения («Display Filters»), которые можно использовать для сортировки и фильтрации ненужных пакетов. В сети вы можете найти огромное количество фильтров отображения, которые помогают пользователям провести тонкую настройку Wireshark, чтобы точечно идентифицировать актуальную и деликатную информацию. Далее, в рамках данного практического руководства, мы расскажем о нескольких наиболее эффективных фильтрах отображения, которых злоумышленники очень часто используют для проверки активности, происходящей в сети.

1. Поиск данных, содержащих запросы метода POST
Метод запроса POST, который поддерживается протоколом HTTP, часто используется при загрузке файла или отправке имен пользователей и паролей на веб-сайт. Другими словами, когда кто-то, например, входит в Facebook или оставляет комментарий под статьей на Интернет-портале, это скорее всего делается с помощью запроса POST.

Поэтому велика вероятность того, что данные POST в файлах с расширением «.cap» будут содержать персональную и компрометирующую информацию. Так, злоумышленники могут найти имена пользователей, пароли, настоящие имена людей и их домашние адреса, адреса электронной почты, логи чата и многое другое.

Итак, чтобы использовать фильтр для получения данных, содержащих POST-запросы, введите приведенную ниже строку в поле ввода фильтра отображения Wireshark:

http.request.method == "POST"

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

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

), случайно найденного на просторах Всемирной сети. Ведь запрос на получение уведомлений по электронной почте от своих любимых сайтов — распространенная в наши дни практика.

Если в файле с расширением «.cap» Wireshark найдет POST-запросы, то он отобразит их в информационном в столбце «Info» в виде строк, содержащие данные POST. Двойной щелчок по одной из этих строк приведет к появлению нового окна Wireshark, содержащего дополнительную информацию. Прокрутите вниз и разверните раскрывающийся список «HTML Form», чтобы просмотреть данные.

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

Более детальная информация представлена на рисунке 12.


Личная и конфиденциальная информация, найденная сниффером Wireshark при использовании фильтра отображения данных, содержащих POST-запросы
Как вы можете видеть, веб-сайт запросил введение формы пароля, который при обнаружении злоумышленники могут добавить в списки паролей и использовать его при проведении дальнейших атак грубой силы на сеть (с использованием метода перебора). Кроме того, люди часто используют идентичные пароли для нескольких учетных записей. Вполне возможно, что найденный пароль может предоставить злоумышленникам доступ к электронному адресу Gmail, также указанному в данных POST.

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

Еще немного пролистав вниз перехваченные и дешифрованные данные POST, можно найти еще больше информации (скриншот представлен на рисунке 13). К примеру, полный домашний адрес, почтовый индекс и номер телефона, которые также были включены в этот же единственный запрос POST. Эта информация сообщит злоумышленнику, где живет пользователь, и он сможет использовать телефонный номер в мошеннических целях, применяя техники социальной инженерии. Например, отправляя поддельные SMS-сообщения или использовать телефонный звонок для получения дополнительной информации о человеке и/или вымогательства.


Личная информация, найденная Wireshark при использовании фильтра отображения данных, содержащих POST-запросыПоиск данных, содержащих запросы метода GET
Метод запроса GET, который также поддерживается протоколом HTTP, часто используется для извлечения или загрузки данных с веб-серверов. Например, если кто-то просматривает чью-то учетную запись в Twitter, его браузер будет использовать GET-запрос для извлечения необходимой информации с веб-серверов twitter.com. Пристальная проверка файлов с расширением «.cap» (с перехваченным беспроводным трафиком) для GET-запросов не выявит имен пользователей или адресов электронной почты, но позволит злоумышленникам разработать полный профиль поведения пользователей в Интернете.

Чтобы использовать фильтр для получения данных, содержащих GET-запросы, введите приведенную ниже строку в поле ввода фильтра отображения Wireshark:

http.request.method == "GET"

Скриншот примера использования фильтра отображения для идентификации данных GET-запросов в Wireshark
Многие веб-сайты добавляют окончания «.html» или «.php» к концу своих URL-адресов (смотрите рисунок 14). Эта закономерность может быть использована в качестве индикатора веб-сайтов, просматриваемых кем-то в сети Wi-Fi.

Кроме того, для оптимизации поиска будет не лишним отсеять все GET-запросы, связанные с CSS (Cascading Style Sheets, каскадные таблицы стилей), для описания стилей и шрифтов, так как эти виды запросов не задаются пользователями напрямую, а происходят в фоновом режиме, когда кто-то просматривает веб-страницы в Интернете. Чтобы использовать фильтр для получения данных, содержащих GET-запросы и одновременно отфильтровать содержимое CSS, введите приведенную ниже строку в поле ввода фильтра отображения Wireshark:

http.request.method == "GET" && !(http.request.line matches "css")
Как вы можете видеть, символ двойного амперсанда «&&» здесь буквально означает «и». Символ «!» (восклицательный знак) в данном случае используется как «нет». Таким образом, мы инструктируем Wireshark отображать только запросы GET, игнорируя при этом все строки HTTP-запросов, которые каким-либо образом соответствуют «css». Используя этот фильтр, вы отсеете часть бесполезной для вас информации, связанной со служебной информацией, используемой веб-ресурсами в фоновом режиме.

Кликнув на одну из найденных строк, мы сможем развернуть и просмотреть более детальные данные «Hypertext Transfer Protocol» («протокола передачи гипертекста» или просто HTTP) с более подробной информацией об активности пользователя.


Отображение в Wireshark подробной информацией об активности пользователя через данные Hypertext Transfer Protocol
Из информации, которую пересылает о себе клиентское приложение User-agent, мы можем идентифицировать, что наша жертва использует компьютер под управлением Windows и браузер Chrome. Эта информация очень ценна для злоумышленников, так они теперь смогут более целенаправленно выбирать «полезные нагрузки» (payload) при осуществлении атаки эксплоита для получения доступа к системе этого пользователя, учитывая специфические свойства и уязвимости используемой им версии операционной системы Windows.

Строка «Referer» укажет нам на веб-сайт, который пользователь, поведенческую модель которого мы анализируем в данный момент, просматривал непосредственно перед тем, как перешел по ссылке на статью на веб-сайте «tomsitpro.com». Так как это поисковый веб-сайт «duckduckgo.com», то практически наверняка это означает, что статью о карьере этичного хакера («white hat hacker career») пользователь нашел с помощью некого запроса в этой поисковой системе.

Что эта тривиальная и на первый взгляд «неопасная» информация может сказать злоумышленнику? Много. Прежде всего, использование поисковой системы DuckDuckGo вместо стандартной для большинства Google, может указывать на человека, который заботится о своей конфиденциальности, поскольку Google известен своими агрессивными политиками в области собирания и использования личных данных своих пользователей. А тот, кто заботится о конфиденциальности, может также интересоваться защитным программным обеспечением, таким как антивирусные программы. И это то, что хакеры также будут учитывать при создании «полезной нагрузки» для этого пользователя.

3. Поиск данных DNS-запросов
Для передачи зашифрованного интернет-трафика (HTTPS) по умолчанию используется TCP-порт 443. Поэтому для того, чтобы понять, какие веб-сайты просматривает выбранный пользователь, на первый взгляд было бы логично воспользоваться фильтром отображения «tcp.port == 443». Но это обычно приводит к получению большого списка необработанных IP-адресов (в цифровом виде) в столбце назначения, что не очень удобно для быстрой идентификации доменов. Фактически, более эффективным способом для идентификации веб-сайтов, отправляющих и получающих зашифрованные данные, является фильтрация DNS-запросов.

Система доменных имен (Domain Name System, DNS) используется для преобразования имен веб-сайтов в машиночитаемые IP-адреса, такие как «https://144.76.198.94». Таким образом, когда мы посещаем, к примеру, такой домен, как «https://networkguru.ru», наш компьютер преобразует понятное человеку доменное имя в IP-адрес. Это происходит каждый раз, когда мы используем доменное имя для просмотра веб-сайтов, отправки электронной почты или общения онлайн.

Поиск DNS-запросов в файле с разрешением «.cap» (с перехваченным беспроводным трафиком) поможет злоумышленникам понять, какие веб-сайты часто посещают люди, подключенные к целевому маршрутизатору. Злоумышленники также смогут увидеть доменные имена, принадлежащие веб-сайтам, которые получают и отправляют зашифрованные данные на такие веб-сайты, как Facebook, Twitter и Google.

Чтобы использовать фильтр для получения данных, содержащих DNS-запросы, введите приведенную ниже строку в поле ввода фильтра отображения Wireshark:

dns


пример использования фильтра отображения для идентификации данных DNS-запросов в Wireshark
Анализ DNS-запросов может дать некоторую интересную информацию. К примеру, если вернуться к нашему практическому примеру, то мы можем увидеть (смотрите рисунок 16), что пользователь целевого маршрутизатора часто просматривает туристические сайты, такие как «expedia.com» и «kayak.com». И с большой долей вероятности это может означать, что пользователь скоро будет отсутствовать дома в течение длительного периода времени.

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

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

Как защититься от взлома WiFi сети и перехвата трафика?
На первый взгляд, все личные данные, обнаруженные нами в ходе анализа файла «.cap» с перехваченным трафиком беспроводной сети, кажутся обыденными и безвредными. Однако, проанализировав всего несколько пакетов, мы смогли узнать, как имя учетной записи пользователя, так и настоящее имя этого человека, место его работы, один из используемых им паролей, адрес электронной почты, домашний адрес, номер телефона, производителя оборудования, операционную систему, веб-браузер, а также поведенческие привычки пользователя по серфингу в Интернете и многое другое.

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

Также не следует забывать, что вся личная информация, обнаруженная в этой статье, доступна вашим Интернет-провайдерам и провайдерам мобильной связи. А эти компании, особенно крупные игроки, каждый день используют анализ DPI (Deep Packet Inspection, глубокая проверка пакетов), то есть проводят глубокий анализ полного содержимого вашего трафика и накапливают статистические данные о вас.

Чтобы защитить себя от такого пристального внимания посторонних к вашим личным данным, мы можем:

  • Использовать надежные пароли для защиты беспроводных сетей. Слабые пароли, уязвимые к атаке грубой силы, — основной способ у злоумышленников для получения доступа к чужим Wi-Fi-роутерам.
  • Использовать виртуальную частную сеть (Virtual Private Network, VPN). При установлении безопасного соединения между вами и провайдером VPN все личные данные, обнаруженные в этой статье, не были бы доступны злоумышленнику. Но в этом случае все ваши личные данные доступны вашему провайдеру VPN, в том числе для проведения им анализа глубокой проверки пакетов. Вы также не застрахованы от того, что ваши данные не будут переданы вашим провайдером VPN третьим лицам.
  • Использовать Tor. В отличие от сетей VPN, сеть Tor построена на совершенно другой модели безопасности, которая не использует для передачи всех ваших данных единую сеть или единого сервис-провайдера.
  • Использовать криптографические протоколы SSL/TLS для защищенной передачи данных в сети Интернет, чтобы обезопасить себя от прослушивания пакетов и осуществления несанкционированного доступа к вашим личным данным. К примеру, данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS, что зашифрует веб-трафик между вашим браузером и веб-сайтом. А такие инструменты, как HTTPS Everywhere («

    Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    ), могут помочь вам осуществлять шифрование данных вашего веб-трафика.
 
  • Нравится
Реакции: BadX
Сверху