Снифферы. Пишем простой сниффер под Windows. Их изучением и займемся

  • 06.05.2019

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

Сниффер: что такое sniffer с точки зрения английского языка и компьютерной техники?

На самом деле определить сущность такого программного или программно-аппаратного комплекса вовсе несложно, если просто перевести термин.

Это название происходит от английского слова sniff (нюхать). Отсюда и значение русскоязычного термина «сниффер». Что такое sniffer в нашем понимании? «Нюхач», способный отслеживать использование сетевого трафика, а, проще говоря, шпион, который может вмешиваться в работу локальных или интернет-ориентированных сетей, извлекая нужную ему информацию на основе доступа через протоколы передачи данных TCP/IP.

Анализатор трафика: как это работает?

Оговоримся сразу: сниффер, будь он программным или условно-программным компонентом, способен анализировать и перехватывать трафик (передаваемые и принимаемые данные) исключительно через сетевые карты (Ethernet). Что получается?

Сетевой интерфейс не всегда оказывается защищенным файрволлом (опять же - программным или «железным»), а потому перехват передаваемых или принимаемых данных становится всего лишь делом техники.

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

Благие намерения и злоумышленные цели?

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

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

Виды снифферов

Но и по видам их можно разделить на несколько основных:

  • аппаратные;
  • программные;
  • аппаратно-программные;
  • онлайн-апплеты.

Поведенческое определение присутствия сниффера в сети

Обнаружить тот же сниффер WiFi можно по нагрузке на сеть. Если видно, что передача данных или соединение находится не на том уровне, какой заявляется провайдером (или позволяет роутер), следует обратить на это внимание сразу.

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

Онлайн-ресурсы

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

Наивные пользователи кликают по указанной гиперссылке, в результате чего активируется опознавание и передача внешнего IP-адреса злоумышленнику. При наличии соответствующего приложения он сможет не только просмотреть все данные, хранимые на компьютере, но и с легкостью поменять настройки системы извне, о чем локальный пользователь даже не догадается, приняв такое изменение за воздействие вируса. Да вот только сканер при проверке выдаст ноль угроз.

Как защититься от перехвата данных?

Будь то сниффер WiFi или любой другой анализатор, системы защиты от несанкционированного сканирования трафика все же есть. Условие одно: их нужно устанавливать только при условии полной уверенности в «прослушке».

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

Отсюда законный вопрос: а стоит и устанавливать такое ПО? Быть может, его взлом со стороны хакеров нанесет еще больший вред, или оно само заблокирует то, что должно работать?

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

Вместо послесловия

Вот и все, что касается понятия «сниффер». Что такое sniffer, думается, уже многие сообразили. Напоследок вопрос остается в другом: насколько правильно такие вещи будет использовать рядовой пользователь? А то ведь среди юных юзеров иногда можно заметить склонность к компьютерному хулиганству. Они-то думают, что взломать чужой «комп» - это что-то вроде интересного соревнования или самоутверждения. К сожалению, никто из них даже не задумывается о последствиях, а ведь определить злоумышленника, использующего тот же онлайн-сниффер, очень просто по его внешнему IP, например, на сайте WhoIs. В качестве местоположения, правда, будет указана локация провайдера, тем не менее, страна и город определятся точно. Ну а потом дело за малым: либо звонок провайдеру с целью блокировки терминала, с которого производился несанкционированный доступ, либо подсудное дело. Выводы делайте сами.

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

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

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). Он
может в реальном времени перехватывать текущие соединения и под
чистую дампить с удаленного терминала. В
общем, Hijack
rulezzz:). Рекомендую
всем для усиленного юзания:).
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 > 209.100.46.7: icmp: echo
request
02:03:09.996780 209.100.46.7 > 195.170.212.151: icmp: echo
reply
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
encap:Point-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.

MORE

Вот еще несколько
утилит для проверки вашей сети(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.

Что такое 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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