You are here: Home » Sniffing и Spoofing » ettercap-plugins (плагины ettercap)

ettercap-plugins (плагины ettercap)

Описание ettercap-plugins

ettercap-plugins — это коллекция плагинов для ettercap. Ettercap поддерживает загружаемые во время работы модули. Они называются плагинами и они поставляются вместе с исходным кодом в тарболе. Они автоматически компилируются, если ваша система поддерживает их, конечно, если вы не указали опцию -DENABLE_PLUGINS=OFF для конфигурационного скрипта cmake.

Некоторые старые плагины ettercap (roper, banshee и т. д.) не были портированы в новую версию. Между прочем, вы можете достигнуть такого же результата используя новый движок фильтрации.

Если вы используете интерактивный режим, большинство плагинов требуют "Start Sniff" (запустить прослушивание) до их использования.

Для получения списка установленных плагинов на вашей системе выполните эту команду:

ettercap -P list

Список и описание плагинов ettercap

Далее список доступных плагинов:

arp_cop

Он сообщает о подозрительной ARP активности пассивным мониторингом ARP запросов/ответов. Он может сообщать о попытках травления ARP или простых IP-конфликтах или IP-изменений. Если вы строите первоначальный список хостов, то плагин будет работать более точно.

пример :

ettercap -TQP arp_cop //

Пример реального выявления ARP спуфинга:

autoadd

Он будет автоматически добавлять новых жертв по мере их подключения к ARP травлению атаки mitm. Он ищет ARP запросы в локальной сети, и при выявлении плагин добавит хост к списку жертв, если список был указан как ЦЕЛЬ. Хост добавляется когда от него виден arp запрос, поскольку общительные хосты являются живыми 🙂

chk_poison

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

Этот плагин имеет смысл только когда травление имеет смысл. Тест потерпит неудачу если вы указали только одну цель в тихом режиме. Вы не можете запускать этот плагин из командной строки, поскольку процесс травления ещё не начат. Вы должны запускать его из соответствующего меню.

dns_spoof

Этот плагин прерывает DNS запросы и отвечает спуфленным (поддельным) ответом. Вы можете выбрать для какого адреса плагин должен ответить редактированием файла etter.dns. Плагин перехватывает A, AAAA, PTR, MX, WINS, SRV и TXT запросы. Если это был A запрос, то имя ищется в файле и возвращается IP адрес (вы можете использовать групповые символы в имени).

Это же применяется и к AAAA запросам.

Если это был PTR запрос, IP ищется по файлу и возвращается имя (кроме имён содержащих групповые символы). Для PTR запросов поддерживаются IPv4 или IPv6 адреса.

В случае MX запроса, создаётся специальный ответ. Хост преобразуется в фальшивый хост 'mail.host' и дополнительную запись содержащую IP адрес 'mail.host'. Возвращается первый адрес который соответствует, поэтому будьте осторожны с порядком. IP адресом для MX запросов может быть адрес IPv4 или IPv6.

Если запрос был WINS запросом, имя ищется в файле и возвращается IP адрес.

В случае SRV запроса, создаётся специальный ответ. Хост преобразуется в фальшивый хост 'srv.host', а дополнительная запись содержит IP адрес 'srv.host'. IP адрес для SRV запроса может быть IPv4 или IPv6 адресом.

В случае TXT запроса будет возвращена предопределённая строка. Строка должна быть обёрнута в двойные кавычки. Также могут использоваться групповые символы для запрашиваемых имён.

Специальный ответ может быть спуфлен для запросов A или AAAA если в файле в качестве IP адреса указан 'undefined address' ("неопределенный адрес"). Тогда клиент получает ответ, который немедленно прекращает обработки преобразования. Таким образом можно контролировать, какая семья адресов будет использоваться для доступа к хосту с двойным стеком.

В случае ANY запроса, в ответе возвращаются все соответствующие результаты A, AAAA, MX и TXT. Если установлен 'undefined address' для записей A или AAAA, то независимо от совпадающих имён для этих типов ничего не возвращается.

В упомянутом файле etter.dns есть примеры и комментарии, проясняющее его использование, поэтому приведём здесь этот файл целиком:

############################################################################
#                                                                          #
# Пример хост файла для плагина dns_spoof                                  #
#                                                                          #
# формат следующий (для A запроса):                                        #
#   www.myhostname.com A 168.11.22.33 3600                                 #
#   *.foo.com          A 168.44.55.66 [опционально TTL (время жизни)]      #
#                                                                          #
# ... для a AAAA запроса (разрешено такое же имя хоста):                   #
#   www.myhostname.com AAAA 2001:db8::1                                    #
#   *.foo.com          AAAA 2001:db8::2 [опционально TTL]                  #
#                                                                          #
# или пропустить семейство протоколов (полезно с двойным стеком):          #
#   www.hotmail.com    AAAA ::                                             #
#   www.yahoo.com      A    0.0.0.0                                        #
#                                                                          #
# или для PTR запроса:                                                     #
#   www.bar.com    PTR 10.0.0.10 [TTL]                                     #
#   www.google.com PTR ::1 [TTL]                                           #
#                                                                          #
# или для MX запроса (как IPv4 так и IPv6):                                #
#    domain.com MX xxx.xxx.xxx.xxx [TTL]                                   #
#    domain2.com MX xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx                #
#    domain3.com MX xxxx:xxxx::y                                           #
#                                                                          #
# или для WINS запроса:                                                    #
#    workgroup WINS 127.0.0.1 [TTL]                                        #
#    PC*       WINS 127.0.0.1                                              #
#                                                                          #
# или для SRV запроса (какIPv4 так и IPv6):                                #
#    service._tcp|_udp.domain SRV 192.168.1.10:port [TTL]                  #
#    service._tcp|_udp.domain SRV [2001:db8::3]:port                       #
#                                                                          #
# или для TXT запроса (значение должно быть обёрнуто в двойные кавычки):   #
#    google.com TXT "v=spf1 ip4:192.168.0.3/32 ~all" [TTL]                 #
#                                                                          #
# ПРИМЕЧАНИЕ: групповые символы хостов не могут быть использованы для      #
#       травления PTR запросов, поэтому если вы хотите отменить травление, #
#       то укажите простой хост. (смотрите на пример the www.microsoft.com)#
#                                                                          #
# ПРИМЕЧАНИЕ: По умолчанию DNS TTL равняется 3600 с (1 час). Все поля      #
#       TTL являются опциональными.                                        #
#                                                                          #
############################################################################

################################
# microsoft не любим ; )
# перенаправление на www.linux.org
#

microsoft.com      A   107.170.40.56 1800
*.microsoft.com    A   107.170.40.56 3600
www.microsoft.com  PTR 107.170.40.56      # Групповые символы в PTR не разрешены

##########################################
# никто там не получит наши домены...
#

kali.tools  A 127.0.0.1 2147483647          # Это должно длиться вечно!
hackware.ru  A 127.0.0.1 30                 # Или только 30 секунд
hackware.ru  AAAA 2001:db8::2               # По умолчанию это 3600 секунд (1 час)

##########################################
# домены с включённым двойным стеком не облегчают жизнь
# принудим их обратно к одному стеку 

www.ietf.org   A    127.0.0.1
www.ietf.org   AAAA ::

www.example.org  A    0.0.0.0
www.example.org  AAAA ::1

###############################################
# однажды у нас будет свой домен ettercap.org
#

www.ettercap.org           A  127.0.0.1
www.ettercap-project.org   A  127.0.0.1
ettercap.sourceforge.net   A  23.235.43.133
www.ettercap.org           PTR ::1

###############################################
# несколько MX примеров
#

kali.tools   MX  127.0.0.1
hackware.ru   MX  127.0.0.1
example.org MX 127.0.0.2
microsoft.com MX 2001:db8::1ce:c01d:bee3

###############################################
# Это путает клиентов NetBIOS использующих DNS
# преобразование. Например совместное использование Windows/Samba.
#

LAB-PC*  WINS  127.0.0.1

###############################################
# несколько примеров обнаружения служб

xmpp-server._tcp.jabber.org SRV 192.168.1.10:5269     
ldap._udp.mynet.com SRV [2001:db8:c001:beef::1]:389   

###############################################
# маленький пример TXT записи
#

kali.tools TXT "v=spf1 ip4:192.168.1.2 ip6:2001:db8:d0b1:beef::2 -all"

mdns_spoof

Это плагин делает то же самое, что и описанный выше плагин dns_spoof, за исключением того, что он слушает mDNS (Multicast DNS) запросы на UDP порту 5353. Чтобы выбрать на какие адреса плагину следует отвечать, вы можете отредактировать другой файл под названием etter.mdns. Из-за природы mDNS плагин перехватывает только A, AAAA, PTR и SRV запросы.

Таким образом, плагин mdns_spoof интерпретирует файл etter.mdns и применяет его правила так же как и плагин dns_spoof.

dos_attack

Этот плагин запускает d.o.s. атаку против IP адреса жертвы. Он начинает со «сканирования» жертвы для поиска открытых портов, затем начинает флудить эти порты SYN пакетами, используя «фантомный» адрес как IP источника. Затем он использует фальшивые ARP ответы для перехвата пакетов для фантомного хоста. Когда он получает от жертвы SYN-ACK, он отвечает ACK пакетом создающим ESTABLISHED (установленное) подключение.

Вы должны использовать свободный IP адрес в вашей подсети для создания «фантомного» хоста (вы можете использовать для этих целей find_ip). Вы не можете запустить этот плагин в unoffensive (безобидном) режиме.

Этот плагин основывается на оригинальной атаке Naptha DoS.

пример :

ettercap -TQP dos_attack

dummy

Только шаблон для демонстрации как писать плагин.

find_conn

Очень простой плагин, который прослушивает ARP запросы для показа вам всех целей, с которыми хост хочет общаться. Он также может вам помочь в поисках адресов в неизвестных LAN.

пример :

ettercap -TQzP find_conn
ettercap -TQu -i eth0 -P find_conn

find_ettercap

Пытается идентифицировать пакеты ettercap отправленные в LAN. Он может быть полезным для выявления чьих-то попыток использовать ettercap. Не полагайтесь на него на 100%, поскольку тесты срабатывают только на конкретные последовательности/идентификационные числа.

find_ip

Найти первый неиспользуемый IP адрес в диапазоне, указанном пользователем в списке целей. Некоторым другим плагинам (таким как gre_relay) нужен неиспользуемый IP адрес локальной сети для создания «фальшивого» хоста.

Он также может быть полезным для получения IP адреса в неизвестной локальной сети, где нет dhcp сервера. Вы можете использовать find_conn для выявления IP адресов локальной сети, а затем find_ip. Вы должны построить список хостов для использования этим плагином, поэтому вы не можете использовать его в unoffensive (безобидном) режиме. Если у вас нет IP адреса для вашего интерфейса, дайте ему фиктивный адрес (к примеру, если LAN это 192.168.0.0/24, используйте 10.0.0.1 для избежания конфликта IP), затем запустите этот плагин указал диапазон подсети. Вы можете запустить его из командной строки или из соответствующего меню.

пример :

ettercap -TQP find_ip //
ettercap -TQP find_ip /192.168.0.1-254/

finger

Использует возможности пассивного снятия отпечатка для снятия отпечатков с удалённых хостов. Он делает connect() к удалённому хосту чтобы придуть его ядро ответить на YN пакетом SYN+ACK. Ответ будет собрат, а отпечаток показан. connect() подчиняется параметру connect_timeout в etter.conf. Вы можете указать цель в командной строке или позволить плагину спросить целевой хост для снятия отпечатков. Вы также можете указать множество целей как обычно указываете цели для ettercap. Если вы укажите множество портов, то будут протестированы все порты на всех IP.

примеры :

ettercap -TzP finger /192.168.0.1/22
ettercap -TzP finger /192.168.0.1-50/22,23,25

finger_submit

Используйте этот плагин для отправки опечатка на сайт ettercap. Если вы нашли неизвестный отпечаток, но вы уверены в операционной системе цели, вы можете отправить его для отправки базу данных в следующем выпуске ettercap. Авторам нужна ваша помощь для улучшения базы данных пассивных отпечатков.

пример :

ettercap -TzP finger_submit

fraggle_attack

Этот плагин выполняет DoS атаку путём отправки большого количества трафика UDP эхо и CHARGEN на все хосты в цели2 с фальшивым ip адресом источника (жертва).

пример (192.168.0.5 является жертвой):

ettercap -i eth1 -Tq /192.168.0.5/ // -P fraggle_attack

gre_relay

Этот плагин может использоваться для сниффинга GRE-перенаправленного удалённого трафика. Основная идея в создание GRE туннеля, который отправляет весь трафик на интерфейс роутера к машине ettercap. Плагин отправит обратно GRE пакеты роутеру после «манипуляций» ettercap'а (вы можете использовать «активные» плагины такие как smb_down, ssh decryption, фильтры и т.д…. на перенаправленном трафике). Ему нужен «фальшивый» хост куда трафик должен быть перенаправлен (для избежания ответов ядра). «Фальшивый» IP будет концом туннеля. Плагин gre_relay будет выдавать себя за «фальшивый! Хост. Для обнаружения неиспользуемого IP адреса для «фальшивого» хоста вы должны использовать плагин find_ip. Основывается на оригинальной Tunnelx технике от Anthony C. Zboralski.

gw_discover

Этот плагин пытается обнаружить шлюз локальной сети отправкой TCP SYN пакетов на удалённый хост. Пакет имеет конечной точкой IP удалённого хоста и конечный mac адрес локального хоста. Если ettercap получает пакет SYN+ACK то хост, который имеет mac адрес источника ответа — это шлюз. Операция повторяется для каждого хоста в «списке хостов», поэтому вы должны иметь валидный список хостов перед запуском этого плагина.

пример :

ettercap -TP gw_discover /192.168.0.1-50/

isolate

Плагин isolate будет изолировать хост от LAN. Он будет травить arp кэш жертвы со своим собственным mac адресом, ассоциированным со всеми хостами, которыми она пытается контактировать. Таким образом хост не будет способен контактировать с другими хостами, поскольку пакет никогда не достигнет провода.

Вы можете указать все хосты или только группу. Указание целей работает следующим образом: цель1 — это жертва и должна быть единичным хостом, цель2 может быть диапазоном адресов и представляет хосты, которые будут блокированы для жертвы.

примеры :

ettercap -TzqP isolate /192.168.0.1/ //
ettercap -TP isolate /192.168.0.1/ /192.168.0.2-30/

link_type

Он выполняет проверку типа связи (хаб или коммутатор) отправкой спуфенных (поддельны) ARP запросов и слушает ответы. Ему нужен хотя бы одна запись в списке хостов для выполнения проверки. С двумя или более хостами тест будет более точным.

примеры :

ettercap -TQP link_type /192.168.0.1/
ettercap -TQP link_type //

pptp_chapms1

Он принуждает pptp туннель использовать MS-CHAPv1 аутентификацию вместо MS-CHAPv2, которую обычно проще взломать (например с LC4). Вы должны быть «посередине» соединения для успешного его использования. Он подцепляет ppp диссектор, поэтому вы можете сохранять его активным.

pptp_clear

Приводит к отсутствию компрессии/шифрования для pptp туннелей во время переговоров. Он может потерпеть неудачу, если клиент (или сервер) настроены на подвисание туннеля если предложено общение без шифрования. Вы должны быть «посередине» подключения для успешного его использования. Он подцепляет ppp диссектор, поэтому вы можете сохранять его активным.

pptp_pap

Он принуждает pptp туннель иметь дело с PAP (простой текст) аутентификацией. Он может потерпеть неудачу, если PAP не поддерживается, если файл pap_secret отсутствует, или если Windows настроен с «автоматическим использованием аккаунта домена» (а также по ещё множеству других причин). Вы должны быть «посередине» подключения для успешного его использования. Он подцепляет ppp диссектор, поэтому вы можете сохранять его активным.

pptp_reneg

Принуждает к повторным переговорам по существующему pptp туннелю. Вы можете принудить к повторным переговорам для захвата уже отправленного пароля. Более того, вы можете запустить его для использования pptp_pap, pptp_chapms1 или pptp_clear на существующие туннели (эти плагины работают только на стадии переговоров). Вы должны быть «посередине» подключения для успешного его использования. Он подцепляет ppp диссектор, поэтому вы можете сохранять его активным.

rand_flood

Зафлуживает локальную сеть случайными MAC адресами. Некоторые коммутаторы не могут открыться в режиме повторителя, что облегчает прослушивание. Задержка между каждым пакетом основывается на значение port_steal_send_delay в etter.conf.

Он полезен только на Ethernet-коммутаторах.

пример :

ettercap -TP rand_flood

remote_browser

Он отправляет браузеру URL прослушанные через HTTP сессии. Так вы можете видеть веб-страницы в реальном времени. Исполнимая команда настраивается в файле etter.conf. Она отправляет браузеру только GET запрос и только для веб-страниц, игнорируя отдельные запросы изображений или другие услуги. Не используйте его для просмотра ваших собственных подключений 🙂

reply_arp

Простой arp ответчик. Когда он перехватывает arp запрос для хоста из списка целей, он отвечает с MAC адреса атакующего.

примеры :

ettercap -TQzP reply_arp /192.168.0.1/
ettercap -TQzP reply_arp //

repoison_arp

Он выпрашивает пакеты травления после широковещательных ARP запросов (или ответов) от отравленного хоста. Например: мы травим Группу1 выдавать себя за Хост2. Если Хост2 делает широковещательный ARP запрос для Хоста3, то возможно что Группы1 кэширует правильный MAC адрес для Хоста2, содержащегося в ARP пакете. Этот плагин повторно отравляет кэш Группы1 немедленно после легального широковещательного ARP запроса (или ответа).

Этот плагин эффективен только во время arp сессии травления.

В связке с плагином reply_arp, repoison_arp — это хорошая поддержка стандартному arp методу травления mitm.

пример :

ettercap -T -M arp:remote -P repoison_arp /192.168.0.10-20/ /192.168.0.1/

scan_poisoner

Проверят, травит ли кто-нибудь между какими-либо хостами в списке и нами. Для начала он проверяет, имеют ли два хоста в списке одинаковый mac адрес. Это может означать, что один из них травит нас притворяясь другим. Он может сгенерировать много ложных срабатываний в прокси-arp окружении. Вы должны построить список хостов для выполнения этой проверки. После этого он отправляет icmp эхо пакеты каждому хосту в списке и проверяет, отличается ли mac адрес источника ответа адреса, который мы сохранили в списке с этим IP. Это может означать, что кто-то травит этот хост претворяясь, что имеет наш IP адрес и перенаправляет перехваченный пакеты нам. Вы не можете выполнить этот активный тест в unoffensive (безобидном) режиме.

пример :

ettercap -TQP scan_poisoner //

search_promisc

Он пытается найти, сниффит (прослушивает) ли кто-нибудь в неразборчивом режиме. Он отправляет два разных плохо сформированных arp запроса каждой цели в списке хостов и ждёт ответов. Если ответ пришёл от целевого хоста, это более или менее вероятно, что эта цель имеет сетевую карту в неразборчивом режиме. Он может генерировать ложные тревоги. Вы можете запустить его как из командной строки или из меню плагинов. Поскольку он прослушивает arp ответы, будет лучше, если вы не будете использовать их во время отправки arp запросов.

примеры :

ettercap -TQP search_promisc /192.168.0.1/
ettercap -TQP search_promisc //

Пример удачного угадывания двух сетевых карт, находящихся в неразборчивом режиме:

smb_clear

Она принуждает клиента отправить smb пароль в чистом тексте коверкая протокольные переговоры. Вы должны быть «посередине» соединения для успешного его использования. Он подцепляет диссектор smb, поэтому вы будете сохранять его активным. Если вы используете его в отношении Windows клиента, то результат вряд ли будет удачным. Пробуйте его в отношение *nix smbclient 🙂

smb_down

Он принуждает клиента не использовать NTLM2 обмен паролей во время smb аутентификации. Таким образом получаются хеши, которые могут легко быть взломаны в LC4. Вы должны быть «посередине» соединения для успешного его использования. Он подцепляет диссектор smb, поэтому вы будете сохранять его активным.

smurf_attack

Смурф (Smurf) атака — это DoS атака в которой огромное количество ICMP пакетов с предполагаемым(и) IP жертвы(жертв) в цели1 отправляются хостам в цели2. Это приводит к тому, что все хосты в цели2 отвечают ICMP запросами, что приводит к значительному трафику на компьютер(ы) жертвы(жертв).

пример (192.168.0.5 — это жертвы):

ettercap -i eth1 -Tq /192.168.0.5/ // -P fraggle_attack

sslstrip

Во время выполнения SSL mitm атаки, ettercap подменяет реальный ssl сертификат на свой собственный. Фальшивый сертификат создаётся на лету и все поля заполнены в соответствии с представленным сервером реальным сертификатом. Изменяется только издатель и подпись закрытым ключом, содержащимся в файле 'etter.ssl.crt'. Для генерирования файла сертификата используется следующие команды:

openssl genrsa -out etter.ssl.crt 1024
openssl req -new -key etter.ssl.crt -out tmp.csr
openssl x509 -req -days 1825 -in tmp.csr -signkey etter.ssl.crt -out tmp.new
cat tmp.new >> etter.ssl.crt
rm -f tmp.new tmp.csr

ПРИМЕЧАНИЕ: (На текущий момент) SSL mitm не доступна в мостовом (bridged) режиме.

ПРИМЕЧАНИЕ: Вы можете использовать длинные опции --certificate/--private-key если вы хотите указать другой файл, а не etter.ssl.crt.

stp_mangler

От отправляет охватывающее дерево BPDU, притворяясь коммутатором с самым высоким приоритетом. Будучи в «руте» охватывающего дерева, ettercap может получить весь "unmanaged" (неуправляемый) сетевой трафик.

Он полезен только в отношении группы коммутаторов на которых запущен STP.

Если есть коммутатор с более высоким приоритетом, попробуйте вручную уменьшить ваш MAC адрес перед его запуском.

пример :

ettercap -TP stp_mangler
Близкие программы: