Ettercap: универсальный анализатор трафика
Программа замышлялась как анализатор трафика для коммутируемых ЛВС, но со временем превратилась в универсальное средство перехвата, анализа и регистрации сетевых пакетов. Она может работать в сетях с коммутаторами и концентраторами и имеет много необычных свойств. В частности, поддерживается как активный, так и пассивный анализ большого числа сетевых протоколов, в том числе тех, в которых применяется шифрование. Имеются средства анализа топологии сети и выявления инсталлированных операционных систем.
Для достижения своих целей программа Ettercap использует 5 различных методов анализа: IP- и МАС-фильтрация, ARP-перехват и две разновидности последнего — Smart-ARP и Public-ARP.
В режиме IP-фильтрации пакеты проверяются на соответствие комбинации IP-адрес/порт (отправителя и получателя). В режиме МАС-фильтрации проверяются МАС-адреса отправителя и получателя (это удобно при установлении соединений через шлюз). В режиме ARP-перехвата осуществляется атака типа «незаметный посредник» на выбранные два узла коммутируемой сети. Это реализуется путем намеренного искажения ARP-кэша узлов, вызывающего автоматическую переадресацию трафика. Режимы Smart-ARP и Public-ARP реализуются похожим образом, но их цель — перехват трафика между узлом-«жертвой» и всеми остальными узлами. В первом случае задается список узлов, во втором — программа посылает широковещательные ARP-пакеты.
- умеет модифицировать проходящие пакеты (в обоих направлениях);
- умеет анализировать соединения протоколов SSH1 и HTTPS (даже если соединение устанавливается через прокси-сервер);
- умеет подключать внешние модули;
- умеет расшифровывать имена пользователей и пароли для большого числа сетевых протоколов (включая Telnet, FTP, POP, SSH1, SMB, LDAP, NFS, IMAP4, VNC и многие другие);
- умеет добавлять и удалять пакеты в рамках сеанса;
- умеет пассивно сканировать сеть (не посылая пакеты) и уничтожать соединения.
Программа не требует начального конфигурирования. Можно задать все необходимые опции в командной строке либо подключить внешний конфигурационный файл.
При запуске программа посылает ARP-запрос для каждого IP-адреса в локальной сети. Список возможных IP-адресов определяется путем анализа собственного адреса и маски, а при получении ARP-ответов создается список узлов, функционирующих в сети. Следует быть осторожным, если сетевая маска задает сеть класса В (255.255.0.0), так как в этом случае программа вынуждена будет послать 65025 запросов. На их обработку уйдет немало времени, и к тому же такая деятельность может быть быстро обнаружена.
Программу можно использовать в двух режимах: интерактивном (графическом) и неинтерактивном. Графический интерфейс программы основан на библиотеке ncurses. Неинтерактивный режим полезен, если программа вызывается из сценария для фонового сбора данных.
# ettercap [опции][IP-получатель:порт][IP-отправитель:порт][МАС-получатель][МАС-отправитель]
Далее рассмотрим опции программы, но более подробно они описаны на man-странице программы.
-a, —arpsniff ARP-перехват
-s, —sniff IP-фильтрация
-m, —macsniff MAC-фильтрация
-N, —simple — неинтерактивный режим.
-z, —silent — «бесшумный» режим (без массовых ARP-запросов при запуске).
-О, —passive — пассивный сбор информации.
-b, —broadping — использование широковещательных ping-запросов вместо ARP-запросов.
-D, —delay <секунды> — задает задержку (в секундах) между двумя ARP-ответами.
-Z, —stormdelay <микросекунды> — задает задержку (в микросекундах) между ARP-запросами в ходе начального «вторжения» в сеть.
-S, —spoof <IP—aдpec> — задает поддельный IP-адрес, используемый при сканировании сети.
-H, —hosts <IP-aдрес1 [,IP-aдpec2] . . .> — задает узлы, сканируемые при запуске.
-d, —dontresolve — не преобразовывать IP-адреса в доменные имена при запуске.
-i, —ifасе <интерфейс> — задает интерфейс для сканирования.
-n, —netmask <маска> — задает маску, определяющую сеть для сканирования.
-e, —etterconf <файл> — задает конфигурационный файл, из которого читаются опции командной строки.
-t, —linktype — заставляет программу проверить, имеется ли в сети коммутатор.
-j, —loadhosts <файл> — задает файл, из которого загружается список узлов.
-k, —savehosts — сохранение списка узлов в файле.
-v, —version — заставляет программу проверить наличие обновленной версии Ettercap.
-h, —help — вывод синтаксической справки.
-u, —udp — перехватывать только UDP-пакеты.
-R, —reverse — анализ всех соединений, кроме того, которое задано в командной строке.
-О, —passive — режим пассивного сканирования.
-р, —plugin <модуль> — запуск внешнего подключаемого модуля.
-l, —list — получение списка всех узлов локальной сети.
-С, —collect — получение списка всех учетных записей и паролей узлов, заданных в командной строке.
-f, —fingerprint <узел> — анализ типа операционной системы для заданного узла.
-x,—hexview — отображение данных в шестнадцатеричном виде.
-L, —logtofile — запись данных в журнальный файл.
-q, —quiet — запуск в фоновом режиме.
-w, —newcert — создание нового файла сертификата для атаки типа «незаметный посредник» на сеансы HTTPS.
-F, —filter <файл> — загрузка правил фильтрации из указанного файла.
-с, —check — заставляет программу проверить, не пытается ли кто-то другой перехватить ее собственный трафик.
При вызове программы без опций (точнее, без опции -N) она запускается в интерактивном режиме. Окно программы разделено на три части. В верхней части отображается диаграмма соединения с указанием двух взаимодействующих узлов (первоначально эта часть окна может быть пустой). В средней части окна приводится список узлов, найденных в локальной сети. Точнее говоря, отображаются два одинаковых списка, из которых можно выбрать два узла для создания диаграммы соединения. Чтобы выбрать узел в левой колонке, переместите на него курсор и нажмите <Enter>. Затем нажмите <Таb> для перехода в правую колонку и повторите процедуру. В результате в верхней части окна появится диаграмма соединения, а в средней части отобразится список соединений, установленных в данный момент между двумя узлами, с указанием портов отправителя и получателя, как видно на рисунке ниже.
В нижней части окна отображается дополнительная информация о выбранных узлах. Чтобы получить список доступных команд, нажмите <h>, в результате чего появится окно справки.0
После того как соединение взято под контроль, можно приступать к анализу данных. Разрешается направлять перехваченные данные в файл, вмешиваться в ход сеанса и выполнять множество других задач, включая уничтожение сеанса.
Приведем ряд примеров, демонстрирующих особенности запуска программы Ettercap. В первом примере программа запускается в интерактивном режиме и осуществляет пассивный сбор данных:
Во втором примере программа запускается в фоновом режиме и осуществляет пассивный сбор данных, одновременно записывая их в журнальный файл:
В следующем примере программа применяет правила фильтрации, заданные в файле etter.filter, для анализа соединения между узлами 192.168.1.10 и 192.168.1.47:
В четвертом примере программа перехватывает все соединения между узлом maureen и другими узлами сети, кроме telnet-соединения с локальным узлом nanoo:
Следующая команда выдает список всех узлов локальной сети и проверяет, не пытается ли кто-нибудь перехватывать трафик локальной системы. Если в сети обнаружится еще один «игрок», программа сообщит его IP-адрес. Кроме того, программа проверяет наличие коммутатора.
В последнем примере программа собирает все имена пользователей и пароли в сети и записывает их в журнальный файл (создается динамически). Это возможно только в том случае, если компьютеры сети подключены к концентратору.
Программу можно скачать с ettercap.sourceforge.net. Доступная версия NG-0.7 (ettercap-NG-0.7.3.tar.gz (см. ettercap.sourceforge.net)).
Постовой:
Бесплатные программы для SEO анализа (см. www.dinnel.biz) и продвижения сайтов.
Твитнуть
Программка полезная и интересная,теперь осталось решить куда применить
Большое спасибо за очень подробное описание. Будем пользоваться.
Спасибки! Судя по описанию штучка полезная, буду пробовать!