sonyps4.ru

Wireshark (перехватчик сетевых пакетов). Что такое сниффер? Поведенческое определение присутствия сниффера в сети

В этой статье мы рассмотрим создание простого сниффера под ОС Windows.
Кому интересно, добро пожаловать под кат.

Введение

Цель: написать программу, которая будет захватывать сетевой трафик (Ethernet, WiFi), передающийся по протоколу IP.
Средства: Visual Studio 2005 или выше.
Подход, который здесь описан, не принадлежит лично автору и успешно применяется во многих коммерческих, а также категорически бесплатных программах (привет, GPL).
Сей труд предназначен прежде всего для новичков в сетевом программровании, которые, однако, имеют хотя бы базовые знания в области сокетов вообще, и windows-сокетов в частности. Здесь я часто буду писать общеизвестные вещи, потому что предметная область специфическая, если что-то пропустить - в голове будет каша.

Надеюсь, Вам будет интересно.

Теория (читать не обязательно, но желательно)

В данный момент подавляющее большинство современных информационных сетей базируются на фундаменте стека протоколов TCP/IP. Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol) - собирательное название для сетевых протоколов разных уровней, используемых в сетях. В настоящей статье нас будет интересовать в основном протокол IP - маршрутизируемый сетевой протокол, используемый для негарантированной доставки данных, разделяемых на так называемые пакеты (более верный термин – дейтаграмма) от одного узла сети к другому.
Особый интерес для нас представляют IP-пакеты, предназначенные для передачи информации. Это достаточно высокий уровень сетевой OSI-модели данных, когда можно обстрагироваться от устройства и среды передачи данных, оперируя лишь логическим представлением.
Совершенно логичным является то обстоятельство, что рано или поздно должны были появится инструменты для перехвата, контроля, учета и анализа сетевого трафика. Такие средства обычно называется анализаторами трафика, пакетными анализаторыми или снифферами (от англ. to sniff - нюхать). Это - сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

Практика (разговор по существу)

На данный момент создано достаточно много программного обеспечения для прослушивания трафика. Наиболее известный из них: Wireshark . Естественно, пожинать его лавры цель не стоит - нас интересует задача перехвата трафика методом обычного «прослушивания» сетевого интерфейса. Важно понимать, что мы не собираемся заниматься взломом и перехватывать чужой трафик. Нужно всего лишь просматривать и анализировать трафик, который проходит через наш хост.

Для чего это может понадобиться:

  1. Смотреть текущий поток трафика через сетевое соеднинение (входящий/исходящий/всего).
  2. Перенаправлять трафик для последующего анализа на другой хост.
  3. Теоретически, можно попытаться применить его для взлома WiFi-сети (мы ведь не собираемся этим заниматься?).
В отличие от Wireshark, который базируется на библиотеке libpcap/WinPcap, наш анализатор не будет использовать этот драйвер. Чего уж там, у нас вообще не будет драйвера, и свой NDIS(о ужас!) мы писать не собираемся. Про это можно прочитать в этом топике . Он будет просто пассивным наблюдателем, использующим только библиотеку WinSock. Использование драйвера в данном случае избыточно.

Как так? Очень просто.
Ключевым шагом в превращении простого сетевого приложения в сетевой анализатор является переключение сетевого интерфейса в режим прослушивания (promiscuous mode), что и позволит ему получать пакеты, адресованные другим интерфейсам в сети. Этот режим заставляют сетевую плату принимать все кадры, вне зависимости от того, кому они адресованы в сети.

Начиная с Windows 2000 (NT 5.0) создать программу для прослушивания сегмента сети стало очень просто, т.к. ее сетевой драйвер позволяет перевести сокет в режим приёма всех пакетов.

Включение неразборчивого режима
long flag = 1; SOCKET socket; #define SIO_RCVALL 0x98000001 ioctlsocket(socket, SIO_RCVALL, &RS_Flag);
Наша программа оперирует IP-пакетами, и использует библиотеку Windows Sockets версии 2.2 и «сырые» сокеты (raw sockets). Для того чтобы получить прямой доступ к IP-пакету, сокет нужно создавать следующим образом:
Создание сырого сокета
s = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
Здесь вместо константы SOCK_STREAM (протокол TCP) или SOCK_DGRAM (протокол UDP), мы используем значение SOCK_RAW . Вообще говоря, работа с raw sockets интересна не только с точки зрения захвата трафика. Фактически, мы получаем полный контроль за формированием пакета. Вернее, формируем его вручную, что позволяет, например, послать специфический ICMP-пакет…

Идем дальше. Известно, что IP-пакет состоит из заголовка, служебной информации и, собственно, данных. Советую заглянуть сюда , чтобы освежит знания. Опишем в виде структуры IP-заголовок (спасибо отличной статье на RSDN ):

Описание структуры IP-пакета
typedef struct _IPHeader { unsigned char ver_len; // версия и длина заголовка unsigned char tos; // тип сервиса unsigned short length; // длина всего пакета unsigned short id; // Id unsigned short flgs_offset; // флаги и смещение unsigned char ttl; // время жизни unsigned char protocol; // протокол unsigned short xsum; // контрольная сумма unsigned long src; // IP-адрес отправителя unsigned long dest; // IP-адрес назначения unsigned short *params; // параметры (до 320 бит) unsigned char *data; // данные (до 65535 октетов) }IPHeader;
Главная функция алгоритма прослушивания будет выглядеть следующим образом:
Функция захвата одного пакета
IPHeader* RS_Sniff() { IPHeader *hdr; int count = 0; count = recv(RS_SSocket, (char*)&RS_Buffer, sizeof(RS_Buffer), 0); if (count >= sizeof(IPHeader)) { hdr = (LPIPHeader)malloc(MAX_PACKET_SIZE); memcpy(hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat(count, hdr); return hdr; } else return 0; }
Здесь все просто: получаем порцию данных с помощью стандартной функции socket-функции recv , а затем копируем их в структуру типа IPHeader .
И, наконец, запускаем бесконечный цикл захвата пакетов:
Захватым все пакеты, которые попадут на наш сетевой интерфейс
while (true) { IPHeader* hdr = RS_Sniff(); // обработка IP-пакета if (hdr) { // печатаем заголовок в консоли } }
Немного оффтопика
Здесь и далее у некоторых важных функций и переменных автор сделал префкис RS_ (от Raw Sockets). Проект делал 3-4 года назад, и была шальная мысль написать полноценную библиотеку для работы с сырыми сокетами. Как это часто бывает, после получения сколь-нибудь значимых(для автора) результатов, энтузиазм угас, и дальше учебного примера дело не полшло.

В принципе, можно пойти дальше, и описать заголовки всех последующих протоколов, находящихся выше. Для этого необходимо анализировать поле protocol в структуре IPHeader . Посмотрите на пример кода (да, там должен быть switch, чёрт возьми!), где происходит раскрашивание заголовка в зависимости от того, какой протокол имеет пакет, инкапсулированный в IP:

/* * Выделение пакета цветом */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) { if (h->xsum) SetConsoleTextColor(0x17); // если пакет не пустой else SetConsoleTextColor(0x07); // пустой пакет if (haddr == h->src) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // "родной" пакет на отдачу } else if (haddr == h->dest) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "родной" пакет на прием } if (h->protocol == PROT_ICMP || h->protocol == PROT_IGMP) { SetConsoleTextColor(0x70); // ICMP-пакет } else if(h->protocol == PROT_IP || h->protocol == 115) { SetConsoleTextColor(0x4F); // IP-in-IP-пакет, L2TP } else if(h->protocol == 53 || h->protocol == 56) { SetConsoleTextColor(0x4C); // TLS, IP with Encryption } if(whost == h->dest || whost == h->src) { SetConsoleTextColor(0x0A); } }

Однако это существенно выходит за рамки этой статьи. Для нашего учебного примера вполне достаточно будет посмотреть ip-адреса хостов, с которых и на которые идет трафик, и посчитать его количество в единицу времени(готовая программа в архиве в конце статьи).

Для того, чтобы отобразить данные IP-заголовка, необходимо реализовать функцию преобразования заголовка (но не данных) дейтаграммы в строку. В качестве примера реализации, можно предложить такой вариант:

Преобразование IP-заголовка в строку
inline char* iph2str(IPHeader *iph) { const int BUF_SIZE = 1024; char *r = (char*)malloc(BUF_SIZE); memset((void*)r, 0, BUF_SIZE); sprintf(r, "ver=%d hlen=%d tos=%d len=%d id=%d flags=0x%X offset=%d ttl=%dms prot=%d crc=0x%X src=%s dest=%s", BYTE_H(iph->ver_len), BYTE_L(iph->ver_len)*4, iph->tos, ntohs(iph->length), ntohs(iph->id), IP_FLAGS(ntohs(iph->flgs_offset)), IP_OFFSET(ntohs(iph->flgs_offset)), iph->ttl, iph->protocol, ntohs(iph->xsum), nethost2str(iph->src), nethost2str(iph->dest)); return r; }
На основании приведенных выше базовых сведений, получается вот такая небольшая программа (жуткое название ss, сокр. от англ. simple sniffer), реализующая локальное прослушивание IP-трафика. Интерфейс ее приведен ниже на рисунке.

Исходный и бинарный код предоставляю как есть, таким как он был несколько лет назад. Сейчас мне на него страшно смотреть, и все же, он вполне читабельный (конечно же, нельзя быть таким самоуверенным). Для компиляции будет достаточно даже Visual Studio Express 2005.

Что у нас получилось в итоге:

  • Сниффер работает в режиме пользователя, однако требует привилегии администратора.
  • Пакеты не фильтруются, отображаясь как есть (можно добавить настраиваемые фильтры - предлагаю подробно рассмотреть эту тему в следующей статье, если интересно).
  • WiFi-трафик тоже захватывается(все зависит от конкретной модели чипа, у Вас может и не работать, как у меня несколько лет назад), хотя есть AirPcap, которая чудесно это умеет делать, но стоит денег.
  • Весь поток дейтаграмм логируется в файл (см. архив, приложенный в конце статьи).
  • Программа работает в качестве сервера на порту 2000. Можно подключиться с помощью утилиты telnet к хосту и произвести мониторинг потоков трафика. Количество подключений ограничено двадцатью (код не мой, нашел на просторах сети и применял для экспериментов; удалять не стал - жалко)
Спасибо за внимание, проздравляю хабровчан и хабровчанок и всех-всех-всех с наступающим Рождеством!

Сниффер, или анализатор трафика, (от англ. to sniff - нюхать) - сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.
Сниффер может анализировать только то, что проходит через его сетевую карту. Внутри одного сегмента сети Ethernet все пакеты рассылаются всем машинам, из-за этого возможно перехватывать чужую информацию. Использование коммутаторов (switch, switch-hub) и их грамотная конфигурация уже является защитой от прослушивания. Между сегментами информация передаётся через коммутаторы. Коммутация пакетов - форма передачи, при которой данные, разбитые на отдельные пакеты, могут пересылаться из исходного пункта в пункт назначения разными маршрутами. Так что если кто-то в другом сегменте посылает внутри его какие-либо пакеты, то в ваш сегмент коммутатор эти данные не отправит.
Перехват трафика может осуществляться:
...

0 0

В этой статье я обьясню что такое снифер,как им пользоваться,проверять фейки,что такое ID PASS.
Что нам для этого потребуется:
-снифер socketsniff или smsniff
-2 руки
-1 голова
-9 законченных классов:D

Что такое снифер я вам обьяснять не буду,думаю многие слышали.
Прочитать подробно можете здесь
http://ru.wikipedia.org/wiki/%D0%90%D0% ... 0%BA%D0%B0
Для начала скачаем снифер
http://www.nirsoft.net/utils/socketsniff.zip
Он удобен в том что можно снифить только одно приложение которое выберете и нам не будут мешать другие запущенные программы.
Ну чтож приступим,для начала проверим программу на вирус тотал http://www.virustotal.com/ (не подсунули ли нам троян вместо фейка)
Проверям,делаем выводы запускать или нет,не забываем что АнтиВирус может ругаться на упоковщик.
Далее запускаем скачанную программу(для примера я возьму фейк с отправкой кодов на асю)
Запускаем socketsniff ищем в процессах нашу программу которую...

0 0

Снифферы - это проги, которые перехватывают
весь сетевой трафик. Снифферы полезны для диагностики сети (для админов) и
для перехвата паролей (понятно для кого:)). Например если ты получил доступ к
одной сетевой машине и установил там сниффер,
то скоро все пароли от
их подсети будут твои. Снифферы ставят
сетевую карту в прослушивающий
режим (PROMISC).То есть они получают все пакеты. В локалке можно перехватывать
все отправляемые пакеты со всех машин (если вы не разделены всякими хабами),
так
как там практикуется широковещание.
Снифферы могут перехватывать все
пакеты (что очень неудобно, ужасно быстро переполняется лог файл,
зато для более детального анализа сети самое оно)
или только первые байты от всяких
ftp,telnet,pop3 и т.д. (это самое веселое, обычно примерно в первых 100 байтах
содержится имя и пароль:)). Снифферов сейчас
развелось… Множество снифферов есть
как под Unix, так и под Windows...

0 0

Что_такое_сниффер_

Введение

Я надеюсь эта статья будет хорошим повествованием о снифферах для начинающих хакеров, а также для тех, кто имел с ними дело.

Что такое Сниффер?

Сниффер(нюхач, eng) - это программа, которая устанавливается под NIC (Сетевую Интерфейсную Карту), иначе называемую Ethernet карта(одна из необходимых частей аппаратных средств, для физического соединения компьютеров в локальной сети). Как известно информация по сетке передается пакетами - от вашей машины к удаленной, так вот сниффер, установленный на промежуточном компьютере, через который будут проходить пакеты - способен захватывать их, пока они еще не достигли цели. У разных снифферов процесс захвата информации реализован по разному, ну об этом чуть ниже.

(ваш комп) -> (соседний комп) -> (комп со сниффером) -> (удаленный комп)
Стандартный пакет попутешествует из "вашего компа " через сеть. Он пройдет через каждый...

0 0

Снифферы - это программы, которые перехватывают весь сетевой трафик. Снифферы полезны для диагностики сети (для админов) и для перехвата паролей (понятно для кого). Например, если ты получил доступ к одной сетевой машине и установил там сниффер, то скоро все пароли от их подсети будут твои. Снифферы ставят сетевую карту в прослушивающий режим (PROMISC).То есть они получают все пакеты. В локальной сети можно перехватывать все отправляемые пакеты со всех машин (если вы не разделены всякими хабами), так как там практикуется широковещание. Снифферы могут перехватывать все пакеты (что очень неудобно, ужасно быстро переполняется лог файл, зато для более детального анализа сети самое оно) или только первые байты от всяких ftp, telnet, pop3 и т.д. Снифферов сейчас развелось много... Множество снифферов есть как под Unix, так и под Windows (даже под DOS есть). Снифферы могут поддерживать только определенную операционную систему (например, linux_sniffer.c, который поддерживает Linux), либо...

0 0

Wireshark: как пользоваться?

Здравствуйте друзья! В этой статье я попытаюсь объяснить и рассказать о самом необходим, что нужно знать при использовании Wireshark на Linux, и покажу анализ трёх типов сетевого трафика. Данный мануал применим и для работы Wireshark под Windows.

Если вы новичок в информационной безопасности, и совсем хорошо понимаете что такое сниффер (анализатор трафика), советую почитать статью Что такое сниффер, и только потом читать эту статью о том как пользоваться Wireshark.

Wireshark - очень популярный и чрезвычайно умелый анализатор сетевого протокола, который разработал Джеральд Комбс , Wireshark появился в июне 2006 г., когда Комбс переименовал сетевой инструмент Ethereal, также созданный им, поскольку сменил работу и не мог больше использовать старое название. Сегодня большинство используют Wireshark, a Ethereal сделался историей.

Wireshark: лучший сниффер

Вы, возможно, спросите, чем Wireshark...

0 0

Сниффер, или анализатор трафика – это специальная программа, которая способна перехватить и/или проанализировать сетевой трафик, предназначенный для других узлов. Как известно, передача информации по сетке осуществляется пакетами – от машины пользователя к удаленной машине, так вот если установить сниффер на промежуточном компьютере, он будет захватывать проходящие пакеты до того, как они достигнут цели.

Работа одного сниффера может существенно отличаться от работы другого. Стандартный пакет начинает свое движение от ПК пользователя и далее через каждый компьютер в сети, проходя через «соседний комп», «комп оборудованный сниффером», и заканчивая «удаленным компом». Обычная машина не обращает внимания на пакет, не предназначенный для ее IP адреса, а машина со сниффером игнорирует эти правила и перехватывает любой пакет, который оказывается в ее «поле деятельности». Сниффер – это тоже самое, что и сетевой анализатор, но компании, отвечающие за безопасность, и Федеральное правительство...

0 0

Наверняка многие пользователи компьютерных систем слышали о «сниффере», правда не все в полной мере представляют себе, что означает данное понятие. Также сегодня можно выделить довольно ограниченный круг пользователей, которые знают, как и где используются такие программы и «железные» компоненты. Давайте попробуем разобраться, что к чему.

Что такое сниффер?

Прежде всего, рассмотрим определение данного термина. Чтобы вникнуть в суть данного вопроса, необходимо сперва перевести слово «сниффер». Если переводить дословно, то на английском языке sniffer означает «нюхач». Если говорить более простым языком, то это программа или оборудование, которые способны на основе анализа трафика в виде передаваемых и принимаемых данных извлекать всю необходимую информацию, например, зашифрованные пароли, внешние сетевые IP-адреса, или конфиденциальную информацию.Сами снифферы могут быть использованы как во вред, так и во благо.

Снифферы: основные типы

Если говорить об основных разновидностях снифферов, то это вовсе не обязательно может быть программное обеспечение, которое устанавливается на компьютерный терминал или выполненное в виде онлайн-апплета. Довольно часто сегодня можно встретить снифферы, выполненные в виде «железного» оборудования или его компонентов, сочетающих в себе физические и программные признаки. В основную классификацию снифферов входят следующие типы:

— программные;

— аппаратные;

— программно-аппаратные;

— онлайн-компоненты.

Также при основной классификации можно выделить разделение по направлению анализа. Чаще всего, к примеру, встречается такая разновидность, как сниффер паролей. Основной задачей данного инструмента является извлечение из пакетов информации открытых или зашифрованных кодов доступа или иной информации. Также существуют снифферы, которые предполагают вычисление IP-адресов конкретного компьютерного терминала с целью доступа к пользовательскому компьютеру и информации, хранящейся на нем.

Как же это работает? Технология перехвата сетевого траффика может быть применена только к сетям, построенным на основе протоколов TCP/IP, а также реализуемому соединению посредством сетевых карт Ethernet. Анализу также могут подвергаться и беспроводные сети. В такой системе изначально все равно присутствует проводное подключение (к раздающему стационарному ПК или ноутбуку, маршрутизатору). В сети передача данных осуществляется не цельным блоком, а при помощи его разделения на стандартные сегменты и пакеты, которые при получении принимающей стороной объединяются в одно целое. Снифферы могут отслеживать различные каналы передачи каждого сегмента. В момент передачи незащищенных пакетов на подключенные устройства, например, свитчи, хабы, маршрутизаторы, компьютеры или мобильные устройства осуществляется извлечение нужной информации, в которой могут содержаться пароли. Взлом пароля становится делом техники, особенно если он не зашифрован должным образом. Даже при использовании современных технологий шифрования пароля, он может передаваться вместе с соответствующим ключом. Если данный ключ открытого типа, то получить пароль будет очень просто. Если ключ зашифрован, то злоумышленник может воспользоваться какой-нибудь программой дешифратором. В конечном итоге это все равно приведет к взлому данных.

Где может использоваться сниффер сети? Область применения

Сфера использования снифферов является довольно своеобразной. Не стоит думать, что какой-то удобный сниффер на русском языке является исключительно средством для хакеров, которые пытаются выполнить несанкционированное вмешательство в сетевой трафик для получения важной информации. Снифферы также могут быть использованы и провайдерами, которые на основе их данных осуществляют анализ трафика своих пользователей, тем самым усиливая безопасность компьютерных систем. Такое оборудование и приложения называют антиснифферами, но на самом деле это обыкновенные снифферы, которые работают в обратном направлении. Конечно, никто не уведомляет пользователей о подобных действиях со стороны провайдера. К тому же особого смысла в этом нет. Вряд ли рядовой пользователь сможет самостоятельно принять какие-то эффективные меры. Для провайдера анализ трафика зачастую является очень важным моментом, так он может предотвратить попытки вмешательства в работу сетей со стороны. Анализируя доступ к передаваемым пакетам, можно отследить несанкционированный доступ к ним даже на основе внешних IP-адресов, которые пытаются перехватить передаваемые сегменты. Это наиболее простой пример. В целом технология выглядит намного сложнее.

Как определить присутствие сниффера?

Давайте пока оставим в стороне такое понятие, как «сниффер». Уже немного понятно, что это такое. Давайте теперь посмотрим, по каким признакам можно самостоятельно определить «прослушку» сниффером. Если в целом с компьютерной системой все в порядке и интернет-подключение, и сетевое оборудование работают без сбоев, то первым признаком вмешательства со стороны является снижение скорости передачи данных по сравнению с заявленной провайдером. В операционных системах семейства Windows рядовой пользователь вряд ли сможет определить скорость при помощи стандартных средств даже при вызове меню состояния кликом на значке подключения. Тут указывается только число полученных и отправленных пакетов. Снижение скорости может быть связано с ограничениями самого ресурса, к которому осуществляется доступ. Лучше всего будет использовать специальные утилиты-анализаторы. Они, стоит отметить, работают по принципу сниффера. Единственный момент, на который необходимо обратить внимание, это то, что программы такого типа после установки могут вызывать ошибки, которые появляются в результате конфликтов с файрволлами (сторонними программами или встроенным брэндмауэром Windows). По этой причине на момент проведения анализа желательно полностью отключить защитные экраны.

Заключение

Мы коротко рассмотрели основные вопросы, которые касаются такого понятия, как «сниффер». Теперь в принципе должно быть понятно, что это такое с точки зрения инструмента защиты или взлома. Остается добавить только несколько слов об онлайн-апплетах. Именно они по большей части могут быть использованы злоумышленниками для получения IP-адреса жертвы и доступа к конфиденциальной информации. Такой онлайн-сниффер также выполняет свою непосредственную функцию, IP-адрес злоумышленника тоже меняется. Чем-то такие апплеты напоминают анонимные прокси-серверы, которые скрывают реальный IP-адрес пользователя. Данные о таких интернет-ресурсах по понятным соображениям не приводятся, так вмешательство в работу чужих компьютерных систем с помощью этих, вроде бы и официально размещенных программных продуктов, является уголовно наказуемым и противозаконным.

Снифферы - это проги, которые перехватывают весь сетевой трафик.

Снифферы полезны для диагностики сети(для админов) и для перехвата паролей (понятно для кого). Например если ты получил доступ к одной сетевой машине и установил там сниффер, то скоро все пароли от их подсети будут твои. Снифферы ставят сетевую карту в прослушивающий режим (PROMISC).То есть они получают все пакеты. В локалке можно перехватывать все отправляемые пакеты со всех машин (если вы не разделены всякими хабами), так как там практикуется широковещание. Снифферы могут перехватывать все пакеты (что очень неудобно, ужасно быстро переполняется лог файл, зато для более детального анализа сети самое оно) или только первые байты от всяких ftp,telnet,pop3 и т.д. (это самое веселое, обычно примерно в первых 100 байтах содержится имя и пароль). Снифферов сейчас развелось... Множество снифферов есть как под Unix, так и под Windows (даже под DOS есть). Снифферы могут поддерживать только определенную ось (например linux_sniffer.c,который поддерживает Linux), либо несколько (например Sniffit, работает с BSD, Linux, Solaris). Снифферы так разжились из-за того, что пароли передаются по сети открытым текстом. Таких служб уйма. Это telnet, ftp, pop3, www и т.д. Этими службами пользуется уйма народу. После бума снифферов начали появляться различные алгоритмы шифрования этих протоколов. Появился SSH (альтернатива telnet, поддерживающий шифрование), SSL(Secure Socket Layer - разработка Netscape, способная зашифровать www сеанс). Появились всякие Kerberous, VPN(Virtual Private Network). Заюзались некие AntiSniff"ы, ifstatus"ы и т.д. Но это в корне не изменило положения. Службы, которые используют передачу пароля plain text"ом юзаются во всю. Поэтому сниффать еще долго будут.

Windows реализации снифферов

CommView - www.tamos.com
Довольно продвинутый сниффер производства TamoSoft. Можно установить свои правила на сниффинг (например игнорировать ICMP, а TCP сниффать, также кроме Internet протоколов имеется поддержка Ethernet протоколов, таких как ARP,SNMP,NOVELL и т.д.). Можно например сниффать только входящие пакеты, а остальные игнорить. Можно указать лог-файл для всех пакетов с лимитов размера в мегах. Имеет две tools"ы - Packet Generator и NIC Vendor Indentifier. Можно посмотреть все подробности посланных /полученных пакетов (например в TCP пакете можно просмотреть Source Port, Destination Port, Data length, Checksum, Sequence, Window, Ack, Flags, Urgent). Радует еще то, что она автоматически устанавливает CAPTURE драйвер. В общем тулза очень полезная для снифа, рекомендую всем.

SpyNet - packetstorm.securify.com
Довольно известный сниффер производства Laurentiu Nicula 2000. Обычные функции - перехват/декодинг пакетов. Хотя декодинг развит прикольно (можно например по пакетам воссоздавать странички, на которых побывал юзер!). В общем на любителя.

Analyzer - neworder.box.sk
Analyzer требует установку специального драйвера, вложенного в пакет (packet.inf, packet.sys). Можно посмотреть всю инфу о вашей сетевой карте. Также Analyzer поддерживает работу с командной строкой. Он прекрасно работает с локальной сетью. Имеет несколько утилит: ConvDump,GnuPlot,FlowsDet,Analisys Engine. Ничего выдающегося.

IRIS - www.eeye.com
IRIS продукт известной фирмы eEye. Представляет обширные возможности по фильтрации. Меня в нем сильно порадовало три фишки:
1.Protocol Distribution
2.Top hosts
3.Size Distribution
Также имеется Packet Decoder. Он поддерживает развитую систему логов. А доступные возможности фильтрации превосходят все снифферы обзора. Это Hardware Filter, который может ловить либо все пакеты (Promiscious), либо с различными ограничениями (например захватывать только multicast пакеты или broadcast пакеты, либо только Mac фреймы). Можно фильтровать по определенным MAC/IP адресам, по портам, по пакетам, содержащим определенные символы. В общем неплохой сниффак. Требует 50comupd.dll.

WinDUMP
Аналог TCPdump for Unix. Этот сниффак действует через командную строку и представляет минимальные возможности по конфигурации и еще требует библиотеку WinPcap. Мне не очень...

SniffitNT
Тоже требует WinPcap. Работа только как командной строкой, так и в интерактивном режиме. Со сложными опциями. Мне не очень.

ButtSniff
Обычный пакетный сниффер созданный известнейшей группой CDC(Cult of the Dead Cow). Фишка его в том, что его можно использовать, как плагин к BO(Очень полезно).Работа из командной строки.

Существуют еще множество снифферов, таких как NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и т.д. Пойдем дальне...

Unix"овые снифферы

Все снифферы данного обзора можно найти на packetstorm.securify.com.

Linsniffer
Это простой сниффер для перехвата логинов/паролей. Стандартная компиляция (gcc -o linsniffer linsniffer.c).
Логи пишет в tcp.log.

Linux_sniffer
Linux_sniffer требуется тогда, когда вы хотите детально изучить сеть. Стандартная компиляция. Выдает всякую шнягу дополнительно, типа isn, ack, syn, echo_request (ping) и т.д.

Sniffit
Sniffit - продвинутая модель сниффера написанная Brecht Claerhout. Install(нужна libcap):
#./configure
#make
Теперь запускаем сниффер:
#./sniffit
usage: ./sniffit [-xdabvnN] [-P proto] [-A char] [-p port] [(-r|-R) recordfile]
[-l sniflen] [-L logparam] [-F snifdevice] [-M plugin]
[-D tty] (-t | -s) | (-i|-I) | -c]
Plugins Available:
0 -- Dummy Plugin
1 -- DNS Plugin

Как видите, сниффит поддерживает множество опций. Можно использовать сниффак в интерактивном режиме. Сниффит хоть и довольно полезная прога, но я ей не пользуюсь. Почему? Потому что у Sniffit большие проблемы с защитой. Для Sniffit"a уже вышли ремоутный рут и дос для линукса и дебиана! Не каждый сниффер себе такое позволяет.

HUNT
Очень прост в обращении, поддерживает много прикольных фишек и на данный момент не имеет проблем с безопасностью. Плюс не особо требователен к библиотекам (как например linsniffer и Linux_sniffer). Он может в реальном времени перехватывать текущие соединения и под чистую дампить с удаленного терминала. Рекомендую всем для усиленного юзания.
Install:
#make
Run:
#hunt -i

READSMB
Сниффер READSMB вырезан из LophtCrack и портирован под Unix (как ни странно). Readsmb перехватывает SMB пакеты.

TCPDUMP
tcpdump - довольно известный анализатор пакетов. Написанный еще более известным челом - Вэн Якобсоном, который придумал VJ-сжатие для PPP и написал прогу traceroute (и кто знает что еще?). Требует библиотеку Libpcap.
Install:
#./configure
#make
Теперь запускаем ее:
#tcpdump
tcpdump: listening on ppp0
Все твои коннекты выводит на терминал. Вот пример вывода на пинг
ftp.technotronic.com:
02:03:08.918959 195.170.212.151.1039 > 195.170.212.77.domain: 60946+ A?
ftp.technotronic.com. (38)
02:03:09.456780 195.170.212.77.domain > 195.170.212.151.1039: 60946* 1/3/3 (165)
02:03:09.459421 195.170.212.151 >
02:03:09.996780 209.100.46.7 >
02:03:10.456864 195.170.212.151 > 209.100.46.7: icmp: echo request
02:03:10.906779 209.100.46.7 > 195.170.212.151: icmp: echo reply
02:03:11.456846 195.170.212.151 > 209.100.46.7: icmp: echo request
02:03:11.966786 209.100.46.7 > 195.170.212.151: icmp: echo reply
В общем, снифф полезен для отладки сетей, нахождения неисправностей и т.д.

Dsniff
Dsniff требует libpcap, ibnet, libnids и OpenSSH. Записывает только введенные команды, что очень удобно. Вот пример лога коннекта на unix-shells.com:

02/18/01 03:58:04 tcp my.ip.1501 -> handi4-145-253-158-170.arcor-ip.net.23
(telnet)
stalsen
asdqwe123
ls
pwd
who
last
exit

Вот dsniff перехватил логин с паролем (stalsen/asdqwe123).
Install:
#./configure
#make
#make install

Защита от снифферов

Самый верный способ защиты от снифферов - использовать ШИФРОВАНИЕ (SSH, Kerberous, VPN, S/Key, S/MIME, SHTTP, SSL и т.д.). Ну а если не охота отказываться от plain text служб и установления дополнительных пакетов? Тогда пора юзать антиснифферские пекеты...

AntiSniff for Windows
Этот продукт выпустила известная группа Lopht. Это был первый продукт в своем роде. AntiSniff, как сказано в описании:
"AntiSniff is a Graphical User Interface (GUI) driven tool for detecting promiscuous Network Interface Cards (NICs) on your local network segment". В общем, ловит карты в promisc режиме. Поддерживает огромное количество тестов (DNS test, ARP test, Ping Test, ICMP Time Delta Test, Echo Test, PingDrop test). Можно сканить как одну машину, так и сетку. Здесь имеется поддержка логов. AntiSniff работает на win95/98/NT/2000, хотя рекомендуемая платформа NT. Но царствование его было недолгим и уже в скором времени появился сниффер под названием AntiAntiSniffer, написанный Майком Перри (Mike Perry) (найти его можно по адресу www.void.ru/news/9908/snoof.txt).Он основан на LinSniffer (рассмотренный далее).

Unix sniffer detect:
Сниффер можно обнаружить командой:
#ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2373 errors:0 dropped:0 overruns:0 frame:0
TX packets:2373 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

Ppp0 Link encapoint-to-Point Protocol
inet addr:195.170.y.x P-t-P:195.170.y.x Mask:255.255.255.255
UP POINTOPOINT PROMISC RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3281 errors:74 dropped:0 overruns:0 frame:74
TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10

Как видите интерфейс ppp0 стоит в PROMISC mode. Либо оператор загрузил снифф для проверки сети, либо вас уже имеют... Но помните, что ifconfig можно спокойно подменить, поэтому юзайте tripwire для обнаружения изменений и всяческие проги для проверки на сниффы.

AntiSniff for Unix.
Работает на BSD, Solaris и Linux. Поддерживает ping/icmp time test, arp test, echo test, dns test, etherping test, в общем аналог AntiSniff"а для Win, только для Unix.
Install:
#make linux-all

Sentinel
Тоже полезная прога для отлова снифферов. Поддерживает множество тестов. Проста в использовании.
Install: #make
#./sentinel
./sentinel [-t ]
Methods:
[ -a ARP test ]
[ -d DNS test ]
[ -i ICMP Ping Latency test ]
[ -e ICMP Etherping test ]
Options:
[ -f ]
[ -v Show version and exit ]
[ -n ]
[ -I ]

Опции настолько просты, что no comments.

Вот еще несколько утилит для проверки вашей сети(for Unix):
packetstorm.securify.com/UNIX/IDS/scanpromisc.c -ремоутный детектор PROMISC mode для ethernet карт (for red hat 5.x).
http://packetstorm.securify.com/UNIX/IDS/neped.c - Network Promiscuous Ethernet Detector (нужно libcap & Glibc).
http://packetstorm.securify.com/Exploit_Code_Archive/promisc.c -сканирует девайсы системы на детект сниффов.
http://packetstorm.securify.com/UNIX/IDS/ifstatus2.2.tar.gz - ifstatus тестит сетевые интерфейсы в PROMISC mode.

Когда обычный пользователь слышит термин «сниффер», он сразу же начинает интересоваться тем, что это такое и зачем оно нужно.

Мы постараемся объяснить все простым языком.

Впрочем, данная статья будет предназначена не только для начинающих юзеров, но и для .

Определение

Сниффер – это анализатор трафика. В свою очередь, трафик – это вся информация, которая проходит через компьютерные сети.

Этот анализатор смотрит, какая информация передается. Для этого ее необходимо перехватить. Фактически, это незаконная вещь, ведь таким образом люди часто получают доступ к чужим данным.

Это можно сравнить с ограблением поезда – классический сюжет большинства вестернов.

Вы передаете какую-то информацию другому пользователю. Ее везет «поезд», то есть сетевой канал.

Придурки из банды кровавого Джо перехватывают состав и грабят его до нитки. В нашем случае информация идет дальше, то есть злоумышленники не крадут ее в прямом смысле этого слова.

Но, допустим, что эта информация представляет собой пароли, личные записи, фотографии и тому подобное.

Злоумышленники могут просто переписать и сфотографировать все это. Таким образом они получат доступ к секретным данным, которые вы хотели бы скрыть.

Да, у вас будет вся эта информация, она к вам дойдет.

Но вы будете знать, что все то же самое знают и совершенно посторонние люди. А ведь в XXI веке больше всего ценится именно информация!

В нашем случае используется именно такой принцип. Определенные люди останавливают трафик, считывают с него данные и отсылают их дальше.

Правда, в случае со снифферами все не всегда так страшно. Они используются не только для того, чтобы получать несанкционированный доступ к данным, а еще и для анализа самого трафика. Это важная часть работ сисадминов и просто админов различных и ресурсов. О применении стоит поговорить более подробно. Но перед этим мы затронем то, как работают эти самые снифферы.

Принцип работы

На практике снифферы могут являть собой портативные устройства, которые в буквальном смысле ставятся на кабель и считывают с него данные, а также программы.

В некоторых случаях это просто набор инструкций, то есть кодов, которые необходимо вводить в определенной последовательности и в определенной среде программирования.

Если более детально, что перехват трафика такими устройствами может считываться одним из следующих способов:

1 Путем установки концентраторов вместо коммутаторов. В принципе, прослушивание сетевого интерфейса можно выполнять и другими способами, но все они малоэффективны.

2 Подключением буквального сниффера в место разрыва канала. Это именно то, о чем шла речь выше – и ставится небольшое устройство, которое и считывает все, что движется по каналу.

3 Установкой ответвления от трафика. Это ответвление направляется на какое-то другое устройство, возможно, расшифровывается и направляется пользователю.

4 Атакой, целью которой является полное перенаправление трафика в сниффер. Конечно же, после попадания информации на считывающее устройство, она опять отправляется конечному пользователю, которому изначально и предназначалась. в чистом виде!

5 Путем анализа электромагнитных излучений , которые возникают из-за движения трафика. Это самый сложный и редко используемый метод.

Вот примерная схема работы второго способа.

Правда, здесь показано, что считывающее устройство просто подключается к кабелю.

На самом же деле сделать это таким образом практически нереально.

Дело в том, что конечный пользователь все равно заметит, что в каком-то месте имеет место разрыв канала.

Сам принцип работы обычного сниффера основывается на том, что в рамках одного сегмента рассылаются всем подключенным машинам. Достаточно глупый, но пока безальтернативный метод! А между сегментами данные передаются при помощи коммутаторов. Вот здесь и появляется возможность перехвата информации одним из вышеперечисленных способов.

Собственно, это и называется кибератаками и хаккерством!

Кстати, если грамотно установить эти самые коммутаторы, то можно полностью защитить сегмент от всевозможных кибератак.

Существуют и другие методы защиты, о которых мы еще поговорим в самом конце.

Применение

Разумеется, в первую очередь, данное понятие имеет то применение, о котором шла речь выше, то есть хаккерские атаки и незаконное получение пользовательских данных.

Но кроме этого, снифферы используют и в других сферах, а конкретно, в работе системных администраторов.

В частности, такие приспособления или программы помогают выполнить такие задачи:

Как видим, рассматриваемые нами приспособления или программы способны очень сильно облегчить работу системных администраторов и других людей, которые пользуются сетями. А это все мы.

Теперь переходим к самому интересному – обзору программ-снифферов.

Выше мы разобрались, что они могут быть выполнены в виде физических приспособлений, но в большинстве случаев используются специальные .

Их изучением и займемся.

Программы-сниферы

Вот список наиболее популярных таких программ:

CommView . Программа платная, как и все остальных в нашем списке. Одна минимальная лицензия стоит 300 долларов. Зато функционал у ПО богатейший. Первое, что стоит отметить, так это возможность самостоятельной установки правил . К примеру, можно сделать так, чтобы (это протоколы) полностью игнорировались. Примечательно также, что программа позволяет просматривать детали и лог всех пересылаемых пакетов. Существует обычная версия и версия для Wi-Fi .

SpyNet. Это, фактически, троян, от которых мы все так устали. Но он может использоваться и в благородных целях, о которых мы говорили выше. Программа выполняет перехват и , которые есть в трафике. Есть множество необычных функций. К примеру, можно воссоздавать страницы в интернете, на которых побывала «жертва». Примечательно, что это ПО бесплатное, но найти его достаточно непросто.

BUTTSniffer. Это сниффер в чистом виде, который помогает анализировать сетевые пакеты, а не перехватывать чужие пароли и историю браузера. По крайней мере, так думал ее автор. На самом же деле его творение используется сами понимаете для чего. Это обычная пакетная программа, которая работает через командную строку. Для начала использования загружаются и запускаются два файла. «Захваченные» пакеты сохраняются на жестком диске, что очень удобно.

Существует множество других программ-снифферов. К примеру, известны fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и многие другие. Выбирайте любую! Но, справедливости ради стоит отметить, что лучшая – CommView.

Итак, мы разобрали, что такое снифферы, как они работают и какие бывают.

Теперь перейдем с места хакера или сисадмина на место обычного юзера.

Мы прекрасно понимаем, что наши данные могут украсть. Что же делать, чтобы этого не произошло?



Загрузка...