Сниффер трафика и для чего он нужен тестировщику
Всем привет! Меня зовут Эрик, и я QA-инженер компании Creative. Сегодня хочу поднять тему анализаторов трафика или снифферов. Это понятие знакомо многим, как что-то вредноносное. В сети много публикаций про то, как лучше защищаться от снифферов и сохранять свои данные от хакерских атак. В этой статье мы взглянем на анализаторы трафика немного под другим углом и разберём, как можно применять их в работе тестировщика.
Для вашего удобства я разделил статью на три раздела:
- познакомимся с принципом работы сниффера,
- рассмотрим основные фичи сниффера,
- разберём примеры использование сниффера в QA.
В качестве инструмента будем использовать Charles Proxy – кроссплатформенный http-прокси, который «сидит» между браузером (или мобильным приложением) и интернетом и перехватывает отправляемый и получаемый трафик (иллюстрация 1):
Иллюстрация 1
Принцип работы, или каким образом сниффер трафика справляется со своей задачей видеть всё
Благодаря тому что снифферы являются инструментами, которые позволяют перехватывать, анализировать и модернизировать все проходящие через них запросы, их удобно использовать в ситуациях, когда из потока нужно извлечь сведения или создать нужный ответ сервера.
Это работает так: браузер отправляет запрос, сниффер его «проксирует» и отправляет от своего лица пользователю. Далее приходит ответ от сервера – он тоже поступает сначала в сниффер, а затем – к нам.
Когда нам надо просмотреть запросы, например из localhost – проблем не возникает, так как там используется протокол HTTP в чистом виде. При использовании протокола HTTPS и SSL-сертификата данные может читать только отправитель и получатель. Поэтому, для того чтобы просмотреть данные по определённому URL, нужно включить в Charles опцию SSL-proxying – и тогда данные станут видны и читаемы (об этом подробнее расскажу дальше).
А теперь – о фичах сниффера Charles Proxy
Структура интерфейса
Интерфейс Charles Proxy прост. Слева – список перехваченных запросов, справа – детали. В списке запросов есть две основные вкладки – Structure и Sequence.
На вкладке Structure запросы рассортированы по хостам-папкам. Наведя на любой из них, можно получить всю информацию о количестве запросов к этому корневому хосту, доле удачных, таймингах, размерах и т.п. Фактически, здесь представлена вся та же информация, которую можно получить из панели разработчика в браузере. Нужно просто выбрать конкретный URL – и мы увидим код ответа, версии протоколов, контент и т.п. Тело запроса, заголовки, cookie (если есть) можно посмотреть в разных форматах – даже в HEX.
Так выглядит интерфейс – на подобных продуктах он будет схожим (иллюстрация 2):
Иллюстрация 2
На вкладке Sequence запросы выведены по времени в формате настраиваемой таблицы. Видно, когда начался запрос, сколько он длился, его размер, статус и т.п. Наведя на конкретную строку, мы получим ту же информацию о теле, заголовках, что на вкладке Structure (иллюстрация 3):
Иллюстрация 3
В Charles Proxy очень много вариантов фильтрации запросов. Самое примитивное – это скопировать URL запроса в поле Filter, и мы будем видеть запросы только к этому хосту.
Примерно того же результата можно добиться, если в контекстном меню хоста выбрать Focus. Остальные запросы будут собраны в папке Other Hosts. Также Charles принимает регулярные выражения. Можно выбрать все запросы, в которых в начале имени хоста находится четыре буквы, а потом идёт точка: ^\w\. Также можно блокировать определенные хосты. Например, я могу добавить наш тестовый стенд в blocklist, и все запросы с этого хоста будут со статусом failed (Connection dropped), либо вернутся с ошибкой 403.
Просмотр SSL-трафика
Вернёмся к фиче Charles Proxy, касающейся просмотра зашифрованного трафика. Это происходит очень простым путём: нужно установить SSL-сертификат в Charles proxy и включить SSL-proxying для нужного хоста в самом сниффере. Это можно сделать через контекстное меню конкретного хоста. Далее все запросы через него станут прозрачными, и мы сможем просмотреть тело запроса и ответа (иллюстрация 4):
Снифферы и не только. Выбираем инструмент для перехвата и анализа трафика
Анализ трафика — важнейший этап тестирования на проникновение (или даже взлома). В передаваемых по сети пакетах можно обнаружить много интересного, например пароли для доступа к разным ресурсам и другие ценные данные. Для перехвата и анализа трафика используются снифферы, которых человечество придумало великое множество. Сегодня мы поговорим о самых популярных снифферах под винду.
Теория
Чтобы перехватывать трафик, анализаторы могут использовать перенаправление пакетов или задействовать так называемый Promiscuous mode — «неразборчивый» режим работы сетевого адаптера, при котором отключается фильтрация и адаптер принимает все пакеты независимо от того, кому они адресованы. В обычной ситуации Ethernet-интерфейс фильтрует пакеты на канальном уровне. При такой фильтрации сетевая карта принимает только широковещательные запросы и пакеты, MAC-адрес в заголовке которых совпадает с ее собственным. В режиме Promiscuous все остальные пакеты не отбрасываются, что и позволяет снифферу перехватывать данные.
Теоретически можно собирать вообще все пакеты в сегменте локальной сети, где установлен сниффер, однако в этом случае данных для последующего анализа будет слишком много, да и файлы журналов быстро распухнут до совершенно неприличных размеров. А можно настроить приложение таким образом, чтобы оно отлавливало трафик только определенных протоколов (HTTP, POP3, IMAP, FTP, Telnet) или анализировало лишь первые 100 байт каждого пакета, где обычно и содержится самое интересное: адрес целевого хоста, логины и пароли. Современные снифферы могут слушать в том числе и зашифрованный трафик.
Нередко анализаторы трафика применяются в «мирных» целях — для диагностики сети, выявления и устранения неполадок, обнаружения вредоносного ПО или чтобы выяснить, чем заняты пользователи и какие сайты они посещают. Но именно при исследовании безопасности сетевого периметра или тестировании на проникновение сниффер — незаменимый инструмент для разведки и сбора данных. Существуют снифферы для различных операционных систем, кроме того, подобное ПО можно установить на роутере и исследовать весь проходящий через него трафик. Сегодня мы поговорим о наиболее распространенных популярных анализаторах трафика для платформы Microsoft Windows.
Wireshark
- Производитель: Wireshark Foundation
- Сайт:https://www.wireshark.org
- Лицензия: бесплатно
Об этой программе знает, наверное, каждый, кто хотя бы раз сталкивался с задачей анализа трафика. Популярность Wireshark вполне оправданна: во‑первых, данный продукт бесплатен, во‑вторых, его возможностей вполне хватает для решения самых насущных вопросов, касающихся перехвата и анализа передаваемых по сети данных. Продукт пользуется заслуженной популярностью у вирусных аналитиков, реверс‑инженеров, системных администраторов и, безусловно, пентестеров.
Этот анализатор имеет русскоязычный интерфейс, умеет работать с большим количеством сетевых протоколов (перечислять здесь их все лишено смысла: полный список можно найти на сайте производителя). В Wireshark можно разобрать каждый перехваченный пакет на части, просмотреть его заголовки и содержимое. У приложения очень удобный механизм навигации по пакетам, включая различные алгоритмы их поиска и фильтрации, есть мощный механизм сбора статистики. Сохраненные данные можно экспортировать в разные форматы, кроме того, существует возможность автоматизировать работу Wireshark с помощью скриптов на Lua и подключать дополнительные (даже разработанные самостоятельно) модули для разбора и анализа трафика.
Помимо Ethernet, сниффер умеет перехватывать трафик беспроводных сетей (стандарты 802.11 и протокол Bluetooth). Тулза позволяет анализировать трафик IP-телефонии и восстанавливать TCP-потоки, поддерживается анализ туннелированного трафика. Wireshark отлично справляется с задачей декодирования протоколов, но, чтобы понять результаты этого декодирования, надо, безусловно, хорошо разбираться в их структуре.
К недостаткам Wireshark можно отнести то, что восстановленные потоки не рассматриваются программой как единый буфер памяти, из‑за чего затруднена их последующая обработка. При анализе туннелированного трафика используется сразу несколько модулей разбора, и каждый последующий в окне программы замещает результат работы предыдущего — в итоге анализ трафика в многоуровневых туннелях становится невозможен.
В целом Wireshark — не просто популярный, но очень добротный продукт, позволяющий отследить содержимое гуляющих по сети пакетов, скорость их передачи, найти «проблемные места» в сетевой инфраструктуре. Но в отличие от коммерческих приложений здесь нет удобных инструментов визуализации. Кроме того, с помощью Wireshark не так уж и просто, например, выловить из трафика логины и пароли, а это одна из типичных задач при тестировании на проникновение.
CommView
- Производитель: TamoSoft
- Сайт:https://www.tamos.ru/products/commview/
- Лицензия: платный, покупка лицензии или подписка
Среди существующих ныне снифферов CommView — один из самых старых и заслуженных ветеранов, об этом продукте «Хакер» писал еще в 2001 году. Проект жив и по сей день, активно развивается и обновляется: последняя на текущий момент версия датирована 2020 годом. Несмотря на то что продукт платный, производитель предлагает скачать триал, который позволяет посмотреть работу приложения на практике — пробная версия сниффера перехватывает трафик в течение пяти минут, после чего просит денег.
Программа имеет русскоязычный интерфейс, что может стать определяющим фактором при выборе сниффера для пользователей, не владеющих английским. Главное преимущество CommView — возможность гибко настроить правила фильтрации пакетов: можно выбрать отдельные протоколы, которые будет отслеживать приложение, сортировать пакеты по ряду признаков, например по размеру или заголовку. Ассортимент поддерживаемых протоколов также весьма велик: сниффер умеет работать с самыми распространенными прикладными протоколами, а также выполнять реконструкцию TCP-сессии и UDP-потока. При этом CommView позволяет анализировать трафик вплоть до пакетов протоколов самого низкого уровня — TCP, UDP, ICMP, а также просматривать «сырые» данные. Программа показывает заголовки перехваченных пакетов, собирает подробную статистику IP-трафика. Сохраненные данные можно экспортировать в 12 различных форматов, начиная с .txt и .csv и заканчивая файлами других анализаторов вроде Wireshark.
Помимо трафика на сетевой карте, CommView может мониторить соединения по VPN, а также трафика, проходящего через модемы — аналоговые, мобильные, ADSL, ISDN и другие, для чего в систему устанавливается специальный драйвер. Есть возможность перехвата VoIP-трафика и сессий SIP-телефонии. В состав приложения входит генератор пакетов, с помощью которого можно отправить на заданный Ethernet-интерфейс пакет указанной длины, с произвольными заголовками и содержимым. Есть также довольно удобный просмотрщик лог‑файлов, позволяющий открывать файлы журналов в отдельном окне сниффера и выполнять поиск по их содержимому.
Тулза, вне всяких сомнений, крайне удобная и полезная, если бы не «кусачие» цены на лицензию. Для профессионального пентестера покупка такого инструмента наверняка будет оправданна, но ради того, чтобы разок «глянуть сеть», можно поискать альтернативные — более дешевые или бесплатные решения.
Intercepter-NG
Это тоже очень старый и убеленный сединами инструмент — впервые «Хакер» написал о нем еще в 2012 году. C тех пор разрабатываемый нашими соотечественниками проект не только не исчез с просторов интернета, как многие его конкуренты, но даже активно развивался и совершенствовался — последняя актуальная редакция сниффера датирована 2020 годом. Существует версия программы для Android в виде .APK-файла и даже консольная версия этого инструмента для Unix.
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Что такое сниффер и как не лишиться данных после покупок в интернете
Как работает вредоносное ПО, которое перехватывает сетевой трафик, и что делать, чтобы не стать его жертвой?
Cниффер (от англ. to sniff — нюхать) — это программное обеспечение, анализирующее входящий и исходящий трафик с компьютера, подключенного к интернету. Оно следит за тем, какие сайты вы посещаете, какие файлы загружаете и выгружаете. Стать жертвой хакеров, использующих сниффер, может любой пользователь интернет-магазина, оплативший товар или услугу онлайн. 27 января 2020 года в ходе операции Night Fury полиция Индонезии задержала участников преступной группы, заразивших JavaScript-снифферами 200 веб-сайтов, среди которых были онлайн-магазины из Бразилии, Австралии, Великобритании, Германии, Индонезии, США и других стран мира. Преступники похищали у покупателей данные банковских карт и использовали их для покупки гаджетов и предметов роскоши. Ликвидация этой преступной группировки стала лишь первой успешной операцией против операторов JS-снифферов в Азиатско-Тихоокеанском регионе (АТР). Параллельно облавы проходили еще в пяти других странах региона. Пойманные преступники использовали JS-сниффер GetBilling. Международная компания в сфере кибербезопасности Group-IB отслеживает его с 2018 года. Популярность снифферов среди киберпреступников растет. Это один из самых эффективных способов взлома устройства жертвы. «За прошедший год именно использование JS-снифферов для кражи банковских карт стало одним из основных способов получения больших объемов платежной информации. На их рост также повлиял тренд на перепродажу доступов к различным сайтам и организациям в даркнете», — рассказал РБК Трендам ведущий аналитик отдела аналитики Group-IB Виктор Окороков. Всего на данный момент специалистами Group-IB отслеживается 96 семейств JS-снифферов, что в 2,5 раза больше, чем в 2020 году. Тогда было было известно только о 38 семействах.
Для чего нужны снифферы?
- Сетевые инженеры: чтобы оптимизировать сеть, они должны следить за трафиком.
- Системные администраторы: им необходимо наблюдать за трафиком, чтобы собирать данные о показателях, вроде пропускной способности сети.
- Специалисты по кибербезопасности: они могут заметить подозрительную активность в Сети, отслеживая ее. Аномальные всплески или различные типы трафика могут указывать на наличие вредоносного программного обеспечения или проникновения хакеров в систему.
- Корпорации. Работодатели могут использовать программное обеспечение для отслеживания своих сотрудников и выяснять, сколько времени в течение рабочего дня они тратят на работу и сколько — на развлечения.
Однако сниффер может быть использован и злоумышленниками для кражи данных. Снифферы анализируют все, что через них проходит, включая незашифрованные пароли и учетные данные. Поэтому хакеры, имеющие к ним доступ, могут завладеть личной информацией пользователей.
В сентябре 2018 года выяснилось, что пользователи сайта и мобильного приложения British Airways подверглись кибератаке. Под угрозой оказались все клиенты международной авиакомпании, осуществившие бронирование авиабилетов на сайте или в приложении в период с 25 августа по 5 сентября 2018 года. В руки злоумышленников попали личные и финансовые данные 380 тыс. человек. Похожая атака была организована на клиентов американского онлайн-магазина Ticketmaster.
В целях обслуживания сети сниффер обеспечивает:
- захват пакетов данных;
- запись и анализ трафика;
- расшифровку пакета;
- устранение неполадок сети;
- тестирование межсетевого экрана;
- обеспечение бесперебойного потока трафика.
Незаконно сниффер используется для:
- сбора личной информации, такой как имена пользователей, пароли, номера кредитных карт и т.д;
- запись сообщений, вроде электронных писем;
- подделки личных данных;
- кражи денег.
Самые популярные модели снифферов:
- WinSniffer — обладает множеством настраиваемых режимов, способен перехватывать пароли различных сервисов;
- CommView — обрабатывает данные, передаваемые по локальной сети и в интернет, собирает сведения, связанные с модемом и сетевой картой, и расшифровывает их, что дает возможность видеть полный список соединений в сети и статистические сведения по IP;
- ZxSniffer — компактный сниффер, известный малым объемом (0,3 МБ);
- SpyNet — популярный анализатор, в основную функциональность которого входят перехват трафика и декодирование пакетов данных;
- IRIS — имеет широкие возможности фильтрации, может перехватывать пакеты с заданными ограничениями.
Как работают снифферы?
Хакеры используют снифферы для кражи ценных данных с помощью отслеживания сетевой активности и сбора персональной информации о пользователях. Чаще всего злоумышленники заинтересованы в паролях и учетных данных пользователей. Имея эти данные, можно получить доступ к онлайн-банкингу и учетным записям онлайн-магазинов.
Чаще всего хакеры устанавливают снифферы в местах распространения незащищенного подключения Wi-Fi, например, в кафе, отелях и аэропортах. Снифферы могут маскироваться под подключенное к Сети устройство.
Перехватить трафик через сниффер можно следующими способами:
- путем прослушивания в обычном режиме сетевого интерфейса;
- подключением в разрыв канала и перенаправлением трафика;
- с помощью анализа побочных электромагнитных излучений;
- при помощи атаки на уровень канала и сети, приводящей к изменению сетевых маршрутов.
Как предотвратить утечку данных с помощью сниффера?
Если сниффер установлен на устройстве, то он уже имеет доступ к его данным. Чтобы предотвратить их утечку, Дмитрий Галов из «Лаборатории Касперского» рекомендует:
- Установить защитные решения, которые будут различными способами находить подозрительную активность.
- Использовать VPN от проверенного провайдера. С ним трафик будет передаваться в зашифрованном виде.
- Пользоваться только сайтами с протоколами https. Только на них можно вводить свои данные, в этом случае они шифруются.
Что делать, если сниффер уже установлен на компьютер
Чтобы обнаружить сниффер на компьютере, можно установить свой собственный сниффер и изучить весь трафик на уровне DNS в вашей сети, чтобы обнаружить любую подозрительную активность.
Удалить сниффер лучше всего с помощью антивируса. Если у вас нет платной подписки, можно установить пробную версию. Она проанализируют файлы на вашем компьютере, удалив из них подозрительные.
При подготовке материала использовались источники:
https://vc.ru/life/467157-sniffer-trafika-i-dlya-chego-on-nuzhen-testirovshchiku
https://xakep.ru/2021/05/17/sniffers-windows/
https://trends.rbc.ru/trends/industry/60f6c2af9a7947fc32ae0a91