24 апреля, 2024

Как скрытно анализировать Wi-Fi активности без подключения к роутеру-цели

Содержание:

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

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

Сканеры портов создают сильный шум в беспроводных сетях. Атаки типа «Человек-в-середине» могут быть слишком агрессивными и предупредят пользователей и администраторов о присутствии в сети хакера. Маршрутизаторы сохраняют в логи информацию о каждом устройстве, которое подключается к сети. Каждое действие, которое вы предпринимаете при подключении к сети, может каким-нибудь образом привести к тому, что на скомпрометированном маршрутизаторе вас обнаружат.

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

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

Данные отправляются на маршрутизатор и с него ноутбуками и смартфонами через зашифрованные радиоволны. Эти радиоволны передают данные «по воздуху». Передаваемые данные не видны человеческому глазу, но могут быть собраны с использованием таких средств, как Airodump-ng. Собранные данные затем могут быть проанализированы с использованием Wireshark.

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

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

Шаг 1. Найдите целевую сеть

Airodump-ng доступен во всех популярных дистрибутивах Linux и будет работать на виртуальных машинах и на Raspberry Pi. Мы будем использовать Kali Linux для сбора данных, принадлежащих тому Wi-Fi маршрутизатору, который мы сами контролируем. Если вы никогда раньше не использовали Airdodump-ng, то вы можете узнать основы работы с ним из наших статей на сайте.

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

airmon-ng start wlan0

Найдите целевую сеть. Чтобы просмотреть все доступные поблизости Wi-Fi сети воспользуйтесь командой ниже. В качестве примера мы будем ориентироваться на наш маршрутизатор «Null Byte».

airodump-ng wlan0mon

Обратите внимание на BSSID, CH и ESSID. Эта информация необходима для сбора данных, передаваемых на маршрутизатор.

Шаг 2. Сбор Wi-Fi данных

Чтобы начать сбор данных, принадлежащих целевой сети, введите команду ниже, заменив соответствующие части на те, с которыми вы работаете:

airodump-ng --bssid MacАдресЦели --essid ИмяРоутера -c НомерКанала -w КудаСохранитьДанные wlan0mon

Мы сохраним собранные данные в каталог /tmp в файл с именем «null_byte», используя аргумент -w. Airodump-ng автоматически добавит номер в конец имени файла, поэтому в действительности он будет сохранен в каталоге /tmp как «null_byte-01.cap».

Вот что ожидать от работающего терминала Airodump-ng:

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

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

Читать также:  Взлом WPA2-PSK паролей при помощи Aircrack-ng

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

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

Шаг 3. Установка последней версии Wireshark

По умолчанию Wireshark включен почти во все версии Kali. Есть несколько версий, которые не включают Wireshark, поэтому коротко расскажем, как установить его в Kali.

Первым делом запустите команду apt-get update для того, чтобы убедиться, что последняя версия Wireshark доступна для скачивания. Откройте терминал и введите команду ниже:

sudo apt-get update

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

sudo apt-get install wireshark

Между двумя командами можно использовать символы &&, как показано на скриншоте выше. Это даст указание терминалу сначала синхронизировать индекс пакетов с репозиториями Kali. А затем, после того как обновление пройдет успешно, она установит Wireshark.

Шаг 4. Запустите Wireshark

Когда это будет сделано, Wireshark можно будет найти в категории «Sniffing & Spoofing» в меню «Приложения». Чтобы запустить Wireshark, просто кликните на иконку.

Шаг 5. Конфигурирование Wireshark для расшифровки данных

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

Затем прокрутитесь вниз и выберите «IEEE 802.11». Необходимо установить флажок «Enable decryption». Затем кликните на кнопку «Edit», чтобы добавить ключи дешифрования для определенной Wi-Fi-сети.

Появится новое окно. Здесь нужно будет указать пароль и имя маршрутизатора. Учетные данные нужно вводить, разделив пароль и имя маршрутизатора двоеточием (например, password: router_name).

Сначала выберите Key type (тип ключа) «wpa-pwd». Этот тип ключа требуется для установки WPA-пароля в текстовом виде. Пароль от сети «Null Byte» Wi-Fi — это длинная кодированная строка, поэтому мы ввели «bWN2a25yMmNuM2N6amszbS5vbmlvbg ==: Null Byte» в столбце Key. Другим примером может быть «Wonderfulboat555: NETGEAR72», где «Wonderfulboat555» является паролем к маршрутизатору с именем «NETGEAR72».

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

Шаг 6. Выполнение глубокого анализа пакетов (DPI)

Чтобы импортировать .cap-файл в Wireshark, кликните в меню «Файл», а затем кликните «Открыть». Файл .cap можно найти в директории /tmp. Выберите ее, затем кликните «Открыть». В зависимости от того, как долго терминал Airodump-ng собирал данные, для импорта и дешифрования всех данных Wireshark может потребоваться несколько минут.

После того, как .cap-файл откроется в Wireshark, вы можете увидеть тысячи строк необработанного веб-трафика. Это зрелище может быть несколько пугающим. К счастью, у Wireshark есть фильтры отображения (Display Filters), которые можно использовать для управления и фильтрации пакетов, которые вам не нужны. В Интернете есть много шпаргалок по таким фильтрам отображения, которые помогают пользователям Wireshark находить релевантные и конфиденциальные данные. Но мы сегодня рассмотрим несколько наиболее полезных фильтров отображения, которые хакеры используют для проверки активности, происходящей в сети.

1. Поиск данных POST-запросов

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

Читать также:  Продемонстрирована полноценная атака на Smart TV

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

http.request.method == "POST"

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

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

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

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

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

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

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

2. Поиск данных GET-запросов

HTTP-запрос GET используется для получения или скачивания данных с веб-серверов. Например, если кто-то просматривает мою учетную запись в Twitter, то его браузер будет использовать GET-запрос для получения данных с серверов twitter.com. Проверка .cap-файла на наличие GET-запросов не приведет к получению имен пользователей (логинов) или адреса электронной почты, но это позволит хакеру разработать полный профиль привычек просмотров веб-сайтов.

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

http.request.method == "GET"

Многие веб-сайты добавляют .html или .php в конец URL-адресов. Это может быть индикатором веб-сайта, просматриваемого кем-то в Wi-Fi-сети.

Возможно, было бы полезно отфильтровать GET-запросы, связанные с CSS и шрифтами, так как эти виды запросов проходят в фоновом режиме при просмотре веб-страниц в Интернете. Чтобы отфильтровать содержимое CSS, используйте такой фильтр Wireshark:

http.request.method == "GET" && !(http.request.line matches "css")

Здесь && буквально означает «и». Восклицательный знак (!) здесь означает «нет», поэтому Wireshark получает указание отображать только GET-запросы и не отображать те строки HTTP-запросов, которые соответствуют css каким-либо образом. Эта строка успешно отфильтровывает всякую бесполезную информацию, связанную с обычными веб-ресурсами.

Кликнув на одну из таких строк для того, чтобы провести исследование HTTP-данных, вы получите более детальную информацию.

Мы видим, что цель использует компьютер под управлением Windows, у которого User-Agent относится к браузеру Chrome. Что касается разведки аппаратной части, то такая информация очень ценна. Хакеры теперь могут с большой степенью определенности сгенерировать наиболее подходящую под этого пользователя полезную нагрузку (payload), специфичную для используемой операционной системы Windows.

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

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

Читать также:  5 способов обойти заблокированные сайты

3. Поиск данных DNS

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

Система доменных имен (DNS) используется для приведения обычных имен веб-сайтов в машиночитаемые IP-адреса, такие как https://104.193.19.59. Когда мы посещаем какой-нибудь домен, вроде google.com, наш компьютер преобразует удобное для человека имя домена в IP-адрес. Это происходит каждый раз, когда мы используем доменное имя при просмотре веб-сайтов, отправке электронной почты или чата в Интернете.

Анализ .cap-файла на предмет DNS-запросов дополнительно поможет хакерам понять, какие сайты часто посещают люди, подключившиеся к этому маршрутизатору. Хакеры могут видеть доменные имена, принадлежащие веб-сайтам, отправляющим и получающим зашифрованные данные на или с этих сайтов, как, например, Twitter и Google.

Чтобы фильтровать DNS-данные, введите команду ниже в поле фильтра отображения:

dns

Просмотр DNS-запросов может предоставить нам некоторую интересную информацию. Мы можем четко видеть, что этот пользователь просматривал веб-сайты о путешествиях, такие как expedia.com и kayak.com. Это может означать, что он скоро уедет в отпуск на длительный срок.

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

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

Как защитить личные данные от хакеров

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

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

Имейте в виду, что вся личная информация, раскрываемая в этой статье, также доступна интернет-провайдерам (ISP). Читатели должны знать, что DPI выполняется интернет-провайдерами каждый день. Чтобы защитить себя от этого:

  • Используйте более сильные пароли. Проведение брутфорса для взлома легких паролей — это основной метод хакеров для получения доступа к Wi-Fi маршрутизаторам.
  • Используйте VPN. Благодаря тому, что между вами и VPN-провайдером используется шифрованное соединение, все данные, которые мы обнаружили в этой статье, не попали бы к хакерам. Однако, если VPN-провайдер регистрирует или выполняет DPI, тогда все данные также легко стали бы доступны хакерам.
  • Используйте Tor. В отличие от VPN, сеть Tor построена на другой модели безопасности, которая не передает наши данные одной единственной сети или интернет-провайдеру.
  • Используйте SSL/TLS. Transport Layer Security — Протокол защиты транспортного уровня (HTTPS) будет шифровать ваш веб-трафик между вашим браузером и веб-сайтом. Такие инструменты, как HTTPSEverywhere , могут помочь зашифровать весь трафик вашего веб-браузера.

Добавить комментарий