Как с помощью wireshark узнать пароль от wifi

Обновлено: 06.07.2024

WireShark перехват пароля

Как перехватить пароли в WireShark

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

Сетевые протоколы без шифрования пароля

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

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

В следующих главах мы более подробно рассмотрим эти протоколы и увидим примеры захваченных паролей с помощью Wireshark.

Перехват пароля FTP

Протокол передачи файлов (FTP) появился в далеком 1971 году и как правило использует порты tcp 20, 21. Это очень старый протокол, но некоторые организации до сих пор используют его в своих сетях.

Захват пароля FTP с помощью Wireshark

Извлечение файлов с FTP с помощью Wireshark

Мы также могли бы использовать Chaosreader для извлечения данных из файла PCAP.

Перехват пароля Telnet

Протокол Telnet, использующий порт tcp / 23, конечно же, в представлении не нуждается. Он используется в основном для административных целей и известен своей небезопасностью. Поскольку нет шифрования, нет ни конфиденциальности, ни защиты от подслушивания. Тем не менее, Telnet используется и сегодня.

  • Сетевое оборудование (роутеры, коммутаторы ..)
  • Системы видеоконференцсвязи (например, Cisco TelePresence)
  • Системы контроля доступа (например, считыватели карт доступа)
  • Системы хранения и ленты
  • Принтеры и устройства обработки изображений
  • Устаревшие IP-телефоны
  • Мэйнфреймы

Перехват пароля Telnet с помощью Wireshark

Теперь злоумышленник может полностью захватить маршрутизатор Cisco.

Перехват пароля SMTP

Простой протокол передачи почты (SMTP) также используется в течение многих десятилетий. Он использует порт tcp / 25, и хотя есть безопасная альтернатива для порта tcp / 464, порт tcp / 25 сегодня открыт практически на каждом почтовом сервере из-за обратной совместимости.

Большинству серверов на порту tcp / 25 требуется команда «STARTTLS» для инициации шифрования SSL / TLS перед любыми попытками аутентификации. Однако почтовые серверы в некоторых организациях по-прежнему поддерживают аутентификацию в виде обычного текста по незашифрованному каналу. В основном это связано с устаревшими системами в их внутренних сетях.

На следующем снимке экрана мы видим захваченные учетные данные SMTP с использованием Wireshark и последующее декодирование base64 с помощью утилиты base64 в Linux:

Перехват пароля SMTP с помощью Wireshark

В Windows мы могли бы использовать команду certutil.exe для декодирования захваченных учетных данных следующим образом:

Расшифровка base64 с помощью certutil.exe в Windows

Перехват пароля IMAP4

На следующем снимке экрана показаны учетные данные IMAP, полученные из сети с помощью Wireshark:

Перехват аутентификации IMAP4 с помощью Wireshark

Обратите внимание, что IMAP4 также использует кодировку base64 аналогично SMTP. Следовательно, необходимо снова декодировать захваченную аутентификацию, чтобы получить имя пользователя и пароль в виде открытого текста. Обратите внимание на NULL-байт (\ 0) между именем пользователя и паролем, разделяющим их на приведенном выше снимке экрана.

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

Перехват HTTP-пароля в Wireshark

Перехват базовой аутентификации www через HTTP в Wireshark

Используя Wireshark, мы также можем легко извлекать из сетевого трафика такие файлы, как изображения, документы и аудиофайлы. Брэд Дункан из PaloAlto Networks написал отличную статью, описывающую, как извлекать данные из различных сетевых протоколов с помощью Wireshark. Существует также инструмент Chaosreader, который позволяет извлекать данные из файла PCAP.

Перехват строки сообщества SNMP

Хотя протокол SNMPv3 существует уже почти два десятилетия, на это нужно время. Большинство организаций по-прежнему используют v1 или v2c в своих внутренних сетях. Обычно это связано с обратной совместимостью с устаревшими системами в их сетях.

Вот пример захваченной строки сообщества SNMP с помощью Wireshark:

Перехват строки сообщества SNMP

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

Перехват пароля LDAP

Облегченный протокол доступа к каталогам (LDAP) реализует протокол для доступа и обслуживания информационных служб каталога. Обычно он работает на порту tcp / 389 как незашифрованный текстовый сервис. Следовательно, он подвержен подслушиванию, как и любой другой протокол открытого текста.

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

Вот пример аутентификации LDAP, полученный с помощью Wireshark:

Перехват пароля LDAP с помощью Wireshark

Кроме того, в средах Windows Active Directory контроллеры домена обычно открывают интерфейс LDAP через порт tcp / 389. Обычно в сети есть несколько систем, интегрированных с Active Directory с использованием интерфейса LDAP, например системы посещаемости, системы контроля доступа, принтеры и т. д. В таких случаях эти системы могут позволить злоумышленнику перехватить действительные учетные данные пользователя домена через LDAP, если они не защищены должным образом. Посмотрите здесь пример из одного из наших пентестов.

Перехват пароля SOCKS

На следующем снимке экрана показан пример аутентификации SOCKS5, полученной с помощью Wireshark:

Перехват аутентификации SOCKS в Wireshark

Теперь злоумышленник может использовать прокси-сервер SOCKS и получить доступ к системам на стороне сервера.

Захватить пароль MSSQL

Сервер Microsoft SQL обычно работает на порту tcp / 1433, и это еще одна служба, для которой мы можем захватывать пароль с помощью Wireshark. Если сервер не настроен с опцией «ForceEncryption», можно перехватить аутентификацию в виде простого текста либо напрямую, либо с помощью атаки перехода на более раннюю версию. «Человек посередине» может очень легко перехватить учетные данные MSSQL.

Вот пример захваченного пароля MSSQL пользователя sa с помощью Wireshark:

Перехват пароля MSSQL Wireshark

Перехват пароля PostgreSQL

Обратите внимание, что аутентификация PostgreSQL идет в виде нескольких пакетов. Сначала идет имя пользователя и имя базы данных:

Перехват имени пользователя и базы данных PostgreSQL Wireshark

В последующем сетевом пакете мы также можем увидеть пароль PostgreSQL:

Перехват пароля PostgreSQL Wireshark

Перехват пароля IRC

Перехват пароля IRC Wireshark

С этими учетными данными мы теперь могли подключиться к защищенному паролем IRC-серверу.

Перехват пароля OSPF

Перехват пароля OSPF Wireshark

Теперь злоумышленник может отправлять ложные объявления о маршруте, перенаправлять потоки сетевого трафика или нарушать предоставляемые услуги (подключение).

Перехват пароля BFD

Протокол Bidirectional Forwarding Detection (BFD), указанный в 2010 году, используется для предоставления диагностической информации между двумя подключенными системами. Обычно он используется вместе с протоколами маршрутизации, такими как BGP или OSPF, для быстрого обнаружения сбоев в канале. Этот протокол обычно используется в очень больших сетях и в магистральных сетях различных поставщиков услуг (например, ISP).

Перехват пароля BFD Wireshark

Перехват логина и пароля STUN

Вот пример захваченной аутентификации STUN с использованием Wireshark:

Перехват аутентификации STUN Wireshark

Теперь злоумышленник может выполнить обход NAT и потенциально создать каналы для доступа к внутренним системам извне.

Часто задаваемые вопросы (FAQ)

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

Можно ли обнаружить Wireshark?

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

находится в той же локальной сети
не имеет правила брандмауэра, которое блокирует входящие пакеты ICMP
выполняет обнюхивание с помощью интерфейса с включенным TCP / IP и, таким образом, может отвечать на входящий пакет ICMP

Метод работает путем отправки пакета проверки связи ICMP узлу прослушивания с неправильным MAC-адресом назначения. Узел сниффинга получит его, а операционная система ответит на него, несмотря на то, что он не адресован ему. Здесь есть сценарий Nmap для этого метода.

Безопасно ли использовать Wireshark?

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

Может ли Wireshark захватывать пакеты с других компьютеров?

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

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

Подробные инструкции о том, как это сделать в системах Windows, Linux или Mac, можно найти здесь.

Может ли Wireshark захватывать мобильный трафик?

Да, в Wireshark есть ряд анализаторов, которые могут анализировать мобильный трафик, проходящий через сеть мобильной связи (например, GSM). Чтобы это работало, Wireshark должен иметь возможность принимать мобильный трафик с помощью специального оборудования, такого как, например, OsmocomBB-совместимый телефон.

Более подробную информацию об этом можно найти здесь.

Может ли Wireshark отправлять пакеты?

Для внедрения пакетов или создания пакетов см. Такие проекты, как hping, Scappy, Ostinato или т.д.

Может ли Wireshark взломать пароль WiFi?

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

В других случаях, когда используется шифрование (WEP, WPA, WPA2, WPA3 и т. Д.), Wireshark мало поможет получить доступ к сети. Существуют и другие инструменты, предназначенные для получения доступа к таким беспроводным сетям, а именно пакет Aircrack-ng.

Может ли Wireshark блокировать трафик?

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

Создание правил брандмауэра с помощью Wireshark

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

Инструменты -> Правила ACL брандмауэра

Создайте правила ACL брандмауэра с помощью Wireshark

Теперь мы можем скопировать и вставить выбранные правила прямо в наш брандмауэр. Wireshark поддерживает синтаксис следующих межсетевых экранов:

  • Cisco IOS (стандартный / расширенный)
  • IP-фильтр (ipfilter)
  • IPFirewall (ipfw)
  • Netfilter (iptables)
  • Пакетный фильтр (pf)
  • Брандмауэр Windows (netsh)

Заключение

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

Wireshark - как узнать пароль

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

Шаг 1. Устанавливаем и запускаем Wireshark для захвата трафика

Перехват паролей пользователей с помощью Wireshark

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

Как найти пароль в Wireshark?

Захват трафика начался.

Шаг 2. Фильтрация захваченного POST трафика

И видим вместо тысячи пакетов, всего один с искомыми нами данными.

Фильтрация захваченного POST трафика - поиск паролей

Шаг 3. Находим логин и пароль пользователя

Быстрый клик правой кнопки мыши и выбираем из меню пункт Follow TCP Steam


Поиск и перехват логина и пароля пользователя в Wireshark

Date: Mon, 10 Nov 2014 23:52:21 GMT

Server: Apache/2.2.15 (CentOS)

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Set-Cookie: non=non; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Set-Cookie: password=e4b7c855be6e3d4307b8d6ba4cd4ab91; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Set-Cookie: scifuser=networkguru; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Content-Type: text/html; charset=UTF-8

Таким образом, в нашем случае:

Имя пользователя: networkguru

Шаг 4. Определение типа кодирования для расшифровки пароля

Шаг 5. Расшифровка пароля пользователя

На данном этапе можем воспользоваться утилитой hashcat:

На выходе мы получили расшифрованным пароль: simplepassword

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

и более серьезные утилиты для расшифровки протокола кодирования.

Для ответа на этот вопрос есть несколько вариантов.

Вариант 1. Подключиться в разрыв соединения между пользователем и сервером и захватить трафик в момент установления соединения (SSL Handshake). В момент установки соединения можно перехватить сеансовый ключ.

После получения ключей по варианту 1 или 2 необходимо прописать их в WireShark:

  1. Идем в меню Edit – Preferences – Protocols – SSL.
  2. Ставим флаг «Reassemble SSL records spanning multiple TCP segments».
  3. «RSA keys list» и нажимаем Edit.
  4. Вводим данные во все поля и прописываем путь в файлу с ключом

Как украсть сетевой пароль, если трафик зашифрован и используется HTTPS

WireShark может расшифровывать пакеты, которые зашифрованы с использованием алгоритма RSA. В случае если используются алгоритмы DHE/ECDHE, FS, ECC, сниффер нам не помощник.

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

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

image

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

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

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

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

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

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

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

Вам понадобится карта беспроводного сетевого адаптера с режимом мониторинга (беспроводной сети) и смартфон с 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: Активация дешифровки


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

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

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

1. DNS запросы

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


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


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


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

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


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

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


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

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


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


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



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

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


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

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

Заключение

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

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

Слушаем wifi с помощью wireshark

Трафик будем слушать с помощью программы Wireshark. Есть много утилит для анализа сетевой активности (ngrep, tcpdump, mitmproxy), но Wireshark пожалуй самая популярная и имеет огромный функционал.

Опишу работу программы на примере таких задач:

Все действия я выполнял на ноутобуке MacBook Pro с OS X Yosemite, на других устройствах возможно что-то будет по-другому.

Небольшой дисклеймер: все ваши действия на вашей совести и ответсвенности. Не используйте описанные здесь техники во вред кому-либо.

Сетевые пакеты локального интерфейса (localhost)

Итак, устанавливаем wireshark. Запускаем, заходим в меню Capture -> Intefaces.

ws interface

ws http filter

Сейчас мы будем ловить сетевые пакеты, передающееся от нашего браузера к django development серверу и обратно. Есть особенности, связанные именно с django сервером.

Прослойка будет выставлять Content-Length в ответах.

Теперь запустим простой django проект, который на главной странице отображает имя текущего пользователя, а так же форму для логина и пароля. Если пользователь не залогинен, то вместо имени показываем AnonymousUser.

Если мы не задали 'ConditionalGetMiddleware', то скорее всего увидим только запрос:

localhost request only

Ответ все же можно увидеть, выбрав запрос и зайдя в Analyse->Follow TCP Stream:

localhost request only follow tcp

localhost request response

localhost request response follow tcp

Ну пока не очень интересно, только поковырялись с wireshark. Но давайте попробуем залогиниться.

Вводим логин+пароль и нажимаем Login. В wireshark увидим 4 новых фрейма: POST запрос, редирект на главную страницу (ответ 302), запрос на получение главной, ответ главной страницы:

localhost four new frames

Проследим внимательно за передаваемой информацией.

localhost login password

Логин и пароль как на ладони.

localhost 302 session

Следующим идет запрос главной страницы, в куках передается id сессии:

localhost session in request

Вывелось Hello, alex , значит мы зашли под пользователем alex.

Сетевые пакеты нашей локальной машины во внешний мир

Послушаем внешние сетевые запросы нашего компьютера.

В wireshark выбираем Capture -> Intefaces, ставим галочку напротив en0 и нажимаем Start:

my wifi interface

my wifi lexev

Видно id сессии, можно делать с ней все что захочешь.

Сетевые пакеты других пользователей открытой wifi сети

До сих пор мы слушали только свои запросы и ответы. Но гораздо интересней послушать других пользователей.

Зайдем в кафе с открытой wifi сетью, запустим wireshark. Заходим в Capture -> Intefaces, выбираем соответствующий интерфейс и нажимаем Options (не Start). Видим что-то такое:

public wifi options

Дважды щелкаем на интерфейс и ставим галочку напротив Capture packets in monitor mode:

public wifi monitor model

Ok, Start. Все, теперь мы слушаем всю сеть (кроме нас самих).

Для этого зададим такой хитрый фильтр:

на этапе выбора интерфейса (кнопка Options):

public wifi capture filter

public wifi admin session

Ради интереса попробуем войти, введя логин и пароль. Смотрите все:

public wifi admin login and password

Все как на ладони.

Сетевые пакеты других пользователей в закрытой wifi сети

Допустим есть wifi сеть с WPA шифрованием. В интерфейсах выберем wifi, включим для него monitor mode (все как для открытой сети, только без Capture фильтра) и попробуем послушать сетевые пакеты. В результатах будет что-то такое:

private undercrypted

Мы видим зашифрованные данные. Но, если мы знаем пароль от wifi, то можем расшифровать пакеты. Для этого заходим в Edit -> Preferences. Выбираем Protocol -> IEEE 802.11.

private IEEE

Нажимаем Edit напротив Decryption Keys. Далее New. В новом окошке вводим:

Соответственно заменяем password на пароль от wifi сети, а wifiname - на название сети.

private wifi password

private wifi decrypted

Послушаем открытую wifi сеть

Вот так можно сохранить поля "номер фрейма", "HTTP метод", "full_uri"

Написав небольшой python скриптик, подсчитал количество запросов на каждый url и сгруппировал по доменам второго уровня. Вот 20 самых популярных доменов, на которые заходили:

Способы защиты

Читайте также: