Невеликий огляд сніферів
Сніфери – це проги, які перехоплюють весь мережевий трафік. Сніфери корисні для діагностики мережі (для адмінів) та для перехоплення паролів (зрозуміло для кого:)). Наприклад, якщо ти отримав доступ до однієї мережевої машини і встановив там сніффер, то скоро всі паролі від їхньої підмережі будуть твої. Сніфери ставлять мережеву карту в режим прослуховування (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 реалізації сніферів
SpyNet - packetstorm.securify.com Досить відомий сніффер виробництва Laurentiu Nicula 2000:). Звичайні функції – перехоплення/декодинг пакетів. Хоча декодинг розвинений прикольно (можна наприклад по пакетах відтворювати сторінки, на яких побував користувач!). Загалом на любителя:).
Analyzer - neworder.box.sk Analyzer вимагає встановлення спеціального драйвера, вкладеного в пакет (packet.inf, packet.sys). Можна подивитися всю інформацію про вашу мережеву карту. Також Analyzer підтримує роботу з командним рядком. Він чудово працює з локальною мережею. Має кілька утиліт: ConvDump, GnuPlot, FlowsDet, Analisys Engine. Нічого видатного.
WinDUMP Аналог TCPdump for Unix. Цей сніффак діє через командний рядок і представляє мінімальні можливості конфігурації і вимагає бібліотеку WinPcap. Мені не дуже.
SniffitNT Тож вимагає WinPcap. Робота тільки як командним рядком, так і в інтерактивному режимі. Зі складними опціями. Мені не дуже.
ButtSniff Звичайний пакетний сніфер створений найвідомішою групою CDC(Cult of the Dead Cow). Фішка його в тому, що його можна використовувати як плагін до BO:) (Дуже корисно:)). Робота з командного рядка.
Існує ще безліч сніферів, таких як NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer і т.д. Ходімо далеко.
Усі сніфери цього огляду можна знайти на 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 ] Плагини Доступні: 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.918959195.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 служб та встановлення додаткових пакетів:)? Тоді настав час юзати антисніферські пекети.
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 пакетів:2373 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen: 0
ppp0 Link encap:Point-to-Point Protocol inetaddr: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 пакетів:3484 errors:0 6>TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10
Як бачите інтерфейс ppp0 стоїть у PROMISC mode. Або оператор завантажив сніф для перевірки мережі або вас вже мають. Але пам'ятайте, що якщоconfig можна спокійно підмінити, тому юзайте tripwire для виявлення змін і всілякі проги для перевірки на сніффи.
AntiSniff for Unix. Працює на BSD, Solaris і Linux. Install: #make linux-all
Sentinel Теж корисна прога для вилову сніферів. Підтримує багато тестів. Проста у використанні. Install : #make #./sentinel ./sentinel [method] [-t ] [options] 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 ]