Анализ трафика — важнейший этап тестирования на проникновение (или даже взлома). В передаваемых по сети пакетах можно обнаружить много интересного, например пароли для доступа к разным ресурсам и другие ценные данные. Для перехвата и анализа трафика используются снифферы, которых человечество придумало великое множество. Сегодня мы поговорим о самых популярных снифферах под винду.
Теоретически можно собирать вообще все пакеты в сегменте локальной сети, где установлен сниффер, однако в этом случае данных для последующего анализа будет слишком много, да и файлы журналов быстро распухнут до совершенно неприличных размеров. А можно настроить приложение таким образом, чтобы оно отлавливало трафик только определенных протоколов (HTTP, POP3, IMAP, FTP, Telnet) или анализировало лишь первые 100 байт каждого пакета, где обычно и содержится самое интересное: адрес целевого хоста, логины и пароли. Современные снифферы могут слушать в том числе и зашифрованный трафик.
Нередко анализаторы трафика применяются в «мирных» целях — для диагностики сети, выявления и устранения неполадок, обнаружения вредоносного ПО или чтобы выяснить, чем заняты пользователи и какие сайты они посещают. Но именно при исследовании безопасности сетевого периметра или тестировании на проникновение сниффер — незаменимый инструмент для разведки и сбора данных. Существуют снифферы для различных операционных систем, кроме того, подобное ПО можно установить на роутере и исследовать весь проходящий через него трафик. Сегодня мы поговорим о наиболее распространенных популярных анализаторах трафика для платформы Microsoft Windows.
Этот анализатор имеет русскоязычный интерфейс, умеет работать с большим количеством сетевых протоколов (перечислять здесь их все лишено смысла: полный список можно найти на сайте производителя). В Wireshark можно разобрать каждый перехваченный пакет на части, просмотреть его заголовки и содержимое. У приложения очень удобный механизм навигации по пакетам, включая различные алгоритмы их поиска и фильтрации, есть мощный механизм сбора статистики. Сохраненные данные можно экспортировать в разные форматы, кроме того, существует возможность автоматизировать работу Wireshark с помощью скриптов на Lua и подключать дополнительные (даже разработанные самостоятельно) модули для разбора и анализа трафика.
Помимо Ethernet, сниффер умеет перехватывать трафик беспроводных сетей (стандарты 802.11 и протокол Bluetooth). Тулза позволяет анализировать трафик IP-телефонии и восстанавливать TCP-потоки, поддерживается анализ туннелированного трафика. Wireshark отлично справляется с задачей декодирования протоколов, но, чтобы понять результаты этого декодирования, надо, безусловно, хорошо разбираться в их структуре.
К недостаткам Wireshark можно отнести то, что восстановленные потоки не рассматриваются программой как единый буфер памяти, из‑за чего затруднена их последующая обработка. При анализе туннелированного трафика используется сразу несколько модулей разбора, и каждый последующий в окне программы замещает результат работы предыдущего — в итоге анализ трафика в многоуровневых туннелях становится невозможен.
В целом Wireshark — не просто популярный, но очень добротный продукт, позволяющий отследить содержимое гуляющих по сети пакетов, скорость их передачи, найти «проблемные места» в сетевой инфраструктуре. Но в отличие от коммерческих приложений здесь нет удобных инструментов визуализации. Кроме того, с помощью Wireshark не так уж и просто, например, выловить из трафика логины и пароли, а это одна из типичных задач при тестировании на проникновение.
Программа имеет русскоязычный интерфейс, что может стать определяющим фактором при выборе сниффера для пользователей, не владеющих английским. Главное преимущество CommView — возможность гибко настроить правила фильтрации пакетов: можно выбрать отдельные протоколы, которые будет отслеживать приложение, сортировать пакеты по ряду признаков, например по размеру или заголовку. Ассортимент поддерживаемых протоколов также весьма велик: сниффер умеет работать с самыми распространенными прикладными протоколами, а также выполнять реконструкцию TCP-сессии и UDP-потока. При этом CommView позволяет анализировать трафик вплоть до пакетов протоколов самого низкого уровня — TCP, UDP, ICMP, а также просматривать «сырые» данные. Программа показывает заголовки перехваченных пакетов, собирает подробную статистику IP-трафика. Сохраненные данные можно экспортировать в 12 различных форматов, начиная с .txt и .csv и заканчивая файлами других анализаторов вроде Wireshark.
Помимо трафика на сетевой карте, CommView может мониторить соединения по VPN, а также трафика, проходящего через модемы — аналоговые, мобильные, ADSL, ISDN и другие, для чего в систему устанавливается специальный драйвер. Есть возможность перехвата VoIP-трафика и сессий SIP-телефонии. В состав приложения входит генератор пакетов, с помощью которого можно отправить на заданный Ethernet-интерфейс пакет указанной длины, с произвольными заголовками и содержимым. Есть также довольно удобный просмотрщик лог‑файлов, позволяющий открывать файлы журналов в отдельном окне сниффера и выполнять поиск по их содержимому.
Тулза, вне всяких сомнений, крайне удобная и полезная, если бы не «кусачие» цены на лицензию. Для профессионального пентестера покупка такого инструмента наверняка будет оправданна, но ради того, чтобы разок «глянуть сеть», можно поискать альтернативные — более дешевые или бесплатные решения.
В своей работе Intercepter-NG использует утилиту NPcap, портабельную версию которой, по заверениям разработчиков, таскает с собой. Однако практика показала, что ее либо забыли туда положить, либо в Windows 10 она не работает — для запуска сниффера мне пришлось качать NPcap с сайта https://nmap.org/npcap/ и устанавливать его вручную.
Intercepter-NG имеет довольно симпатичный пользовательский интерфейс и позволяет просматривать трафик в нескольких режимах. Есть обычный просмотр пакетов и их содержимого, в котором можно фильтровать пакеты с помощью правил pcap или использовать функцию Follow TCP stream для детального анализа какой‑либо сессии. Есть режим Messengers Mode, в котором тулза пытается перехватить трафик мессенджеров — прежде всего ископаемых ICQ, MSN, Yahoo и AIM, но есть там поддержка протокола Jabber. С Telegram фокус не удался: сниффер попросту его не увидел.
Имеется Passwords Mode, в котором на экране демонстрируются выловленные из трафика логины и пароли, передаваемые по протоколам FTP, HTTP, SMTP, POP3, IMAP, LDAP, Telnet и другим. Режим Resurrection mode позволяет восстанавливать файлы, передаваемые через HTTP, FTP, SMB, IMAP, POP3 и SMTP, — при этом удачно восстанавливаются только файлы из завершенных TCP-сессий.
В составе Intercepter-NG имеется дополнительный и очень полезный инструментарий. Это простой DHCP-сервер, служба NAT, позволяющая транслировать пакеты ICMP/UDP/TCP между различными Ethernet-сегментами сети. Есть несколько сетевых сканеров: ARP, DHCP, реализован «умный» поиск шлюзов. Еще один полезный инструмент — модуль для организации MiTM-атак. Поддерживаются методы Spoofing (с поддержкой протоколов DNS/NBNS/LLMNR), ICMP Redirect, DNS over ICMP Redirect, SSL MiTM, SSLStrip и некоторые другие.
С помощью программы можно просканировать заданный диапазон портов в поисках работающих на них приложений, провести анализ связанных с этими портами протоколов. Можно переключить сниффер в экстремальный режим, при котором он будет перехватывать все TCP-пакеты без проверки портов, что позволит обнаружить в сети приложения, работающие на нестандартных и переопределенных администратором портах. Правда, в этом режиме приложение нещадно тормозит и периодически зависает намертво.
В актуальной версии Intercepter-NG появилась встроенная тулза для эксплуатации уязвимости Heartbleed — ошибки в криптографическом программном обеспечении OpenSSL, с помощью которой можно несанкционированно читать память на сервере или на клиенте, в том числе для извлечения закрытого ключа сервера. Еще в состав пакета был добавлен инструмент для брутфорса и многопоточный сканер уязвимостей X-Scan. Иными словами, из простого приложения сетевого анализа Intercepter-NG понемногу превращается в эдакий комбайн, позволяющий не отходя от кассы просканировать сеть на наличие открытых портов и незакрытых уязвимостей, перехватить логины с паролями и чего‑нибудь сбрутить.
К минусам Intercepter-NG следует отнести то, что программа распознается как вредоносная антивирусом Касперского и Windows Defender, из‑за чего прибивается еще на этапе загрузки с сайта производителя. Так что для работы со сниффером придется отключать антивирусы, но это довольно скромная плата за возможность пользоваться столь многофункциональным инструментом.
Проект изначально разрабатывался под Windows 2000/XP (что, в общем‑то, заметно по его интерфейсу), но жив и по сей день — последняя версия сниффера датирована 2018 годом. Утилита позволяет перехватывать трафик, проходящий через локальную машину, и просматривать содержимое пакетов — больше она, собственно, ничего не умеет.
Собственно, в качестве сниффера Burp совсем не универсален — он умеет только отслеживать трафик между браузером и удаленным веб‑приложением с использованием перехватывающего прокси, для работы которого с протоколом HTTPS требуется установить в системе дополнительный сертификат. Но для определенных целей этого может оказаться достаточно.
Burp перехватывает все пакеты, которые отправляет и получает браузер и, соответственно, позволяет анализировать трафик различных веб‑приложений, включая онлайн‑мессенджеры или соцсети. Если в исследуемой пентестером инфраструктуре имеются работающие через HTTP или HTTPS сервисы, лучшего инструмента для их тестирования, пожалуй, не найти. Но использовать Burp только в качестве сниффера HTTP/HTTPS-трафика — это все равно, что возить с дачного участка картошку на «Ламборджини»: он предназначен совсем для других задач.
ТЕОРИЯ
Чтобы перехватывать трафик, анализаторы могут использовать перенаправление пакетов или задействовать так называемый Promiscuous mode — «неразборчивый» режим работы сетевого адаптера, при котором отключается фильтрация и адаптер принимает все пакеты независимо от того, кому они адресованы. В обычной ситуации Ethernet-интерфейс фильтрует пакеты на канальном уровне. При такой фильтрации сетевая карта принимает только широковещательные запросы и пакеты, MAC-адрес в заголовке которых совпадает с ее собственным. В режиме Promiscuous все остальные пакеты не отбрасываются, что и позволяет снифферу перехватывать данные.Теоретически можно собирать вообще все пакеты в сегменте локальной сети, где установлен сниффер, однако в этом случае данных для последующего анализа будет слишком много, да и файлы журналов быстро распухнут до совершенно неприличных размеров. А можно настроить приложение таким образом, чтобы оно отлавливало трафик только определенных протоколов (HTTP, POP3, IMAP, FTP, Telnet) или анализировало лишь первые 100 байт каждого пакета, где обычно и содержится самое интересное: адрес целевого хоста, логины и пароли. Современные снифферы могут слушать в том числе и зашифрованный трафик.
Нередко анализаторы трафика применяются в «мирных» целях — для диагностики сети, выявления и устранения неполадок, обнаружения вредоносного ПО или чтобы выяснить, чем заняты пользователи и какие сайты они посещают. Но именно при исследовании безопасности сетевого периметра или тестировании на проникновение сниффер — незаменимый инструмент для разведки и сбора данных. Существуют снифферы для различных операционных систем, кроме того, подобное ПО можно установить на роутере и исследовать весь проходящий через него трафик. Сегодня мы поговорим о наиболее распространенных популярных анализаторах трафика для платформы Microsoft Windows.
WIRESHARK
- Производитель: Wireshark Foundation
- Сайт: https://www.wireshark.org
- Лицензия: бесплатно
Этот анализатор имеет русскоязычный интерфейс, умеет работать с большим количеством сетевых протоколов (перечислять здесь их все лишено смысла: полный список можно найти на сайте производителя). В Wireshark можно разобрать каждый перехваченный пакет на части, просмотреть его заголовки и содержимое. У приложения очень удобный механизм навигации по пакетам, включая различные алгоритмы их поиска и фильтрации, есть мощный механизм сбора статистики. Сохраненные данные можно экспортировать в разные форматы, кроме того, существует возможность автоматизировать работу Wireshark с помощью скриптов на Lua и подключать дополнительные (даже разработанные самостоятельно) модули для разбора и анализа трафика.
Помимо Ethernet, сниффер умеет перехватывать трафик беспроводных сетей (стандарты 802.11 и протокол Bluetooth). Тулза позволяет анализировать трафик IP-телефонии и восстанавливать TCP-потоки, поддерживается анализ туннелированного трафика. Wireshark отлично справляется с задачей декодирования протоколов, но, чтобы понять результаты этого декодирования, надо, безусловно, хорошо разбираться в их структуре.
К недостаткам Wireshark можно отнести то, что восстановленные потоки не рассматриваются программой как единый буфер памяти, из‑за чего затруднена их последующая обработка. При анализе туннелированного трафика используется сразу несколько модулей разбора, и каждый последующий в окне программы замещает результат работы предыдущего — в итоге анализ трафика в многоуровневых туннелях становится невозможен.
В целом Wireshark — не просто популярный, но очень добротный продукт, позволяющий отследить содержимое гуляющих по сети пакетов, скорость их передачи, найти «проблемные места» в сетевой инфраструктуре. Но в отличие от коммерческих приложений здесь нет удобных инструментов визуализации. Кроме того, с помощью Wireshark не так уж и просто, например, выловить из трафика логины и пароли, а это одна из типичных задач при тестировании на проникновение.
COMMVIEW
- Производитель: TamoSoft
- Сайт: https://www.tamos.ru/products/commview/
- Лицензия: платный, покупка лицензии или подписка
Программа имеет русскоязычный интерфейс, что может стать определяющим фактором при выборе сниффера для пользователей, не владеющих английским. Главное преимущество CommView — возможность гибко настроить правила фильтрации пакетов: можно выбрать отдельные протоколы, которые будет отслеживать приложение, сортировать пакеты по ряду признаков, например по размеру или заголовку. Ассортимент поддерживаемых протоколов также весьма велик: сниффер умеет работать с самыми распространенными прикладными протоколами, а также выполнять реконструкцию TCP-сессии и UDP-потока. При этом CommView позволяет анализировать трафик вплоть до пакетов протоколов самого низкого уровня — TCP, UDP, ICMP, а также просматривать «сырые» данные. Программа показывает заголовки перехваченных пакетов, собирает подробную статистику IP-трафика. Сохраненные данные можно экспортировать в 12 различных форматов, начиная с .txt и .csv и заканчивая файлами других анализаторов вроде Wireshark.
Помимо трафика на сетевой карте, CommView может мониторить соединения по VPN, а также трафика, проходящего через модемы — аналоговые, мобильные, ADSL, ISDN и другие, для чего в систему устанавливается специальный драйвер. Есть возможность перехвата VoIP-трафика и сессий SIP-телефонии. В состав приложения входит генератор пакетов, с помощью которого можно отправить на заданный Ethernet-интерфейс пакет указанной длины, с произвольными заголовками и содержимым. Есть также довольно удобный просмотрщик лог‑файлов, позволяющий открывать файлы журналов в отдельном окне сниффера и выполнять поиск по их содержимому.
Тулза, вне всяких сомнений, крайне удобная и полезная, если бы не «кусачие» цены на лицензию. Для профессионального пентестера покупка такого инструмента наверняка будет оправданна, но ради того, чтобы разок «глянуть сеть», можно поискать альтернативные — более дешевые или бесплатные решения.
INTERCEPTER-NG
- Производитель: неизвестно
- Сайт: http://sniff.su
- Лицензия: бесплатно
В своей работе Intercepter-NG использует утилиту NPcap, портабельную версию которой, по заверениям разработчиков, таскает с собой. Однако практика показала, что ее либо забыли туда положить, либо в Windows 10 она не работает — для запуска сниффера мне пришлось качать NPcap с сайта https://nmap.org/npcap/ и устанавливать его вручную.
Intercepter-NG имеет довольно симпатичный пользовательский интерфейс и позволяет просматривать трафик в нескольких режимах. Есть обычный просмотр пакетов и их содержимого, в котором можно фильтровать пакеты с помощью правил pcap или использовать функцию Follow TCP stream для детального анализа какой‑либо сессии. Есть режим Messengers Mode, в котором тулза пытается перехватить трафик мессенджеров — прежде всего ископаемых ICQ, MSN, Yahoo и AIM, но есть там поддержка протокола Jabber. С Telegram фокус не удался: сниффер попросту его не увидел.
Имеется Passwords Mode, в котором на экране демонстрируются выловленные из трафика логины и пароли, передаваемые по протоколам FTP, HTTP, SMTP, POP3, IMAP, LDAP, Telnet и другим. Режим Resurrection mode позволяет восстанавливать файлы, передаваемые через HTTP, FTP, SMB, IMAP, POP3 и SMTP, — при этом удачно восстанавливаются только файлы из завершенных TCP-сессий.
В составе Intercepter-NG имеется дополнительный и очень полезный инструментарий. Это простой DHCP-сервер, служба NAT, позволяющая транслировать пакеты ICMP/UDP/TCP между различными Ethernet-сегментами сети. Есть несколько сетевых сканеров: ARP, DHCP, реализован «умный» поиск шлюзов. Еще один полезный инструмент — модуль для организации MiTM-атак. Поддерживаются методы Spoofing (с поддержкой протоколов DNS/NBNS/LLMNR), ICMP Redirect, DNS over ICMP Redirect, SSL MiTM, SSLStrip и некоторые другие.
С помощью программы можно просканировать заданный диапазон портов в поисках работающих на них приложений, провести анализ связанных с этими портами протоколов. Можно переключить сниффер в экстремальный режим, при котором он будет перехватывать все TCP-пакеты без проверки портов, что позволит обнаружить в сети приложения, работающие на нестандартных и переопределенных администратором портах. Правда, в этом режиме приложение нещадно тормозит и периодически зависает намертво.
В актуальной версии Intercepter-NG появилась встроенная тулза для эксплуатации уязвимости Heartbleed — ошибки в криптографическом программном обеспечении OpenSSL, с помощью которой можно несанкционированно читать память на сервере или на клиенте, в том числе для извлечения закрытого ключа сервера. Еще в состав пакета был добавлен инструмент для брутфорса и многопоточный сканер уязвимостей X-Scan. Иными словами, из простого приложения сетевого анализа Intercepter-NG понемногу превращается в эдакий комбайн, позволяющий не отходя от кассы просканировать сеть на наличие открытых портов и незакрытых уязвимостей, перехватить логины с паролями и чего‑нибудь сбрутить.
К минусам Intercepter-NG следует отнести то, что программа распознается как вредоносная антивирусом Касперского и Windows Defender, из‑за чего прибивается еще на этапе загрузки с сайта производителя. Так что для работы со сниффером придется отключать антивирусы, но это довольно скромная плата за возможность пользоваться столь многофункциональным инструментом.
SMARTSNIFF
- Производитель: Nirsoft
- Сайт: http://www.nirsoft.net/utils/smsniff.html
- Лицензия: бесплатно
Проект изначально разрабатывался под Windows 2000/XP (что, в общем‑то, заметно по его интерфейсу), но жив и по сей день — последняя версия сниффера датирована 2018 годом. Утилита позволяет перехватывать трафик, проходящий через локальную машину, и просматривать содержимое пакетов — больше она, собственно, ничего не умеет.
TCPDUMP
- Производитель: Tcpdump Group
- Сайт: tcpdump.org
- Лицензия: бесплатно (модифицированная лицензия BSD)
BURP SUITE
- Производитель: Portswigger
- Сайт: https://portswigger.net/burp
- Лицензия: бесплатно (Community Edition)
Собственно, в качестве сниффера Burp совсем не универсален — он умеет только отслеживать трафик между браузером и удаленным веб‑приложением с использованием перехватывающего прокси, для работы которого с протоколом HTTPS требуется установить в системе дополнительный сертификат. Но для определенных целей этого может оказаться достаточно.
Burp перехватывает все пакеты, которые отправляет и получает браузер и, соответственно, позволяет анализировать трафик различных веб‑приложений, включая онлайн‑мессенджеры или соцсети. Если в исследуемой пентестером инфраструктуре имеются работающие через HTTP или HTTPS сервисы, лучшего инструмента для их тестирования, пожалуй, не найти. Но использовать Burp только в качестве сниффера HTTP/HTTPS-трафика — это все равно, что возить с дачного участка картошку на «Ламборджини»: он предназначен совсем для других задач.