This page has been robot translated, sorry for typos if any. Original content here.

Сніффери

Снифферы
Сніффер 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 3: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.yx PtP:195.170.yx 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