что такое процесс сниффинга данных
Как администраторы и хакеры могут использовать приложения для отслеживания трафика
Наблюдение за сетью – это использование программного инструмента, называемого анализатором сети или сетевой сниффер, который отслеживает данные, передаваемые по сетевым соединениям в режиме реального времени. Этот программный инструмент является либо автономной программой, либо аппаратным устройством с соответствующим программным обеспечением.
Что такое сетевой сниффер
Сетевые анализаторы делают моментальные копии данных, передаваемых по сети, без перенаправления или изменения. Некоторые анализаторы работают только с пакетами TCP/IP, но более сложные инструменты работают со многими другими сетевыми протоколами и на более низких уровнях, включая Ethernet.
Несколько лет назад анализаторы были инструментами, которые использовались исключительно профессиональными сетевыми инженерами. В настоящее время такое программное обеспечение доступно бесплатно в сети, они также популярны среди интернет-хакеров и людей, которые интересуются сетевыми технологиями.
Сетевые анализаторы иногда называют сетевыми датчиками, беспроводными анализаторами, анализаторами Ethernet, анализаторами пакетов, анализаторами пакетов или просто инструментами отслеживания.
Как используются анализаторы пакетов
Существует широкий спектр приложений для анализа пакетов данных. Большинство перехватчиков пакетов могут использоваться ненадлежащим образом одним человеком и по законным причинам – другим.
Например, программа, которая захватывает пароли, может использоваться хакером, но тот же инструмент может использоваться сетевым администратором для сбора сетевой статистики, например, доступной полосы пропускания.
Наблюдение за сетью также используется для тестирования брандмауэра или веб-фильтров, а также для устранения неполадок в связке клиент/сервер.
Как работает сетевой сниффинг
Анализатор пакетов, подключенный к любой сети, перехватывает все данные, передаваемые по этой сети.
В локальной сети (LAN) компьютеры обычно обмениваются данными напрямую с другими компьютерами или устройствами в сети. Всё, что связано с этой сетью, подвергается воздействию всего этого трафика. Компьютеры запрограммированы на игнорирование всего сетевого трафика, не предназначенного для этого.
Программное обеспечение для прослушивания сети открывает доступ ко всему трафику, открывая сетевую карту компьютера (NIC) для прослушивания этого трафика. Программное обеспечение считывает эти данные и выполняет их анализ или извлечение данных.
После получения сетевых данных программное обеспечение выполняет следующие действия:
Как предотвратить атаки сетевых перехватчиков
Если вы обеспокоены тем, что программное обеспечение для слежения за сетью отслеживает сетевой трафик, исходящий от вашего компьютера, есть способы защитить себя.
Существуют этические причины, по которым кому-то может понадобиться использовать сетевой сниффер, например, когда сетевой администратор отслеживает поток сетевого трафика.
Когда сетевые администраторы обеспокоены злонамеренным использованием этих инструментов в своей сети, они используют анти-снифф-сканирование для защиты от атак сниффера. Это означает, что корпоративные сети обычно безопасны.
Тем не менее, легко получить и использовать сетевой сниффер со злыми намерениями, что делает его незаконное использование в вашем домашнем интернете поводом для беспокойства. Для кого-то может быть легко подключить такое программное обеспечение даже к корпоративной компьютерной сети.
Если вы хотите защитить себя от того, кто шпионит за вашим интернет-трафиком, используйте VPN, который шифрует ваш интернет-трафик.
Инструменты сетевого анализа трафика
Wireshark (ранее известный как Ethereal) широко известен как самый популярный в мире анализатор сети. Это бесплатное приложение с открытым исходным кодом, которое отображает данные трафика с цветовой кодировкой, чтобы указать, какой протокол использовался для его передачи.
В сетях Ethernet его пользовательский интерфейс отображает отдельные кадры в нумерованном списке и выделяется отдельными цветами независимо от того, отправляются ли они по TCP, UDP или другим протоколам.
Wireshark также группирует потоки сообщений, отправляемые туда и обратно между источником и пунктом назначения (которые со временем перемешиваются с трафиком из других соединений).
Wireshark поддерживает перехват трафика через кнопочный интерфейс запуска/остановки. Инструмент также содержит параметры фильтрации, которые ограничивают данные, отображаемые и включаемые в записи. Это критическая функция, поскольку большая часть сетевого трафика содержит обычные управляющие сообщения, которые не представляют интереса.
За эти годы было разработано много различных приложений для зондирования. Вот несколько примеров:
Некоторые из этих инструментов сетевого анализа являются бесплатными, в то время как другие чего-то стоят или имеют бесплатную пробную версию. Кроме того, некоторые из этих программ больше не поддерживаются и не обновляются, но всё ещё доступны для скачивания.
Проблемы с сетевыми снифферами
Инструменты сетевого сниффинга предлагают отличный способ узнать, как работают сетевые протоколы. Тем не менее, они также обеспечивают легкий доступ к некоторой частной информации, такой как сетевые пароли. Свяжитесь с владельцами, чтобы получить разрешение, прежде чем использовать анализатор в их сети.
Сетевые зонды только перехватывают данные из сетей, к которым подключен их хост-компьютер. На некоторых соединениях снифферы захватывают только трафик, адресованный этому конкретному сетевому интерфейсу. В любом случае, самое важное, что нужно помнить, это то, что любому, кто хочет использовать сетевой анализатор для слежения за трафиком, будет трудно сделать это, если этот трафик зашифрован.
Снифферы и не только. Выбираем инструмент для перехвата и анализа трафика
Содержание статьи
Теория
Чтобы перехватывать трафик, анализаторы могут использовать перенаправление пакетов или задействовать так называемый Promiscuous mode — «неразборчивый» режим работы сетевого адаптера, при котором отключается фильтрация и адаптер принимает все пакеты независимо от того, кому они адресованы. В обычной ситуации Ethernet-интерфейс фильтрует пакеты на канальном уровне. При такой фильтрации сетевая карта принимает только широковещательные запросы и пакеты, MAC-адрес в заголовке которых совпадает с ее собственным. В режиме Promiscuous все остальные пакеты не отбрасываются, что и позволяет снифферу перехватывать данные.
Теоретически можно собирать вообще все пакеты в сегменте локальной сети, где установлен сниффер, однако в этом случае данных для последующего анализа будет слишком много, да и файлы журналов быстро распухнут до совершенно неприличных размеров. А можно настроить приложение таким образом, чтобы оно отлавливало трафик только определенных протоколов (HTTP, POP3, IMAP, FTP, Telnet) или анализировало лишь первые 100 байт каждого пакета, где обычно и содержится самое интересное: адрес целевого хоста, логины и пароли. Современные снифферы могут слушать в том числе и зашифрованный трафик.
Нередко анализаторы трафика применяются в «мирных» целях — для диагностики сети, выявления и устранения неполадок, обнаружения вредоносного ПО или чтобы выяснить, чем заняты пользователи и какие сайты они посещают. Но именно при исследовании безопасности сетевого периметра или тестировании на проникновение сниффер — незаменимый инструмент для разведки и сбора данных. Существуют снифферы для различных операционных систем, кроме того, подобное ПО можно установить на роутере и исследовать весь проходящий через него трафик. Сегодня мы поговорим о наиболее распространенных популярных анализаторах трафика для платформы Microsoft Windows.
Wireshark
Об этой программе знает, наверное, каждый, кто хотя бы раз сталкивался с задачей анализа трафика. Популярность Wireshark вполне оправданна: во‑первых, данный продукт бесплатен, во‑вторых, его возможностей вполне хватает для решения самых насущных вопросов, касающихся перехвата и анализа передаваемых по сети данных. Продукт пользуется заслуженной популярностью у вирусных аналитиков, реверс‑инженеров, системных администраторов и, безусловно, пентестеров.
Что такое Wireshark, знает, наверное, каждый
Этот анализатор имеет русскоязычный интерфейс, умеет работать с большим количеством сетевых протоколов (перечислять здесь их все лишено смысла: полный список можно найти на сайте производителя). В Wireshark можно разобрать каждый перехваченный пакет на части, просмотреть его заголовки и содержимое. У приложения очень удобный механизм навигации по пакетам, включая различные алгоритмы их поиска и фильтрации, есть мощный механизм сбора статистики. Сохраненные данные можно экспортировать в разные форматы, кроме того, существует возможность автоматизировать работу Wireshark с помощью скриптов на Lua и подключать дополнительные (даже разработанные самостоятельно) модули для разбора и анализа трафика.
Помимо Ethernet, сниффер умеет перехватывать трафик беспроводных сетей (стандарты 802.11 и протокол Bluetooth). Тулза позволяет анализировать трафик IP-телефонии и восстанавливать TCP-потоки, поддерживается анализ туннелированного трафика. Wireshark отлично справляется с задачей декодирования протоколов, но, чтобы понять результаты этого декодирования, надо, безусловно, хорошо разбираться в их структуре.
К недостаткам Wireshark можно отнести то, что восстановленные потоки не рассматриваются программой как единый буфер памяти, из‑за чего затруднена их последующая обработка. При анализе туннелированного трафика используется сразу несколько модулей разбора, и каждый последующий в окне программы замещает результат работы предыдущего — в итоге анализ трафика в многоуровневых туннелях становится невозможен.
В целом Wireshark — не просто популярный, но очень добротный продукт, позволяющий отследить содержимое гуляющих по сети пакетов, скорость их передачи, найти «проблемные места» в сетевой инфраструктуре. Но в отличие от коммерческих приложений здесь нет удобных инструментов визуализации. Кроме того, с помощью Wireshark не так уж и просто, например, выловить из трафика логины и пароли, а это одна из типичных задач при тестировании на проникновение.
CommView
Среди существующих ныне снифферов CommView — один из самых старых и заслуженных ветеранов, об этом продукте «Хакер» писал еще в 2001 году. Проект жив и по сей день, активно развивается и обновляется: последняя на текущий момент версия датирована 2020 годом. Несмотря на то что продукт платный, производитель предлагает скачать триал, который позволяет посмотреть работу приложения на практике — пробная версия сниффера перехватывает трафик в течение пяти минут, после чего просит денег.
CommView — заслуженный «ветеран» в мире снифферов
Помимо трафика на сетевой карте, CommView может мониторить соединения по VPN, а также трафика, проходящего через модемы — аналоговые, мобильные, ADSL, ISDN и другие, для чего в систему устанавливается специальный драйвер. Есть возможность перехвата VoIP-трафика и сессий SIP-телефонии. В состав приложения входит генератор пакетов, с помощью которого можно отправить на заданный Ethernet-интерфейс пакет указанной длины, с произвольными заголовками и содержимым. Есть также довольно удобный просмотрщик лог‑файлов, позволяющий открывать файлы журналов в отдельном окне сниффера и выполнять поиск по их содержимому.
Тулза, вне всяких сомнений, крайне удобная и полезная, если бы не «кусачие» цены на лицензию. Для профессионального пентестера покупка такого инструмента наверняка будет оправданна, но ради того, чтобы разок «глянуть сеть», можно поискать альтернативные — более дешевые или бесплатные решения.
Intercepter-NG
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Сниффинг сети на коммутаторах
(). Вступление.
Вообще говоря, у меня были некоторые сомнения в том, что информация о сниффинге (sniffing) должна быть опубликована. Однако, для провайдеров это относительно небольшой вред. Ведь никто не обещал защищать трафик клиента на просторах Интеренет, где он доступен каждому любопытному админу (другое дело, что никому это обычно не интересно).
В общем, надеюсь что статья-перевод Rafter’а окажется полезен и провайдерам, и пользователям. А кому про сниффинг знать не желательно, увы, давно все знают.
Сниффинг сети на коммутаторах.
Введение.
Для большинства организаций угроза сниффинга является в значительной степени внутренней угрозой. Хакеру из Интернет, например, нелегко использовать снифферы для прослушивания трафика локальной сети. Но это не должно вас успокаивать.
В последнее время наметилась тенденция обновления сетевой инфраструктуры, при которой хабы (концентраторы) заменяются на свитчи (коммутаторы). При этом часто приводится довод, что локальная сеть на коммутаторах будет обладать и повышенной безопасностью. Однако, как мы увидим ниже, уязвимы и такие сети. Сниффинг в локальных сетях, построенных на коммутаторах, возможен! Любой, имея ноутбук и соответствующее программное обеспечение, может, подключившись к свободному порту коммутатора, перехватывать пакеты передаваемые от одного компьютера к другому.
В локальной сети с коммутаторами для прослушивания сетевого трафика потребуется больше изобретательности, поскольку коммутатор направляет только тот трафик, который предназначен для конкретного компьютера (Tyson, Jeff. «How LAN Switches Work»). Однако, существует ряд технологий, которые позволяют преодолеть это ограничение.
Сниффинг в локальной сети без коммутаторов.
Утилиты для сниффинга в локальной сети без коммутаторов.
Поиск в Интернет дает большое количество свободно доступных снифферов. Имеет смысл рассмотреть хотя бы две утилиты dsniff и ScoopLM, которые особенно хороши для перехвата паролей.
Dsniff
Для протоколов, осуществляющих передачу явным образом, для перехвата username, password и другой информации очень полезна утилита dsniff (Song, Dug. «dsniff»). Она доступна для различных клонов Unix, а также портирована (правда, более ранняя версия) для Windows (Davis, Michael. «dsniff»).
В дополнение к возможности перехвата информации, передаваемой с использованием протоколов, передающих информацию явным образом, dsniff исключительно хорош и как фильтр перехватываемого трафика. Он отображает на дисплее только интересующую информацию, например, usernames и passwords. Dsniff можно охарактеризовать как «Пароль на блюдечке с голубой каемочкой», поскольку эта утилита делает перехват необходимой информации тривиальным упражнением для начинающих. Пример работы утилиты (портированной под Windows) и собирающей необходимую информацию в небольшой сети изображен на рисунке:
ScoopLM
Сниффинг в локальной сети с коммутаторами.
Казалось бы, что замена хабов на коммутаторы в локальной сети должна в значительной степени смягчить угрозу сниффинга. Ведь коммутатор направляет сетевой трафик только тому компьютеру сети, которому он предназначен, и если компьютер «A» обменивается пакетами с компьютером «B», то компьютер «С» по идее, не способен перехватывать этот трафик.
Коммутатор гарантирует, что этот трафик не попадает на порты, для которых не предназначен. Передача пойдет только на те порты, к которым подключены компьютеры «A» и «B». Однако существует ряд технологий, разрушающие приведенную выше идеальную схему, позволяя компьютеру «С» перехватывать сетевой трафик между компьютерами «A» и «B».
Как осуществить сниффинг в сети с коммутаторами.
Cуществует ряд технологий, которые делают возможным сниффинг в сетях с коммутаторами и которые включают такие элементы, как ARP spoofing, MAC flooding и MAC duplicating (Whalen, Sean. «An Introduction to ARP Spoofing». Revision 1. April 2001). Все утилиты, приводимые в статье, используют технологию ARP spoofing.
Сначала, однако, нам необходимо понять, как происходит нормальный обмен между компьютерами «А» и «В». Для этого компьютеру «А» необходим МАС адрес компьютера «В». Для его получения, компьютер «А» проверяет в своем ARP кэше, имеется ли там уже МАС адрес компьютера «В». Если да, то используется МАС адрес, полученный из ARP кэша. Если нет, то компьютер «А» посылает широковещательный (broadcast) ARP запрос.
Компьютер «В» отвечает, посылая свой MAC (и IP) адреса. IP адрес компьютера «В» и соответствующий ему МАС адрес сохраняются в ARP кэше компьютера «А» для дальнейшего использования. Теперь можно начинать посылать пакеты с данными для компьютера «В». Аналогичные процессы происходят и на компьютере «В», собирающегося обмениваться пакетами с компьютером «А». Предположим, что компьютеры «А» и «В» установили МАС адреса друг друга и обмениваются пакетами через коммутатор. Как компьютер «С» может перехватить этот трафик? Именно здесь приходит на помощь ARР spoofing.
Первым шагом будет представление компьютера «С» под видом компьютера «В» компьютеру «А». Если это будет достигнуто, сетевой трафик, предназначенный для «В» изменит маршрут и попадет к компьютеру «С». Таким же образом, необходимо все проделать и по отношению к компьютеру «В».
Так, компьютер «С», посылая ложный ARP пакет для компьютера «А», как бы инструктирует компьютер «А» посылать пакеты, предназначенные для компьютера «В», на компьютер «С». Ложный ARP пакет для компьютера «А» приводит к принудительному обновлению его ARP кэша. В обновленном ARP кэше IP адрес компьютера «В» будет соотнесен с МАС адресом компьютера «С». Это означает, что весь трафик, предназначенный компьютеру «В» попадет сначала на компьютер «С». Следующая таблица показывает, что случилось с ARP кэшем компьютера «А»:
ARP кэш «А» до посылки ложного ARP пакета с «С»
IP Addresses | MAC Addresses |
IP адрес компьютера «B» | MAC адрес компьютера «B» |
IP адрес компьютера «C» | MAC адрес компьютера «C» |
. | . |
ARP кэш «А» после посылки ложного ARP пакета с «С»
IP Addresses | MAC Addresses |
IP адрес компьютера «B» | MAC адрес компьютера «C» |
IP адрес компьютера «C» | MAC адрес компьютера «C» |
. | . |
То же самое компьютер «С» проделывает по отношению к компьютеру «В». Посылается ложный ARP пакет для «B», который принудительно обновляет ARP кэш, так что IP адрес компьютера «А» соотносится с МАС адресом компьютера «С». Как только это будет проделано, весь трафик с компьютера «А», предназначенный для компьютера «В», будет перенаправлен на компьютер «С», и, наоборот, весь трафик с компьютера «В», предназначенный для компьютера «А», будет перенаправлен опять же на компьютер «С».
Теперь следующий важный шаг. Компьютер «С» должен гарантировать передачу всего чужого трафика по истинному назначению. Так, например, когда «А» посылает пакет для «В», то он попадает на «С», после чего должен быть переслан на «В». Это легко достигается посредством технологии IP forwarding, которая поддерживается многими операционными системами. Альтернативой являются приложения, способные взять на себя ответственность за IP forwarding трафика по истинному назначению.
Как только перечисленные шаги будут выполнены, компьютер «С» осуществит перехват сетевого трафика между компьютерами «А» и «В».
Стоит заметить, что, послав ложный ARP пакет и подменив ARP кэш, необходимо выполнять эту процедуру вновь и вновь на регулярной основе, поскольку и операционная система также автоматически обновляет ARP кэш на регулярной основе (обычно каждые 30 с).
Многие коммутаторы в настоящее время предлагают сконфигурировать опцию «port security», чтобы помочь сетевым администраторам закрепить конкретные компьютеры за конкретными портами коммутатора. Упрощенно, «port security» позволяет нам закрепить порт коммутатора за определенным MAC адресом. Это предохраняет от подключения посторонних компьютеров к коммутатору.
Интересным побочным эффектом является возможность через перехват посредством ARP spoofing/IP forwarding. Поскольку мы выполняем атаку «man in the middle» мы можем переделывать (добавлять, модифицировать или удалять) пакеты, которые мы перехватили или даже создавать новые.
Утилиты для снифинга в сети с коммутаторами.
ettercap
Как и ожидалось, ARP кэш компьютера «A» хранит правильные значения IP и МАС адресов компьютеров «B» и «C».
Аналогично, и ARP кэш компьютера «B» хранит правильные значения IP и МАС адресов компьютеров «A» и «C».
Теперь трафик между «A» и «B» перехватывается «C». Подобно dsniff, ettercap имеет встроенную базу по большому числу сетевых протоколов. Утилита может выделять интересующие части перехватываемого трафика, такие, например, как usernames и passwords. На скриншоте отображается начальный этап перехвата telnet сессии между «A» и «B».
Во время перехвата ettercap может обнаружить большое число usernames и passwords, которые можно сохранить в простом ASCII файле для последующего анализа.
Cain
Другой утилитой, которая способна осуществлять перехват в локальной сети с коммутаторами является Cain (Montoro, Massimiliano. «Homepage for Cain»). Доступна версия только для Windows (что не может не огорчать поклонников Пингвина), эта утилита способна на большее, чем простой перехват трафика в локальной сети с коммутаторами.
Подобно dsniff и ettercap, Cain имеет встроенную базу по различным сетевым протоколам и может выделять интересующие части перехватываемого трафика.
Cain также имеет встроенную технологию вскрытия зашифрованных паролей, перехваченных из сетевого трафика, позволяющую проводить расшифровку как прямым перебором (brute-force), так и подбором по словарю.
Подобно BeatLM, Cain может предпринять атаку против протоколов аутентификации Microsoft (включая LM и NTLM версии v1, v2). Однако, Cain пошел дальше BeatLM, предлагая возможность вскрытия MD5 хэша Cisco и зашифрованных APOP паролей.
Обратим внимание и на другие, встроенные в Cain возможности. Например traceroute и анализатор протоколов маршрутизации и способность получать список пользователей NT и разделяемых ресурсов с удаленного компьютера.
Функциональность Cain просто впечатляет. Изумительно, что одна утилита в состоянии решать большинство ключевых задач, для решения которых были созданы в свое время разнообразные утилиты, такие как
Cain можно скачать из Интернета отсюда. Скачиваем и устанавливаем на компьютер «C». Проверяем ARP кэш компьютеров «A» и «B», как и должно быть он содержит пока правильные данные
Как только это будет сделано, Cain, используя встроенную базу сетевых протоколов, предоставляет возможность отображения ключевой информации. Как и в тесте при использовании ettercap, между компьютерами «A» и «B» запущена telnet сессия. Для многих протоколов Cain просто извлекает username и password. А для telnet сессии в файл записывается вся сессия (включая, естественно, username и password), как показано на рисунке.
Проведенные тесты продемонстрировали, что такие утилиты, как ettercap и Cain представляют реальную угрозу для многих сетей. Что же можно противопоставить этой угрозе?
Рекомендации по ослаблению угрозы снифинга
Определение работы снифферов, которые разработаны для сетей без коммутаторов является сложной задачей. Это связано с тем, что работа таких снифферов происходит преимущественно в пассивном режиме. Они работают, переведя сетевую карту в promisc mode, что позволяет атакующему компьютеру получать любой сетевой трафик, достигающей сетевой карты, для исследования. Подобно радиорессиверу, снифферы не порождают обязательного дополнительного и подозрительного трафика для передачи в сеть. Итак, как же их можно обнаружить?
Определенные технологии могут быть использованы для попытки определения компьютеров, чьи сетевые карты работают в неразборчивом режиме, вероятно, осуществляя сниффинг локальной сети. Многие используемые технологии полагаются на определение специфичных уязвимостей в TCP/IP стэке. Утилиты типа L0pht’s antisniff «Antisniff 1.021» предоставляют сведения о своеобразии TCP/IP стэка в Win’NT и Unix для определения компьютеров, сетевые карты которых работают в promisc mode.
Как уже было показано, сниффинг в сетях на коммутаторах подразумевает атаку «man-in-the-middle». Прослушивание в этом случае носит «активный» характер, когда сетевой трафик передается атакующему компьютеру и только потом пересылаться по истинному назначению. Определение работы «активных» снифферов является в некотором роде более простым, чем определение работы «пассивных» снифферов.
Существует возможность определения таких атак, как ARP spoofing путем применения специального программного обеспечения, такого как LBNL’s arpwatch «arpwatch» которое может обнаруживать подозрительный ARP сетевой трафик и информировать об этом сетевого администратора.
Однако, полагаться на надежное определение всех примеров сетевого сниффинга не приходится.
Единственным решением, препятствующим сниффингу, является шифрование. В Song, Dug. «dsniff FAQ» для dsniff советуют «не допускайте использования фирменных небезопасных прикладных протоколов или унаследованных протоколов, передающих данные явным образом в ваших сетях». Это очень важный совет. Замена небезопасных протоколов (таких как telnet) на их надежные шифрованные аналоги (такие как ssh) представляется серьезным барьером от перехвата. Замена всех небезопасных протоколов в большинстве случаев маловероятна.
Осуществление технологии шифрования на 3 уровне, таких как IPSec решает проблему снифинга полностью. Масштабируемость, распространенность, доступность IPSec выделяет его как прагматическое решение проблемы перехвата сетевого трафика.