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

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

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

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

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

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

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

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

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

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

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

Вводим в окне специальный фильтр для отображения захваченных пакетов: http.request.method == “POST”

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

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

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

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

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

После этого в новом окне появится текст, который в коде восстанавливает содержимое страницы. Найдем поля «password» и «user», которые соответствуют паролю и имени пользователя. В  некоторых случаях оба поля будут легко читаемы и даже не зашифрованы, но если мы пытаемся захватить трафик при обращении к очень известным ресурсам типа: Mail.ru, Facebook, Вконтакте и т.д., то пароль будет закодирован:

HTTP/1.1 302 Found

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

Server: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.3.3

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=/

Location: loggedin.php

Content-Length: 0

Connection: close

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

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

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

Пароль: e4b7c855be6e3d4307b8d6ba4cd4ab91

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

Заходим, например, на сайт http://www.onlinehashcrack.com/hash-identification.php#res и вводим наш пароль в окно для идентификации. Мне выдан был список протоколов кодирования в порядке приоритета:

  • MD5
  • NTLM
  • MD4
  • LM

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

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

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

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

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

  • Протокол POP и фильтр выглядит следующим образом: pop.request.command == «USER» || pop.request.command == «PASS»
  • Протокол IMAP и фильтр будет: imap.request contains «login»
  • Протокол SMTP и потребуется ввод следующего фильтра: smtp.req.command == «AUTH»

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

Шаг 6. Что делать, если трафик зашифрован и используется HTTPS?

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

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

Вариант 2. Вы можете расшифровать трафик HTTPS, используя файл журнала сеансовых ключей, записываемый Firefox или Chrome. Для этого браузер должен быть настроен на запись этих ключей шифрования в файл журнала (пример на базе FireFox), и вы должны получить этот файл журнала. По сути, необходимо похитить файл с ключом сессии с жесткого диска другого пользователя (что является незаконным). Ну а далее захватить трафик и применить полученный ключ для его расшифровки.

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

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

БОНУС

ВИДЕО: Wireshark Packet Sniffing Usernames, Passwords, and Web Pages

См. также:

  • Как правильно подключится к сети для захвата трафика? Часть 2. Захват на коммутаторе путем настройки зеркала или SPAN
  • 5 недостатков Wireshark: в чём бесплатный сниффер проигрывает коммерческим аналогам?
  • Как настроить фильтры для захвата трафика в WireShark? Примеры!

Wireshark is a free and open-source packet analysis tool that lets you capture and analyze network traffic in real-time. It is available for Windows, macOS, and Linux operating systems.

Wireshark captures network packets and displays the captured data in a human-readable format for easy analysis and troubleshooting of network issues. It can scan a variety of network protocols including TCP, UDP, HTTP, DNS, etc.

So, in this article, we will understand how we can perform the sniffing of login credentials or how to capture the password using Wireshark. and also see the overview of the Wireshark tool in terms of network security.

Password Capturing 

Wireshark can capture not only passwords but any type of information transmitted over the network: usernames, email addresses, personal information, etc. As long as we can capture network traffic, Wireshark can sniff passing passwords.

In sniffing can include passwords for various protocols such as HTTP, FTP, Telnet, etc. the captured data can be used to troubleshoot network problems, but can also be used maliciously to gain unauthorized access to sensitive information.

So, here we will see how we can capture the password using the Wireshark network capture analyzer. and see the outputs of the following steps.

Step 1: First of all, open your Wireshark tool in your window or in Linux virtual machine. and start capturing the network. suppose I am capturing my wireless fidelity.

Step 2: After starting the packet capturing we will go to the website and login the credential on that website as you can see in the image.

Step 3: Now after completing the login credential we will go and capture the password in Wireshark. for that we have to use some filter that helps to find the login credential through the packet capturing.         

Step 4: Wireshark has captured some packets but we specifically looking for HTTP packets. so in the display filter bar we use some command to find all the captured HTTP packets. as you can see in the below image the green bar where we apply the filter.

http

Step 5: So there are some HTTP packets are captured but we specifically looking for form data that the user submitted to the website. for that, we have a separate filter 

As we know that there are main two methods used for submitting form data from web pages like login forms to the server. the methods are-

  • GET 
  • POST 

Step 6: So firstly for knowing the credential we use the first method and apply the filter for the GET methods as you can see below.

http.request.method == "GET"

GET method

As you can see in the image there are two packets where the login page was requested with a GET request as well, but there is no form data submitted with a GET request. 

Step 7: Now after checking the GET method if we didn’t find the form data, then we will try the POST method for that we will apply the filter on Wireshark as you can see. 

http.request.method == "POST"

As you can see we have a packet with form data click on the packet with user info and the application URL encoded. and click on the down-

HTML form URL Encoded where the login credential is found. login credential as it is the same that we filed on the website in step 2.

Form item: "uname" = "Tonystark_44"
Form item: "pass" = "tony@1234"

Last Updated :
28 Mar, 2023

Like Article

Save Article

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

Содержание

  • 1 Сетевые протоколы без шифрования
  • 2 Как перехватить пароли в WireShark
    • 2.1 Перехват пароля FTP
    • 2.2 Перехват пароля Telnet
    • 2.3 Перехват пароля SMTP
    • 2.4 Перехват пароля IMAP4
    • 2.5 Перехват HTTP-пароля
    • 2.6 Перехват строки сообщества SNMP
    • 2.7 Перехват пароля LDAP
    • 2.8 Перехват пароля SOCKS
    • 2.9 Захватить пароль MSSQL
    • 2.10 Перехват пароля PostgreSQL
    • 2.11 Перехват пароля IRC
    • 2.12 Перехват пароля OSPF
    • 2.13 Перехват пароля BFD
    • 2.14 Перехват логина и пароля STUN
  • 3 Часто задаваемые вопросы (FAQ)
    • 3.1 Можно ли обнаружить Wireshark?
    • 3.2 Безопасно ли использовать Wireshark?
    • 3.3 Может ли Wireshark захватывать пакеты с других компьютеров?
    • 3.4 Может ли Wireshark расшифровать HTTPS?
    • 3.5 Может ли Wireshark захватывать мобильный трафик?
    • 3.6 Может ли Wireshark отправлять пакеты?
    • 3.7 Может ли Wireshark взломать пароль WiFi?
    • 3.8 Может ли Wireshark блокировать трафик?
    • 3.9 Создание правил брандмауэра с помощью Wireshark
  • 4 Заключение

На компьютерных форумах часто задают вопрос «Может ли Wireshark перехватывать пароли?». Конечно! Wireshark может перехватывать не только пароли, но и другую информацию, передаваемую по сети — имена пользователей, адреса электронной почты, изображения, видео и другую личную информацию.

Еще по теме: Обзор лучших снифферов для Windows

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

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

Каким образом Wireshark может перехватывать пароли? Это возможно из-за того, что многие сетевые протоколы не используют шифрование. Такие протоколы передают информацию в обычном, текстовом виде.

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

Порт Протокол Описание
TCP 20, TCP 21 FTP Протокол передачи файлов FTP.
TCP 23 Telnet Сетевой протокол.
TCP 25 SMTP Простой протокол передачи почты SMTP.
TCP 80 HTTP HTTP протокол передачи гипертекста.
TCP 110 POP3 Почтовый протокол.
TCP 143 IMAP4 Протокол доступа к Интернет-сообщениям IMAP4.
TCP 161, UDP 162 SNMP Простой протокол сетевого управления SNMP.
TCP 389 LDAP Облегченный протокол доступа к каталогам LDAP.
TCP 1080 SOCKS Протокол прокси.
TCP 1433 MSSQL База данных Microsoft SQL
TCP 5222 XMPP Расширяемый протокол обмена сообщениями и присутствия XMPP (Jabber).
TCP 5432 PostgreSQL База данных PostgreSQL.
TCP 6667 IRC IRC Internet Relay Chat.

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

Далее рассмотрим каждый протокол и способы перехвата паролей с помощью Wireshark.

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

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

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

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

Можно также перехватить любые данные (изображения, документы, аудиофайлы и т. д.) передаваемые по этому протоколу.

Для извлечения данных из файла PCAP можно использовать инструмент Chaosreader .

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

Протокол Telnet, использующий порт TCP 23 не нуждается в представлении. Он известен своей небезопасностью, но часто используется по сей день.

Существует множество различных устройств, использующих Telnet. В некоторых устройствах Telnet — единственный способ подключения, у которого нет другой альтернативы (веб-интерфейса, SSH или HTTPS). По этой причине организациям сложно полностью отказаться от его использования.

Telnet можно увидеть на:

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

Перехватить пароль Telnet очень просто. Пример можете видеть на следующем скрине:

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

Имея логин и пароль злоумышленник может получить доступ к маршрутизатору Cisco.

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

SMTP — это популярный сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. Он использует порт TCP 25, и хотя есть безопасная альтернатива, порт TCP 25  по прежнему используется на каждом почтовом сервере из-за проблем с совместимости.

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

В качестве кодирования имени пользователя и пароля используется Base64, что делает перехват пароля очень простым. Ниже вы можете видеть перехват учетных данных SMTP и последующее декодирование Base64 с помощью Linux-утилиты base64:

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

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

echo base64encodedstring >file.b64

certutil decode file.b64 file.txt >NUL

type file.txt

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

Для декодирования Base64 можно также использовать онлайн-сервисы, такие как base64decode.org или base64decode.net.

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

IMAP — еще один протокол для доступа к электронной почте. Он использует порт TCP 143 и обычно для шифрования SSL / TLS перед любыми попытками аутентификации требует выполнение команды «STARTTLS». Но так же, как и SMTP, некоторые организации по-прежнему поддерживают «простую» аутентификацию по незашифрованному каналу.

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

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

IMAP4 также использует кодировку Base64 аналогично SMTP. Следовательно, необходимо снова декодировать логин и пароль. Обратите внимание на нулевой байт ( 0) разделяющий логин и пароль.

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

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

HTTP – это протокол передачи информации в интернете (протокол передачи гипертекста). Обычно работает на порту TCP 80, и, поскольку это простой текстовый протокол, он не обеспечивает безопасность передаваемых данных. Любой, кто перехватит трафик HTTP сможет получить логины и пароли сайтов.

Он теперь редко используется на сайтах в интернете, но его иногда используют в корпоративных локальных сетях. Вот пример перехвата учетных данных, записанных в HTTP-сообщении запроса POST:

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

Вот еще один пример регистрации базовой аутентификации в HTTP-запросе GET. Обратите внимание, что строка аутентификации снова закодирована в Base64, как и в протоколах SMTP или IMAP4. Но в случае базовой аутентификации HTTP Wireshark декодирует ее автоматически:

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

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

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

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

Простой протокол управления сетью (SNMP) обычно работает на порту UDP 161. Его основная цель – управлять и контролировать сетевые устройства. Существует 3 версии протокола SNMP, и первые 2 версии (v1 и v2c) представляют собой текстовые уязвимые протоколы.

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

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

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

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

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

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

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

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

Вот пример перехвата логина и пароля LDAP:

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

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

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

SOCKS — это очень универсальный и популярный прокси-протокол, который позволяет пересылать (или туннелировать) любой трафик TCP или UDP между клиентом и сервером. SOCKS версии 5 также поддерживает аутентификацию. Поскольку SOCKS не выполняет никакого шифрования, все данные, проходящие через туннель, идут «как есть». Вдобавок ко всему, если мы в состоянии захватить сетевой трафик между клиентом и сервером, мы также можем захватить аутентификацию SOCKS.

Протокол SOCKS5 поддерживает несколько методов аутентификации. Один из них — имя пользователя и пароль, и поскольку нет шифрования, хорошо позиционированный злоумышленник может перехватить его с помощью анализатора пакетов.

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

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

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

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

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

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

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

Обратите внимание, что в MSSQL пользователь «sa» — это учетная запись системного администратора — пользователь с наивысшими привилегиями. Следовательно, это может иметь критическое значение, позволяя злоумышленнику получить полный контроль над сервером базы данных. Это также может привести к удаленному выполнению команд (RCE) через функциональность xp_cmdshell (ссылка, ссылка, ссылка …).

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

PostgreSQL — еще один очень популярный сервер баз данных SQL. Он работает на порту tcp / 5432 и поддерживает различные методы аутентификации. Обычно он настроен на запрет проверки подлинности открытым текстом, но иногда он настроен так, чтобы разрешить это. В таких случаях хорошо позиционированный злоумышленник может перехватить имя пользователя и пароль, перехватывая сетевой трафик.

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

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

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

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

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

Internet Relay Chat (IRC) — это протокол чата, обычно использующий порт tcp / 6667. IRC был очень популярен еще в 90-е годы. Хотя сегодня он уже не так популярен, некоторые люди все еще используют его, и он все еще существует. Кроме того, создатели вредоносных программ и операторы бот-сетей также используют его для управления своими армиями ботов. Обычно у них есть частный IRC-сервер, защищенный паролем, или частный канал (чат) где-нибудь на публичном IRC-сервере.

Поскольку IRC — это протокол открытого текста, очень легко получить учетные данные, передаваемые по этому каналу. Вот пример пароля IRC, полученного с помощью Wireshark:

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

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

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

Open Shortest Path First (OSPF) — это протокол маршрутизации для IP-сетей. Наиболее распространенным является OSPF версии 2, которая была указана в 1998 году. Этот протокол обычно используется в очень больших сетях и в магистральных сетях различных поставщиков услуг (например, ISP).

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

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

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

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

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

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

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

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

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

Утилиты обхода сеанса для NAT (STUN), указанные в 2003 году, представляют собой набор методов для выполнения обхода NAT. Обычно он используется различными системами аудио, видео, обмена сообщениями и другими интерактивными коммуникационными системами в реальном времени (например, VoIP-телефония). Хорошо расположенный злоумышленник может легко перехватить пароль STUN с помощью Wireshark.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Может ли Wireshark расшифровать HTTPS?

Да, Wireshark может расшифровывать зашифрованный трафик HTTPS SSL / TLS, если у него есть закрытые ключи. Wireshark может расшифровать SSL и TLS с помощью метода предварительного секретного ключа. Другой метод — использовать ключ RSA для расшифровки SSL, но это устаревший метод. Оба эти метода требуют, чтобы Wireshark имел доступ к закрытым ключам, чтобы он мог расшифровать трафик HTTPS.

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

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

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

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

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

Нет, Wireshark не может отправлять пакеты. Wireshark может только захватывать пакеты и анализировать их. У него нет возможности генерировать пакеты или вводить пакеты в сеть. Wireshark — это всего лишь анализатор пакетов. Это относится также к Tcpdump и Tshark.

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

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

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

Единственный возможный сценарий, при котором Wireshark может захватить пароль Wi-Fi, — это сценарий открытой незашифрованной беспроводной сети с небезопасным перехватывающим порталом, работающим по HTTP.

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Еще по теме: Как с помощью документа перехватить хеш NTLMv2-SSP и сбрутить пароль

Many users do not even realize that by filling in the login and password when registering or authorizing on a closed Internet resource and pressing ENTER, this data can easily be intercepted. Very often they are transmitted over the network in a non-secure manner. Therefore, if the site on which you are trying to log in uses the HTTP protocol, it is very easy to capture this traffic, analyze it using Wireshark and then use special filters and programs to find and decode the password so how to capture passwords with wireshark.

capture passwords with wireshark

The best place to intercept passwords is the core of the network, where all users’ traffic goes to closed resources (for example, mail) or in front of the router to access the Internet when registering with external resources. Adjust the mirror and we are ready to feel like a hacker.

.

Sometimes for this purpose it is enough to select only the interface through which we plan to capture traffic, and click the Start button. In our case, do capture over the wireless network.

Traffic capture has begun.

Filtering captured POST traffic

We open the browser and try to log in to any resource using the login and password. Upon completion of the authorization process and the opening of the site, we stop capturing traffic in Wireshark. Next, open the protocol analyzer and see a large number of packets. It is at this stage that most IT professionals give up, because they do not know what to do next. But we know and we are interested in specific packages that contain POST data that is generated on our local machine when the form is filled on the screen and sent to the remote server when you click the “Login” or “Authorization” button in the browser.

Enter in the window a special filter to display captured packets: http. request. method == “ POST”
And we see instead of a thousand packages, only one with the data we are looking for.

wireshark capture all network traffic

 Find the username and password using Wireshark

Quick-click the right mouse button and select the Follow TCP Steam item from the menu.

wireshark capture network traffic

After that, a new window will display the text, which in the code restores the contents of the page. Find the fields “password” and “user”, which correspond to the password and user name. In some cases, both fields will be easily readable and not even encrypted, but if we try to capture traffic when accessing very well-known resources like Mail.ru, Facebook, Vkontakte, etc., then the password will be encoded:

HTTP / 1.1 302 Found
Date: Mon, 10 Nov 2014 23:52:21 GMT
Server: Apache / 2.2.15 (CentOS)
X-Powered-By: PHP / 5.3.3
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 = /
Location: loggedin.php
Content-Length: 0
Connection: close
Content-Type: text / html; charset = UTF-8
Thus, in our case:
Username: networkguru
Password: e4b7c855be6e3d4307b8d6ba4cd4ab91

Determining the type of encoding for decrypting the password

We go, for example, to the site http://www.onlinehashcrack.com/hash-identification.php#res and enter our password into the window for identification. I was given a list of coding protocols in order of priority:

  • MD5
  • NTLM
  • MD4
  • LM

Deciphering user password

At this stage, we can use the hashcat utility:~ # hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txtAt the output we got the decrypted password: simplepassword
Thus, using Wireshark, we can not only solve problems in the operation of applications and services, but also try ourselves as a hacker, intercepting passwords that users enter in web forms. You can also learn passwords to user mailboxes using simple filters to display:

  • The POP protocol and filter looks like this: pop.request.command == “USER” || pop.request.command == “PASS”
  • IMAP protocol and filter will be: imap.request contains “login”
  • SMTP protocol and you will need to enter the following filter: smtp.req.command == “AUTH”

and more serious utilities to decrypt the encoding protocol.

What if the traffic is encrypted and using HTTPS?

There are several options for answering this question.Option 1: Connect to the disconnection between the user and the server and capture traffic at the time the connection is established (SSL Handshake). At the time of the connection, you can intercept the session key.
Option 2: You can decrypt HTTPS traffic using the session key log file written by Firefox or Chrome. To do this, the browser must be configured to write these encryption keys to a log file ( example based on FireFox), and you must receive this log file. In essence, it is necessary to steal a file with a session key from another user’s hard drive (which is illegal). Well, then grab traffic and use the received key to decrypt it.
Refinement. We’re talking about the web browser of the person who is trying to steal the password. If we mean decoding our own HTTPS traffic and want to practice, then this strategy will work. If you are trying to decrypt HTTPS traffic of other users without access to their computers, this will not work – for that it will encrypt and private space.
After receiving the keys for option 1 or 2, you must register them in WireShark:

  • Go to the menu Edit – Preferences – Protocols – SSL.
  • Set the flag “Reassemble SSL records spanning multiple TCP segments”.
  • “RSA keys list” and click Edit.
  • Enter data in all fields and set the path in the file with the key
Wireshark to capture password

WireShark can decrypt packets that are encrypted using the RSA algorithm. If the algorithms used are DHE / ECDHE, FS, ECC, the sniffer is not our helper.
Option 3. Get access to the web-server, which the user uses, and get the key. But it is even more challenging. In corporate networks for the purpose of debugging applications or content filtering, this option is implemented on a legal basis, but not in order to intercept user passwords.

  • How to decrypt WIFI traffic Wireshark
  • Wireshark filter

Вы знаете, что каждый раз, когда вы заполняете ваши имя пользователя и пароль на веб-сайте и нажимаете ENTER, вы отправляете ваш пароль. Хорошо, конечно вы это знаете. Как ещё мы собираемся авторизовать себя на веб-сайте?? Но (да, здесь есть маленькое НО) когда веб-сайт позволяет вам авторизоваться используя HTTP (PlainText), очень просто захватить этот трафик от любой машины в локальной сети (и даже в Интернете) и проанализировать его. Это означает, кто-то может хакнуть пароль от любого веб-сайта, использующего HTTP протокол для авторизации. Понятно, чтобы сделать это через Интернет вы должны быть способны сидеть на шлюзе или центральном хабе (BGP роутеры смогли бы — если у вас есть доступ, и трафик проходит через них).

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

Итак, давайте попробуем это на простом веб-сайте. Я это буду делать внутри одной машины. Вы же можете попробовать это между VirtualBox/VMWare/Физическими машинами.

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

В Kali Linux вы можете запустить Wireshark проследовав

Приложения > Kali Linux > Top 10 Security Tools > Wireshark

В Wireshark перейдите к пункту меню Capture > Interface и выберите интересующий вас интерфейс, у меня соединение по проводу, поэтому я выбираю eth0, для беспроводного доступа интерфейс может называться wlan0.

01

В идеале, после нажатия кнопки Start Wireshark должен начаться захват трафика. Если этого не произошло, то перейдите в меню Capture > Start

02

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

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

Обычно в Wireshark множество данных. Но нас интересуют только данные, отправленные методом POST.

Почему только POST?

Потому что когда вы печатаете ваше имя и пароль и нажимаете кнопку входа, данные на удалённый сервер отправляются методом POST.

Для фильтрации всего трафика и нахождения данных POST, наберите следующее в окне для ввода фильтра:

http.request.method == "POST"

Посмотрите скриншот внизу. Он отображает 1 событие событие POST.

03

Шаг 3: Анализ данных POST на наличие имени пользователя и пароля

Сейчас кликните правой кнопкой на этой линии и выберите Follow TCP Steam

04

Это откроет новое окно, содержащее что-то вроде такого:

05

Видите я выделил строчку log=Dimon&pwd=justfortest?

Т.е.

log=Dimon (имя пользователя: Dimon)

pwd=justfortest (пароль: justfortest)

Вот так вот, выдуманный пользователь codeby.net спалил свой пароль.

Как бороться с перехватом трафика WireShark и другими подобными программами

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

2. Когда вы сами пользуетесь публичными точками доступа, то, хотя бы, помните об угрозе перехвата пароля. Даже если вы не производили вход (не вводили логин и пароль), то ваш браузер постоянно обменивается с сайтами, на которых вы авторизованы, данными кукиз. Это не тоже самое что пароль, иногда кукиз просто бесполезны.

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

3. Используйте VPN, эта технология способна решить все проблемы с небезопасными сетями разом.

4. Самый действенный способ — SSL-сертификаты. У меня по этому поводу две новости: плохая и хорошая. Начну с плохой: от нас, от пользователей сайтов, не зависит, установлен ли на веб-сайте SSL-сертификат, если сертификат не установлен, то мы никак не можем это исправить. Хорошая новость: почти все популярные веб сайты (разные твитеры, вконтакте, фейсбуки, гугл-почты, яндекс-почты и т. д.) имеют эти сертификаты. Даже у Википедии теперь есть!

Если вы владелец сайта, то можно задуматься об установлении SSL-сертификата. Кроме уже названного преимущества (невозможность перехвата данных, отправляемых/получаемых на/с вашего сайта), ещё и Гугл обещала учитывать наличие SSL-сертификата при ранжировании (если этот сертификат есть, то позиции в поиске выше). Проблема в том, цена самых дешёвых сертификатов, даже по акции со скидкой, начинается от 400 рублей. За эти деньги можно купить несколько месяцев хостинга, при весьма эфемерной выгоде от наличия SSL-сертификата.

Если вас всё-таки заинтересовали эти сертификаты, то рекомендую обратиться к моей статье «Что такое SSL-сертификаты, для чего они нужны и как сэкономить покупая сертификат». Там и где купить со скидкой, и как установить, и прочее.


Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как составить график работы сотрудников по часам
  • Глубокий прикус как исправить пластинками
  • Как найти айфон если отключен локатор
  • Как найти площадь круга через паскаль
  • Как найти расстояние если известен диаметр

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии