Как перехватить пароли с помощью WireShark

Wireshark icon

На компьютерных форумах часто задают вопрос «Может ли 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:

Расшифровка 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 и сбрутить пароль

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

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