special

Снифферы

Снифферы
Сниффер Wireshark (в прошлом Ethereal)

Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — программа или устройство для перехвата и анализа сетевого трафика (своего и/или чужого).

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

Перехват трафика может осуществляться:

  • обычным «прослушиванием» сетевого интерфейса (метод эффективен при использовании в сегменте концентраторов (хабов) вместо коммутаторов (свитчей), в противном случае метод малоэффективен, поскольку на сниффер попадают лишь отдельные фреймы);
  • подключением сниффера в разрыв канала;
  • ответвлением (программным или аппаратным) трафика и направлением его копии на сниффер (Network tap);
  • через анализ побочных электромагнитных излучений и восстановление таким образом прослушиваемого трафика;
  • через атаку на канальном (2) (MAC-spoofing) или сетевом (3) уровне (IP-spoofing), приводящую к перенаправлению трафика жертвы или всего трафика сегмента на сниффер с последующим возвращением трафика в надлежащий адрес.

Содержание статьи

Снифферы — это проги, которые перехватывают весь сетевой трафик. Снифферы полезны для диагностики сети (для админов) и для перехвата паролей (понятно для кого:)). Например если ты получил доступ к одной сетевой машине и установил там сниффер, то скоро все пароли от их подсети будут твои. Снифферы ставят сетевую карту в прослушивающий режим (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<Target IP> | -s<Source IP>) | (-i|-I) | -c<config file>]
Plugins Available:
0 — Dummy Plugin
1 — DNS Plugin

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

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

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 [method] [-t <target ip>] [options]
Methods:
[ -a ARP test ]
[ -d DNS test ]
[ -i ICMP Ping Latency test ]
[ -e ICMP Etherping test ]
Options:
[ -f <non-existant host> ]
[ -v Show version and exit ]
[ -n <number of packets/seconds> ]
[ -I <device> ]

Опции настолько просты, что 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.

Via xakep.ru


Дата створення/оновлення: 25.05.2018

';