Тарифы Услуги Сим-карты

Особенности применения снифферов. Сниффер – что это такое и зачем он нужен

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

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

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

Определение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Применение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Снифферы полезны для диагностики сети(для админов) и для перехвата паролей (понятно для кого). Например если ты получил доступ к одной сетевой машине и установил там сниффер, то скоро все пароли от их подсети будут твои. Снифферы ставят сетевую карту в прослушивающий режим (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.

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

E-mail [email protected]
WhatsApp +19299995773 (только чат, без звонков)
(Без выходных с 09:00 до 21:00 мск)

Особенности применения снифферов

Любое слежение онлайн основано на применении технологий снифферов (анализаторов сетевых пакетов). Что же такое сниффер?

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


Нюансы применения онлайн слежения через снифферы.

На широковещательном канале компьютерной сети пользователя LAN (Local Area Network), в зависимости от структуры сети (коммутатора switch или концентратора hub), снифферы перехватывают трафик либо всей, либо части сети исходящий с одного ноутбука, компьютера. Однако, применяя различные методы (например, ARP spoofing) можно добиться интернет-трафика и других компьютерных систем, подключенных в сеть.

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

Использование сетевых отводов (Network tap), в некоторых случаях, является более надежным способом слежения онлайн за интернет-трафиком чем мониторинг портов. При этом, вероятность обнаружения неисправных пакетов (потоков) увеличивается, что положительно сказывается при высокой сетевой нагрузке.
Помимо этого, снифферы хорошо отслеживают и беспроводные одно- и многоканальные локальные сети (так называемые Wireless LAN) при использовании нескольких адаптеров.

На LAN сетях сниффер может эффективно перехватывать трафик как односторонний (передача пакета информации по единственному адресу), так и многоадресный. При этом, сетевой адаптер должен иметь promiscuous mode (режим «неразборчивый»).

На беспроводных же сетях, даже когда адаптер находится в «неразборчивом» режиме, пакеты данных, перенаправляющиеся не с настроенной (основной) системы, будут автоматически проигнорированы. Чтобы отслеживать данные информационные пакеты, адаптер должен находится в ином режиме – мониторинга.


Последовательность перехвата информационных пакетов.

1. Перехват заголовков или всего содержимого.

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


2. Декодирование пакетов.

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

Анализаторы различаются по:

  • способности отображения данных (создание временных диаграмм, реконструирование UDP, TCP протоколов данных и пр.);
  • типу применения (для обнаружения ошибок, первопричин либо для слежения онлайн за пользователями).

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


Аппаратные снифферы.


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


Методы применения.

Анализаторы сетевых пакетов применяются для:

  • анализа имеющихся проблем в сети;
  • обнаружения сетевых попыток вторжения;
  • определения злоупотребления трафика пользователями (внутри системы так и снаружи нее);
  • документирования нормативных требований (возможного периметра входа в систему, конечных точек распространения трафика);
  • получения информации о возможностях сетевого вторжения;
  • изолирования эксплуатируемых систем;
  • мониторинга загрузки каналов глобальной сети;
  • использования для отслеживания состояния сети (в том числе деятельность пользователей как в системе, так и за ее пределами);
  • мониторинга перемещаемых данных;
  • отслеживания WAN и безопасности конечных точек состояния;
  • сбора сетевой статистики;
  • фильтрации подозрительного контента, идущего от сетевого трафика;
  • создания первичного источника данных для отслеживания состояния и управления сети;
  • слежения онлайн в качестве шпиона, собирающего конфиденциальную информацию пользователей;
  • отладки серверной, клиентской связи;
  • проверки эффективности внутреннего контроля (контроля доступа, брандмауэров, фильтров спама и пр.).

Снифферы применяются и в правоохранительных органах для отслеживания деятельности подозреваемых злоумышленников. Заметим, что все поставщики услуг интернета, и провайдеры в США и странах Европы соблюдают законы и правила о прослушивании (CALEA).


Популярные снифферы.

Наиболее функциональные системные анализаторы для слежения онлайн:


Шпионская программа NeoSpy, основная деятельность которой слежение онлайн за действиями пользователей включает помимо универсального программного кода сниффера, коды кейлоггеров (клавиатурных шпионов) и иных систем скрытого слежения.


Акция! Скидка 10% за лайк вконтакте!

Нажмите "Мне нравится" и получите 10% скидку на любую версию NeoSpy для ПК.

2) Нажмите кнопку "Мне нравится" и "Рассказать друзьям" внизу главной страницы;

3) Перейдите на страницу покупки , выберите версию и нажмите "Купить";

4) Введите ваш ID вконтакте в поле "Скидочный купон", например, ваш id - 1234567, в этом случае в поле нужно ввести "id1234567" без кавычек.
Необходимо ввести именно ID страницы, а не короткий текстовый адрес.

Чтобы увидеть свой ID, зайдите в свои

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

Принципы работы пакетных снифферов

Дальнейшем в рамках данной статьи мы будем рассматривать только программные снифферы, предназначенные для сетей Ethernet. Сниффер — это программа, которая работает на уровне сетевого адаптера NIC (Network Interface Card) (канальный уровень) и скрытым образом перехватывает весь трафик. Поскольку снифферы работают на канальном уровне модели OSI, они не должны играть по правилам протоколов более высокого уровня. Снифферы обходят механизмы фильтрации (адреса, порты и т.д.), которые драйверы Ethernet и стек TCP/IP используют для интерпретации данных. Пакетные снифферы захватывают из провода все, что по нему приходит. Снифферы могут сохранять кадры в двоичном формате и позже расшифровывать их, чтобы раскрыть информацию более высокого уровня, спрятанную внутри (рис. 1).

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

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

Ограничения использования снифферов

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

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

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

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

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

Другая причина, по которой снифферы перестали быть настолько опасными, как раньше, заключается в том, что в настоящее время наиболее важные данные передаются в зашифрованном виде. Открытые, незашифрованные службы быстро исчезают из Интернета. К примеру, при посещении web-сайтов все чаще используется протокол SSL (Secure Sockets Layer); вместо открытого FTP используется SFTP (Secure FTP), а для других служб, которые не применяют шифрование по умолчанию, все чаще используются виртуальные частные сети (VPN).

Итак, те, кто беспокоится о возможности злонамеренного применения пакетных снифферов, должны иметь в виду следующее. Во-первых, чтобы представлять серьезную угрозу для вашей сети, снифферы должны находиться внутри самой сети. Во-вторых, сегодняшние стандарты шифрования чрезвычайно затрудняют процесс перехвата конфиденциальной информации. Поэтому в настоящее время пакетные снифферы постепенно утрачивают свою актуальность в качестве инструментов хакеров, но в то же время остаются действенным и мощным средством для диагностирования сетей. Более того, снифферы могут с успехом использоваться не только для диагностики и локализации сетевых проблем, но и для аудита сетевой безопасности. В частности, применение пакетных анализаторов позволяет обнаружить несанкционированный трафик, обнаружить и идентифицировать несанкционированное программное обеспечение, идентифицировать неиспользуемые протоколы для удаления их из сети, осуществлять генерацию трафика для испытания на вторжение (penetration test) с целью проверки системы защиты, работать с системами обнаружения вторжений (Intrusion Detection System, IDS).

Обзор программных пакетных снифферов

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

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

Практически все пакетные снифферы позволяют производить анализ декодированных пакетов (именно поэтому пакетные снифферы также называют пакетными анализаторами, или протокольными анализаторами). Сниффер распределяет перехваченные пакеты по уровням и протоколам. Некоторые анализаторы пакетов способны распознавать протокол и отображать перехваченную информацию. Этот тип информации обычно отображается во второй области окна сниффера. К примеру, любой сниффер способен распознавать протокол TCP, а продвинутые снифферы умеют определять, каким приложением порожден данный трафик. Большинство анализаторов протоколов распознают свыше 500 различных протоколов и умеют описывать и декодировать их по именам. Чем больше информации в состоянии декодировать и представить на экране сниффер, тем меньше придется декодировать вручную.

Одна из проблем, с которой могут сталкиваться анализаторы пакетов, — невозможность корректной идентификации протокола, использующего порт, отличный от порта по умолчанию. К примеру, с целью повышения безопасности некоторые известные приложения могут настраиваться на применение портов, отличных от портов по умолчанию. Так, вместо традиционного порта 80, зарезервированного для web-сервера, данный сервер можно принудительно перенастроить на порт 8088 или на любой другой. Некоторые анализаторы пакетов в подобной ситуации не способны корректно определить протокол и отображают лишь информацию о протоколе нижнего уровня (TCP или UDP).

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

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

Что такое Intercepter-NG

Рассмотрим суть функционирования ARP на простом примере. Компьютер А (IP-адрес 10.0.0.1) и компьютер Б (IP-адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP-адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC-адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 10.22.22.2, сообщите свой MAC-адрес компьютеру с МАС-адресом (напр. a0:ea:d1:11:f1:01)». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC-адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

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

Как мы только что увидели, ARP включает в себя запрос и ответ. MAC-адрес из ответа записывается в таблицу MAC/IP. При получении ответа он никак не проверяется на подлинность. Более того, даже не проверяется, был ли сделан запрос. Т.е. на целевые устройства можно прислать сразу ARP-ответ (даже без запроса), с подменёнными данными, и эти данные попадут в таблицу MAC/IP и они будут использоваться для передачи данных. Это и есть суть атаки ARP-spoofing , которую иногда называют ARP травлением, травлением ARP кэша.

Описание атаки ARP-spoofing

Два компьютера(узла) M и N в локальной сети Ethernet обмениваются сообщениями. Злоумышленник X, находящийся в этой же сети, хочет перехватывать сообщения между этими узлами. До применения атаки ARP-spoofing на сетевом интерфейсе узла M ARP-таблица содержит IP и MAC адрес узла N. Также на сетевом интерфейсе узла N ARP-таблица содержит IP и MAC узла M.

Во время атаки ARP-spoofing узел X (злоумышленник) отсылает два ARP ответа (без запроса) - узлу M и узлу N. ARP-ответ узлу M содержит IP-адрес N и MAC-адрес X. ARP-ответ узлу N содержит IP адрес M и MAC-адрес X.

Так как компьютеры M и N поддерживают самопроизвольный ARP, то, после получения ARP-ответа, они изменяют свои ARP таблицы, и теперь ARP-таблица M содержит MAC адрес X, привязанный к IP-адресу N, а ARP-таблица N содержит MAC адрес X, привязанный к IP-адресу M.

Тем самым атака ARP-spoofing выполнена, и теперь все пакеты(кадры) между M и N проходят через X. К примеру, если M хочет передать пакет компьютеру N, то M смотрит в свою ARP-таблицу, находит запись с IP-адресом узла N, выбирает оттуда MAC-адрес (а там уже MAC-адрес узла X) и передает пакет. Пакет поступает на интерфейс X, анализируется им, после чего перенаправляется узлу N.