В данной статье представлен краткий гайд по установке и применению ettercap.

Дисклеймер: Информация, представленная в данной статье, предназначена исключительно для образовательных целей и использования в рамках легальных тестов на проникновение.

Наш телеграмм канал

Ettercap — это многофункциональный фреймворк для тестирования безопасности локальных сетей. Он предназначен для выполнения MITM атак , перехвата трафика, анализа протоколов и внедрения данных в сетевой поток.

Содержание

  1. Установка

  2. Интерфейс программы

  3. MITM-атака

  4. Диссекция протоколов (анализ пакетов)

  5. Фильтры (файлы *.ecf)

  6. Плагины + список плагинов

  7. Использование плагины dns_spoof

  8. Дополнительные материалы

Установка и настройка

Установка на Linux

sudo apt-get install ettercap-gtk ettercap-common

Пакет ettercap-gtk включает графический интерфейс, а ettercap-common — общие файлы и плагины.

Установка на других ОС

Для macOS и Windows загрузите исходный код или бинарные файлы с официального сайта. Для компиляции из исходников могут потребоваться зависимости, такие как libpcap, libnet и cmake.

Для некоторых функций требуется дополнительная настройка через файлы конфигурации.

В статье будет рассмотрена версия ettercap для KaliLinux.

Интерфейс программы

Ettercap поддерживает четыре типа интерфейсов:

  • Текстовый (-T): Подходит для скриптов и автоматизации.

Текстовый (консольный без меню) вариант интерфейса
Текстовый (консольный без меню) вариант интерфейса
  • Curses (-C): Консольный интерфейс с меню.

Консольный вариант интерфейса
Консольный вариант интерфейса
  • Графический (-G): Удобный для начинающих, использует GTK.

Графическое меню
Графическое меню
  • Демонизированный (-D): Для фонового выполнения без интерфейса.

MITM-атака

Настройка

  1. Запустите графический интерфейс ettercap:sudo -E ettercap -G

  2. Запустите сканирование хостов (кнопка Scan for hosts).

  3. Откройте перечень найденных устройств (кнопка Hosts list).  (Target 1, обычно роутер) и (Target 2, жертва). Укажите цели соответствующими кнопками.

  4. В меню выберите MITM → ARP poisoning → Sniff remote connections → OK. Запустите атаку кнопкой Start sniffing.

  5. В меню View → Connections откройте вкладку мониторинга соединений.

    • Если нужно фильтровать или подменять трафик, используйте плагины : Plugins → Manage plugins. Например, активируйте dns_spoof для подмены DNS или sslstrip для даунгрейда HTTPS в HTTP (требует дополнительной настройки).

  6. Для остановки атаки Mitm Stop mitm attack(s).

Пример MITM-атаки
Пример MITM-атаки

Диссекция протоколов

Диссекция протоколов -процесс активного или пассивного анализа сетевых пакетов, при котором инструмент разбирает трафик на уровне различных протоколов или простыми словами анализ сетевого трафика.

Просмотр сетевого трафика в графическом режиме

  1. Настройте Ettercap для MITM-атаки (аналогично предыдущей главе)

  2. Для просмотра и анализа трафика откройте view → connections.

    • Для примера с ПК жертвы я обратился к python серверу.

Активные подключения
Активные подключения
Содержание пакетов
Содержание пакетов

В консольном режиме (с созданием файла с логами)

  1. Для запуска используйте команду sudo ettercap -T -q -L log -i eth0

    • -T: Текстовый режим.

    • -q: Тихий режим (меньше вывода).

    • -i eth0: Интерфейс.

    • -L log: Файл логирования (в данном случае log)

  2. Для просмотра логов используйте команду etterlog -p log.ecp

Прослушивание пакетов
Прослушивание пакетов
Вывод содержимого файла логов
Вывод содержимого файла логов

Фильтры (подмена трафика на лету)

Одним из самых мощных инструментов в арсенале Ettercap является возможность фильтрации и модификации сетевого трафика в режиме реального времени. Фильтры в Ettercap представляют собой текстовые файлы с расширением .ecf (Ettercap Compiled Filter), содержащие код на специализированном скриптовом языке, синтаксис которого напоминает C. Прежде чем фильтр можно будет использовать, его необходимо скомпилировать в бинарный формат .ef с помощью утилиты etterfilter.

Процесс создания и применения фильтра

Работа с фильтрами Ettercap включает в себя три основных этапа:

  1. Написание кода фильтра: Создание текстового файла с расширением .ecf, в котором описывается логика обработки пакетов.

  2. Компиляция фильтра: Преобразование .ecf файла в бинарный формат .ef с помощью утилиты etterfilter.

  3. Загрузка и запуск фильтра: Активация скомпилированного фильтра в Ettercap во время проведения MitM-атаки.

Базовый синтаксис:

  • Условные операторы: В основном используется конструкция if (условие) {...}.Условия могут объединяться логическими операторами && (И) и || (ИЛИ).

  • Доступ к данным пакета: Для анализа содержимого пакета используются предопределенные переменные, такие как ip.proto (протокол IP-уровня), tcp.src (TCP-порт источника), tcp.dst (TCP-порт назначения) и DATA.data (содержимое пакета).

  • Основные функции:

    • search(где, что): Ищет определенную строку или последовательность байт в данных пакета.

    • replace(что, на_что): Заменяет найденную последовательность на другую.

    • msg(сообщение): Выводит сообщение в консоль Ettercap, что полезно для отладки.

    • drop(): Помечает пакет на удаление, он не будет перенаправлен адресату.

    • kill(): Разрывает соединение, которому принадлежит пакет.

Пример: Простой фильтр для замены текста на странице ( РАБОТАЕТ ТОЛЬКО ПО HTTP )

Создадим фильтр replace_text.ecf, который будет заменять все вхождения слова "Google" на "Hacked" в HTTP-трафике.

if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-Rubbish!");
   }
}

if (ip.proto == TCP && tcp.src == 80) {
   replace("Google", "Hacked");
   msg("Filter Ran.\n");
}

Первый блок if отключает сжатие данных (gzip), чтобы мы могли работать с незашифрованным HTML-кодом. Второй блок if ищет и заменяет текст в ответах от сервера (трафик, идущий с 80-го порта).

Далее необходимо скомпилировать файл для этого используется команда:

etterfilter replace_text.ecf -o replace_text.ef

Результат выполнения команды
Результат выполнения команды

Запуск фильтра

  1. Из консоли

    sudo ettercap -T -M arp:remote -F ./replace_text.ef /IP-адрес-цели/ /IP-адрес-шлюза/

    • -T: Запуск в текстовом режиме.

    • -M arp:remote: Выбор ARP poisoning в качестве метода MitM-атаки.

    • -F ./replace_text.ef: Загрузка нашего скомпилированного фильтра.

  2. Загрузка через графический интерфейс:

    • Запустите Ettercap с правами суперпользователя (sudo ettercap -G).

    • Настройте и запустите сканирование сети и MitM-атаку.

    • В меню выберите Filters  Load a filter ...

    • Укажите путь к вашему .ef файлу.

Меню загрузки фильтра
Меню загрузки фильтра

После загрузки фильтр начнет немедленно обрабатывать трафик, соответствующий заданным в нем условиям.

Плагины

Ettercap обладает модульной архитектурой, которая позволяет значительно расширять его стандартные возможности с помощью плагинов. Эти плагины представляют собой специализированные скрипты и модули, предназначенные для выполнения конкретных задач — от пассивного сбора информации до активных атак на сетевую инфраструктуру.

Управление плагинами

Работа с плагинами в Ettercap может осуществляться как через графический интерфейс, так и через командную строку, что обеспечивает гибкость в различных сценариях использования.

Управление через консоль

1. Получение списка доступных плагинов:

sudo ettercap -P list

2. Активация плагина:

sudo ettercap -T -M arp:remote -P dns_spoof /IP-адрес-цели/ /IP-адрес-шлюза/

Управление через графический интерфейс

В графическом режиме, после запуска MitM-атаки, плагины можно активировать через меню Plugins → Manage the plugins. В открывшемся окне достаточно дважды кликнуть по названию нужного плагина, чтобы запустить его. Активные плагины будут отмечены звездочкой [*].

Меню плагинов с запущенным dns_spoof
Меню плагинов с запущенным dns_spoof

Плагин

Описание

 

 

arp_cop

Отслеживает подозрительную ARP-активность.

autoadd

Автоматически добавляет новые жертвы в атаку ARP-отравления.

chk_poison

Проверяет успешность ARP-отравления с помощью ICMP-пакетов.

dns_spoof

Подменяет DNS-запросы, используя файл etter.dns.

mdns_spoof

Подменяет mDNS-запросы на UDP-порту 5353.

dos_attack

Выполняет DoS-атаку, засылая SYN-пакеты на открытые порты.

dummy

Шаблон для создания собственных плагинов.

find_conn

Отслеживает ARP-запросы для определения целей связи.

find_ettercap

Обнаруживает пакеты Ettercap в сети.

find_ip

Находит первый свободный IP в диапазоне.

finger

Пассивное определение ОС удаленного хоста.

finger_submit

Отправляет неизвестные отпечатки ОС на сайт Ettercap.

fraggle_attack

Отправляет UDP-пакеты с поддельным IP-адресом.

gre_relay

Перехватывает GRE-трафик, требует поддельного IP хоста.

gw_discover

Обнаруживает шлюз, отправляя TCP SYN-пакеты.

isolate

Изолирует хост от сети, подменяя ARP-кэш.

krb5_downgrade

Понижает уровень безопасности Kerberos V5.

link_type

Проверяет тип соединения (хаб/свитч).

pptp_chapms1

Заставляет PPTP использовать MS-CHAPv1.

pptp_clear

Отключает сжатие/шифрование в PPTP-туннелях.

pptp_pap

Заставляет PPTP использовать PAP-аутентификацию (в открытом виде).

pptp_reneg

Заставляет PPTP пересогласовать туннель.

rand_flood

Засыпает сеть случайными MAC-адресами.

remote_browser

Отправляет перехваченные HTTP-URL в браузер.

reply_arp

Отвечает на ARP-запросы с MAC-адресом атакующего.

repoison_arp

Повторно отравляет ARP-кэш после широковещательных запросов.

scan_poisoner

Проверяет наличие отравления между хостами.

search_promisc

Обнаруживает хосты в режиме promiscuous.

smb_clear

Заставляет SMB использовать пароли в открытом виде.

smb_down

Отключает NTLM2 в SMB-аутентификации.

smurf_attack

DoS-атака с использованием ICMP-пакетов.

sslstrip

Подменяет SSL-сертификаты фальшивыми.

stp_mangler

Подменяет BPDU, притворяясь корневым коммутатором.

DNS spoof

Плагин dns_spoof является одним из самых мощных инструментов в Ettercap для проведения атак типа "человек посередине" (Man-in-the-Middle). Он позволяет перехватывать DNS-запросы от целевых устройств и отправлять им поддельные ответы, эффективно перенаправляя их трафик с легитимных сайтов на IP-адрес, контролируемый злоумышленником.

Прежде чем запускать атаку, необходимо настроить файл etter.dns, в котором хранятся правила для подмены DNS-записей.

sudo nano /etc/ettercap/etter.dns

Формат: имя_домена ТИП_ЗАПИСИ IP-адрес (например: vk.com A 192.168.1.100)

Также для корректной работы необходимо изменить файл etter.conf так как показано на рисунке ниже:

etter.conf
etter.conf

это позволит сервису программы работать от имени суперпользователя.

После первичной настройки можно запустить атаку:

sudo ettercap -T -M arp:remote -P dns_spoof /IP_жертвы/ /IP_шлюза/

либо через графический интерфейс:

  1. запустите MITM-атаку и выберите ПК-жертвы и Шлюз.

  2. В меню управления плагинами запустите плагин dns_spoof.

Плагин dns_spoof в меню
Плагин dns_spoof в меню

После запуска проверьте на ПК жертвы работу плагина (При обращении к ресурсу vk.com жертва будет переброшена на указанный нами адрес).

Дополнительные ресурсы

  1. Наш телеграмм канал

  2. Официальный сайт ettercap

  3. Статья с другими применениями ettercap

Мы рассмотрели лишь малую часть арсенала Ettercap — фильтры для модификации трафика и плагины для расширения функционала. Вооружившись этими знаниями, вы можете превратить Ettercap из простого сниффера в гибкий инструмент для глубокого анализа и тестирования безопасности сети.

Однако возможности этой программы простираются гораздо дальше. Мы не затронули такие темы, как работа с SSL-трафиком, атаки на специфические протоколы и многие другие тонкости.

Комментарии (0)