1. Введение В статье рассмотрены некоторые небезопасные протоколы передачи данных, продемонстрированы способы перехвата конфиденциальной информации, передающейся по ним, предложены пути решения этих проблем. Термин снифер происходит от английского «to sniff » – нюхать – и представляет собой программу или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов. Перехват трафика может осуществляться: обычным «прослушиванием» сетевого интерфейса (метод эффективен при использовании в сегменте концентраторов (хабов) вместо коммутаторов (свитчей), в противном случае метод малоэффективен, поскольку на снифер попадают лишь отдельные фреймы); подключением снифера в разрыв канала; ответвлением (программным или аппаратным) трафика и направлением его копии на снифер; через анализ побочных электромагнитных излучений и восстановление таким образом прослушиваемого трафика; через атаку на канальном (MAC-spoofing) или сетевом уровне (IP-spoofing), приводящую к перенаправлению трафика жертвы или всего трафика сегмента на снифер с последующим возвращением трафика в надлежащий адрес. В начале 1990-х широко применялся хакерами для захвата пользовательских логинов и паролей, которые в ряде сетевых протоколов передаются в незашифрованном или зашифрованном слабыми алгоритмами виде. Широкое распространение концентраторов позволяло захватывать трафик без больших усилий в больших сегментах сети практически без риска быть обнаруженным. Сниферы применяются как в благих, так и в деструктивных целях. Анализ прошедшего через снифер трафика позволяет: обнаружить паразитный, вирусный и закольцованный трафик, наличие которого увеличивает загрузку сетевого оборудования и каналов связи (сниферы здесь малоэффективны; как правило, для этих целей используют сбор разнообразной статистики серверами и активным сетевым оборудованием и её последующий анализ); выявить в сети вредоносное и несанкционированное ПО, например, сетевые сканеры, флудеры, троянские программы, клиенты пиринговых сетей и другие (это обычно делают при помощи специализированных сниферов — мониторов сетевой активности); перехватить любой незашифрованный (а порой и зашифрованный) пользовательский трафик с целью получения паролей и другой информации; локализовать неисправность сети или ошибку конфигурации сетевых агентов (для этой цели сниферы часто применяются системными администраторами). Поскольку в «классическом» снифере анализ трафика происходит вручную, с применением лишь простейших средств автоматизации (анализ протоколов, восстановление TCP-потока), то он подходит для анализа лишь небольших его объёмов. Как ни странно, в природе существует великое множество сниферов, поэтому их разделяют на категории: HTTP сниферы (HTTP Analyzer, IEWatch Professional, EffeTech HTTP Sniffer), перехватывают HTTP заголовки; принт сниферы (O&K Print Watch, PrintMonitor, Print Inspector), позволяют контролировать и управлять процессом печати в сети; анализаторы протоколов (Wireshark, TracePlus32 Web Detective, CommView); сниферы IM систем (MSN Shiffer, ICQ Sniffer, AIM Sniff, IM-Sniffer), предоставляют перехваченную переписку в удобно читаемом виде; парольные сниферы (Cain & Abel, Ace Password Sniffer), перехватывают и контролируют разнообразные пароли; сниферы беспроводных сетей (Kismet, airodump-ng, CommView for WiFi), перехватывают трафик беспроводных сетей даже без подключения к этим сетям; пакетные сниферы (Network Probe, Etherscan Analyzer). скопировал тему из авторский статей ибо перенести не смогли будем обсуждать работу Wireshark в этой теме дабы не создавать новые темы по работе Wireshark автор iv.
2. Wireshark: основы Wireshark – это анализатор сетевого трафика. Его задача состоит в том, чтобы перехватывать сетевой трафик и отображать его в детальном виде. Анализатор сетевого трафика можно сравнить с измерительным устройством, которое используется для просмотра того, что происходит внутри сетевого кабеля, как например вольтметр используется электриками для того чтобы узнать что происходит внутри электропроводки (но, конечно, на более высоком уровне). В прошлом такие инструменты были очень дорогостоящими и проприетарными. Однако, с момента появления такого инструмента как Wireshark ситуация изменилась. Wireshark – это один из лучших анализаторов сетевого трафика, доступных на сегодняшний момент. Wireshark работает на основе библиотеки pcap. Библиотека Pcap (Packet Capture) позволяет создавать программы анализа сетевых данных, поступающих на сетевую карту компьютера. Разнообразные программы мониторинга и тестирования сети, сниферы используют эту библиотеку. Она написана для использования языка С/С++ так что другие языки, такие как Java, .NET и скриптовые языки использовать не рационально. Для Unix-подобных систем используют libpcap библиотеку, а для Microsoft Windows NT используют WinPcap библиотеку. Программное обеспечение сетевого мониторинга может использовать libpcap или WinPcap, чтобы захватить пакеты, путешествующие по сети и в более новых версиях для передачи пакетов в сети. Libpcap и WinPcap также поддерживают сохранение захваченных пакетов в файл и чтение файлов содержащих сохранённые пакеты. Программы написанные на основе libpcap или WinPcap могут захватить сетевой трафик, анализировать его. Файл захваченного траффика сохраняется в формате, понятном для приложений, использующих Pcap. 2.1 Для чего используется Wireshark? Системные администраторы используют его для решения проблем в сети. Аудиторы безопасности используют его для выявления проблем в сети. Разработчики используют его для отладки сетевых приложений. Обычные пользователи используют его для изучения внутреннего устройства сетевых протоколов. 2.2 Возможности Wireshark Работает на большинстве современных ОС (Microsoft Windows, Mac OS X, UNIX). Wireshark – продукт с открытым исходным кодом, распространяемый на основании лицензии GPL. Его можно использовать на любом количестве компьютеров, не опасаясь за ввод лицензионных ключей, продление лицензии и другие неприятные мероприятия. Поэтому сообществу очень легко добавлять в него поддержку новых протоколов в виде плагинов или напрямую вшить её в исходный код. Перехват трафика сетевого интерфейса в режиме реального времени. Wireshark может перехватывать трафик различных сетевых устройств, отображая его имя (включая беспроводные устройства). Поддерживаемость того или иного устройства зависит от многих факторов, например от операционной системы. Множество протокольных декодировщиков (TELNET, FTP, POP, RLOGIN, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, MSN, YMSG и другие). Сохранение и открытие ранее сохраненного сетевого трафика. Импорт и экспорт файлов из других пакетных анализаторов. Wireshark может сохранять перехваченные пакеты в большое количество форматов других пакетных анализаторов, например: libpcap, tcpdump, Sun snoop, atmsnoop, Shomiti/Finisar Surveyor, Novell LANalyzer, Microsoft Network Monitor, AIX's iptrace. Позволяет фильтровать пакеты по множеству критерий. Позволяет искать пакеты по множеству критерий. Позволяет подсвечивать захваченные пакеты разных протоколов. Позволяет создавать разнообразную статистику. Ниже перечислены некоторые вещи, которые Wireshark делать не умеет. Wireshark – это не система обнаружения вторжений. Он не предупредит о том, если кто-то делает странные вещи в сети. Однако если это происходит, Wireshark поможет понять что же на самом деле случилось. Wireshark не умеет генерировать сетевой трафик, он может лишь анализировать имеющийся. В целом, Wireshark никак не проявляет себя в сети, кроме как при резолвинге доменных имен, но и эту функцию можно отключить. 2.3 Установка Установка снифера Wireshark под Windows является тривиальной задачей и производится мастером установки. Если на компьютере отсутствует библиотека WinPcap, то она будет установлена вместе со снифером. На шаге выбора компонентов можно установить некоторые сопутствующие инструменты: TShark – консольный анализатор сетевого трафика; Rawshark – фильтр «сырых» пакетов; Editcap – утилита, позволяющая открывать сохраненные пакетные дампы и изменять их; Text2Pcap – утилита для конвертации HEX-дампов (побайтовое представление) пакетов в формат Pcap; Mergecap – утилита для соединения нескольких дампов в один файл; Capinfos – утилита для предоставления информации о сохраненных дампах; Некоторые плагины расширенной статистики. Сразу после установки снифер готов к работе. 2.4 Интерфейс Wireshark Интерфейс программы Wireshark представлен на рисунке 1. Рисунок 1 – Главное окно программы Wireshark Рассмотрим интерфейс более подробно. Сверху находится стандартные для Windows приложений меню и тулбар, на них подробно останавливаться смысла не имеет. Далее следует фильтр, в нем можно задавать критерии фильтрации пакетов, подробное описание работы с ним рассмотрим позже. Следом идет окошко со списком всех перехваченных пакетов. В нем доступна такая информация как: номер пакета, относительное время получения пакета (отсчет производится от первого пакета; параметры отображения времени можно изменить в настройках), IP адрес отправителя, IP адрес получателя, протокол, по которому пересылается пакет, а также дополнительная информация о нем. Как можно заметить, разные протоколы подсвечены разными цветами, что добавляет наглядности и упрощает анализ. Далее видно окно, в котором представлена детальная информация о пакете согласно сетевой модели OSI (подробнее см. Википедию). Ну, и самое нижнее окно показывает нам пакет в сыром HEX виде, то есть побайтово. Конфигурация интерфейса может быть легко изменена в меню View. Например, можно убрать окно побайтового представления пакета (оно же Packet Bytes в меню View), так как в большинстве случаев (кроме анализа данных в пакете) оно не нужно и только дублирует информацию из окна детального описания. 2.5 Перехват трафика Перехват трафика является одной из ключевых возможностей Wireshark. Движок Wireshark по перехвату предоставляет следующие возможности: перехват трафика различных видов сетевого оборудования (Ethernet, Token Ring, ATM и другие); прекращение перехвата на основе разных событий: размера перехваченных данных, продолжительность перехвата по времени, количество перехваченных пакетов; показ декодированных пакетов во время перехвата; фильтрация пакетов с целью уменьшить размер перехваченной информации; запись дампов в несколько файлов, если перехват продолжается долго. Движок не может выполнять следующие функции: перехват трафика с нескольких сетевых интерфейсов одновременно (однако, существует возможность запустить несколько копий Wireshark – каждая для своего интерфейса); прекращение перехвата в зависимости от перехваченной информации. Чтобы начать перехват трафика нужно иметь права Администратора на данной системе и выбрать правильный сетевой интерфейс. Итак, начнем. Чтобы выбрать сетевой адаптер, с которого будет выполняться перехват нужно нажать на кнопку Interfaces на тулбаре, либо их меню Capture > Interfaces… (отмечены красным цветом на рисунке 2). Рисунок 2 – Выбор интерфейса для перехвата После нажатия на одну из этих кнопок появится окно со списком сетевых интерфейсов, доступных в системе (рисунок 3). Рисунок 3 – Список сетевых интерфейсов На этом списке можно увидеть такую информацию как название интефейса, IP адрес интерфейса, сетевая активность интерфейса (представлена в виде общего количества пакетов с момента появления окна и количество пакетов в секунду). Также из этого окна можно посмотреть настройки перехвата (рисунок 4) и информацию об интерфейсе (рисунок 5). Рисунок 4 – Настройки перехвата Рисунок 5 – Информация об интерфейсе В настройках перехвата можно изменять такие параметры как фильтрация пакетов, запись дампа в несколько файлов, прекращение перехвата по разным критериям (количество пакетов, количество мегабайт, количество минут), опции показа пакетов, резолвинг имен. В большинстве случаев эти параметры можно оставить по умолчанию. Итак, всё готово к началу перехвата, осталось нажать кнопку Start. автор iv.
3. Практика перехвата После нажатия на кнопку Start начался перехват пакетов. Если сетевая активность высокая, то можно сразу увидеть массу непонятных входящих или исходящих пакетов. Они нас пока мало волнуют, сейчас мы займемся изучением всем известной утилиты ping. 3.1 Утилита ping Нажмем Win+R и введем в строке выполнить cmd. Откроется консоль, введем там команду ping <IP адрес>, как показано на рисунке 6. IP адрес следует писать, исходя из конфигурации конкретной сети. Рисунок 6 – Выполнение команды ping Теперь, если опрос хоста прошел так же успешно, как показано на рисунке, откроем окно Wireshark, чтобы посмотреть на это более подробно. Там мы скорее всего увидим полный бардак и разбираться в этом нужно будет очень долго. Тут нам на помощь и придут фильтры! Утилита ping работает по протоколу ICMP, поэтому впишем название этого протокола в строку фильтра и нажмем Apply. Должно получиться нечто похожее на рисунок 7. Рисунок 7 – Фильтрация по протоколу ICMP Здесь мы можем наблюдать как происходит Echo Request и Echo Reply в протоколе ICMP изнутри: какие тестовые данные посылаются, какие флаги символизируют о том, что это именно Echo Request, и другую не менее важную информацию. 3.2 Перехват FTP трафика В этом пункте рассматривается перехват документа, передающегося по протоколу FTP без шифрования, и убедимся, что при использовании шифрования на основе TLS ничего полезного мы перехватить не сможем. В качестве FTP сервера используется Cerberus FTP Server, в качестве клиента – любой браузер, например, Internet Explorer (в данной работе использовался плагин к Mozilla Firefox под названием FireFTP). Запускаем захват пакетов в Wireshark и делаем фильтр по протоколу FTP для удобства (набираем «ftp or ftp-data» без кавычек). Набираем в строке адреса браузера адрес нашего FTP сервера: ftp://<IP адрес сервера> и жмем Enter. На сервере будет лежать текстовый документ под названием test.txt, скачиваем его. Теперь посмотрим, что произошло в снифере, и какие пакеты мы перехватили. На рисунке 8 можно видеть, что перехватить можно не только данные, которые передаются по протоколу, но и логин с паролем. Рисунок 8 – Перехват логина и пароля Теперь найдем в перехваченных пакетах содержание нашего документа. Несколько слов о процессе передачи файлов по протоколу FTP: в самом начале сервер посылает клиенту баннер приветствия (в данном случае это 220-Welcome to Cerberus FTP Server), пользователь проходит аутентификацию на сервере с помощью команд USER и PASS, получает список директорий с помощью команды LIST и запрашивает нужный файл с помощью команды RETR. Команду RETR мы и будем искать в списке пакетов. Для этого нужно нажать Ctrl+F, выбрать в опциях поиска Find by String и Search in Packet Bytes, в строке поиска ввести RETR и нажать Enter. Будет найден пакет, в котором клиент посылает эту команду серверу, если файл существует, то сервер пришлет ответ 150 Opening data connection, а в следующем пакете и будет содержимое документа (рисунок 9). Рисунок 9 – Содержимое переданного документа Теперь включим на сервере безопасную передачу данных на основе протокола TLS и повторим процедуру. Для установки безопасного соединения клиент использует команду AUTH TLS. При просмотре списка перехваченных пакетов (рисунок 10) становится ясно, что ничего полезного из них получить не получится. Рисунок 10 – Список перехваченных зашифрованных пакетов 3.3 Перехват документа, переданного по протоколу SMB SMB (Server Message Block) – формат сообщений на основе протокола совместного использования файлов Microsoft/3Com, используемый для передачи файловых запросов (open – открыть, close – закрыть, read – прочитать, write – записать и т. п.) между клиентами и серверами. Откроем Wireshark, запустим перехват пакетов и фильтр по протоколу SMB. Затем зайдем на удаленный расшаренный ресурс и скачаем файл test.txt. Остановим перехват пакетов, нажав на кнопочку «Stop the running live capture». Теперь посмотрим на то, что мы получили. В списке пакетов найдем запрос на передачу файла test.txt: Спустя несколько пакетов можно будет увидеть ответ: В этом пакете и будет содержание документа (рисунок 11). Рисунок 11 – Перехват документа по протоколу SMB
4. Заключение Проблема снифинга была актуальной раньше – в сетях основанных на концентраторах (хабах) – она остается актуальной и сейчас для сетей на коммутаторах (свитчах), благодаря такой технологии как ARP spoofing. Более того, сегодня семимильными шагами развивается технологии беспроводных сетей, где снифинг возможен даже в пассивном режиме. Единственным решением, препятствующим снифингу, является шифрование. Нельзя допускать использования фирменных небезопасных прикладных протоколов или унаследованных протоколов, передающих данные явным образом. Замена небезопасных протоколов (таких как telnet) на их надежные шифрованные аналоги (такие как SSH) представляется серьезным барьером от перехвата. Замена всех небезопасных протоколов в большинстве случаев маловероятна. Вместо прекращения использования протоколов, передающих данные явным образом, остается только одна возможность - шифрование всего сетевого трафика на 3 уровне, используя IPSec. Осуществляя шифрование на 3 уровне, возможно продолжать использовать небезопасные протоколы, поскольку все данные будут инкапсулированы IPSec и зашифрованы при передаче по сети. Таким образом, унаследованные приложения, которые используют старые протоколы, не пострадают. IPSec полностью прозрачен для приложений и пользователей. Это открытый стандарт, поддерживаемый многими вендорами, включая Microsoft и Cisco. Кроме того, многие реализации Unix поддерживают IPSec. Легкая настройка IPSec в Win2k/XP дополнительно увеличивает его доступность. Осуществление технологии шифрования на 3 уровне, таких как IPSec решает проблему снифинга полностью. Масштабируемость, распространенность, доступность IPSec выделяет его как прагматическое решение проблемы перехвата сетевого трафика. автор iv.
у меня точно это же распечатано на А4!напиши хоть свой опыт а то статей куча а поним не очень таки все и бегает и ваиршарк не очень полезен сам по себе все равно его надо с чем-то юзануть!его применяют более как фильтр пакетов чем сам снифинг
доброе время суток! спасибо за статью, многому научился и попробовал, только вот не вышло зайти на ftp server и скачать txt file. в статье говорится что нужно прописать в браузере ftp:// <IP адресс сервира> которого я не заню, пробывал все...просто не открывалась страница. подскажите пожалуйста о каком IP шла речь. зарание спасибо.
не выходит анализ трафика wireshark доброе время суток! уже разобрался с прошлым вопросом (ftp) т.е. понял что не обязательнь заходить на сайт. подскажите пожалуйста как находить в собранном трафике логи и пароли. у меня в сети 3 машины, после запуска wireshark на всех захожу на почту в facebook, останавливаю сбор тарфика и ищу ( cntr-f ) by string, все как описано в статье...прописываю следующие слова: password, retr, post, cookie ( единственное что находится) и мои логин и пароли, ничего кроме cookie не нахожу( и то не со всех машин ). в cookie cadger я мог нажатием кнопки загрузить его в мазилу и зайти на страницу а что тут делать не разберусь. извените за глупые вопросы, если что. помогите плз. спасибо за рание.
Полезно использовать например такие фильтры шарка: Показывать только POST запросы: Фильтровать траф в шарке по портам: Ну и наконец фильтр по нужным ресурсам: В поиске не всегда идет прямым текстом password Ищите например такое: mail, pswd, pass, login P.S. Авторизация в facebook идет по https, поэтому пользуйтесь SSL -strip и SSL MitM. Иначе в шарке не будет пароля.
доброе время суток! как всегда огромное спасибо за советы, уверен пригодятся. я тут просто попал в небольшой замес, так как наталкивался на какието проблемы что не мох решить в одних направления начинал пробывать другие, и получилось что я рою по нескольким фронтам, а головы у меня едва хватает на что то одно) так вот основной проблемой, ко-я у меня онняла много времени это то что мой адаптер не работает с os x 10.8 (alfa awuo36h)при использовании kismac,это я вычитал в фак их сайта. там же пробывал cooki cadger, пока что проблемой стоит перевод адаптера в монитор режим ( прога видит все дивайсы по показывает cookie только одного,машины на которой я сижу, такое впечатление что онa по wifi ничего не видит, кроме маков и айпи), блин не выходит)) ( взял погонять другой alfa awuo36nh) у него другой чипсет, но тоже проблема прога(kismac) его видет но еще нужно его настраивать, тоже сейчас буду продолжать искать, уже нашол точнее просто нужно осуществить))... его нужно добавить в список потдерживаемых устройств, говорят что может помоч.wireshark начал видить новый адаптер лучше, теперь в опциях по крайней мере не пишится что монитор мод. disabled . но тоже еще не идет, теща пишет что нужно нужно заходить на какой то сервер, скачивать txt file и там уже что то видно , при работе с wire shark, короче как видешь я тут совсем в этих дебрях запутался , нужен прорыв))) и все заработает, еще раз благодарю за помощь.
В закрытой Wi-Fi сети трафик естественно передается в зашифрованном виде. Проблема решается либо ARP- спуфингом, либо подсовыванием хендшейка виршарку, для расшифровки трафа.
Здравствуйте! Нужна помощь! У нас в универе задание, показать преподавателю статистику портов и протоколов в Wireshark`е. Вроде бы я нашел в меню Статистикс общую статистику по протоколам в виде иерархии.. а где можно взглянуть статистику портов ? И еще нам доп. задание: попытаться выявить ошибку в сети. Каким образом это можно сделать ? Есть ли какой-нибудь способ найти хоть самую малюсенькую ошибочку в чем-нибудь ? И может ли быть такое, чтобы в сети вообще не было ошибок ?(у нас компьютерный класс, подключенный к прокси)
Статистику по портам можно посмотреть, например, в statistics/endpoints и там во вкладках tcp и udp. Вопрос в том, что ваш преподаватель считает ошибками в сети. Если коллизии кадров - тогда способа их увидеть wireshark`ом нет, т.к. они отрабатываются аппаратно. Кое-какие пакеты wireshark автоматически помечает черным цветом с красным шрифтом внутри. Это пакеты, попадающие под дефолтное правило "Bad TCP". Что там конкретно записано в правиле - смотреть мне сейчас лень, но если судить из названия, это можно тоже в некотором роде считать ошибкой сети Чтобы найти все такие пакеты, нужно остановить сниффинг, и сделать сортировку по полю Info в основном окне программы.
При переходе Capture > Interfaces выдает ошибку "There are no interfaces on which a capture can be done" Ставил на машину(Win8x86) и ноут(Win7x86), одинаковая проблема. Как быть?
Вот тут : http://habrahabr.ru/post/204274/ появился довольно не плохой хелп на русском по функциям Wireshark.
Не туда нажимаешь. File -> Export specified packets -> Marked packets -> Сохранить Для кого-то ещё давно делал картинку, оставлю здесь. Spoiler: КАК ПРАВИЛЬНО ВЫРЕЗАТЬ ХЕНДШЕЙК ИЗ .CAP ФАЙЛА