Ettercap NG – сетевой sniffer /interceptor/ logger для коммутируемых сетей (switched LAN). Программа использует ARP poisoning и “man-in-the-middle” методы нападения, чтобы перехватывать подключения между двумя хостами в реальном времени. Вы можете перехватить трафик между двумя хостами в сети интернет, используя MAC-based sniffing mode. Позволяет перехватывать SSH1, HTTPS и другие защищенные протоколы. В последнее время часто используется для реализации сценариев bgp hijacking & traffic engineering при MiTM сценариях с майнинговыми пулами, воздействуя на механизмы глобальной маршрутизации трафика.
Позволяет расшифровывать пароли для следующих протоколов — TELNET, FTP, POP, RLOGIN, SSH1, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG или как это говорят на профильных площадках «Сетевой инженер шатает bgp».
Перехват трафика Ettercap NG и как это работает?
Ettercap NG умеет подменять MAC-адрес шлюза на свой собственный в ARP-таблице целевого устройства. В результате, весь трафик, предназначенный для шлюза, направляется на атакующий компьютер:

Более подробно это выглядит так:
- Ettercap NG отправляет поддельные ARP-пакеты, утверждая, что он является шлюзом.
- Целевое устройство обновляет свою ARP-таблицу и начинает отправлять весь трафик на машину с Ettercap NG.
- Ettercap NG перехватывает этот трафик и может его анализировать, модифицировать или перенаправлять.
Как вариант Ettercap NG может устанавливать себя в качестве промежуточного устройства между клиентом и сервером. Весь трафик, проходящий через это соединение, проходит через Ettercap NG.
- Ettercap NG перехватывает соединение между клиентом и сервером.
- Модифицирует пакеты таким образом, чтобы клиент и сервер думали, что общаются напрямую.
- Ettercap NG может дешифровать и шифровать трафик, а также изменять его содержимое.
Как работать с Ettercap NG на точке обмена трафиком
Если запускать Ettercap NG в домашней сети — толку от этого будет мало, можно увидеть свой трафик и больше ничего. Так как же посмотреть вширь и увидеть нечто большее? На днях довелось мне поработать на одной из точек обмена трафиком, через которую крупные и малые провайдеры интернета и магистральные операторы связи бесплатно обмениваются трафиком друг с другом. Дело всё в том, что в таких точках пиринга оборудование каждого участника подключается в общий коммутатор, хотя обмен маршрутами происходит посредством bgp через route-сервер, как правило под управлением Bird или FRR, ранее этот софт назывался Quagga или Zebra кому как удобнее. Но включены то они все в один управляемый свич, а значит тут возможны варианты:
— <a> или ARP poisoning based sniffing, применяется для прослушивания трафика в коммутируемых локальных сетях второго уровня, а также для применения bgp spoofing сценариев класса mitm. В данном случае я использовал сценарий arpoison, который модифицирует ARP-таблицы целевых маршрутизаторов, подключенных к точке обмена трафиком таким образом, что все кадры данных с выбранного source шли на мой ноут с Ettercap NG, а с этого ноута уже — на destination в пункт назначения на bgp-роутер участника точки обмена трафиком, как показано на рисунке.
Иными словами, с помощью этого метода прослушивания трафика я проанализировал трафик выбранных мной участников точки обмена Internet Exchange Point, в том числе выходящий за пределы главного коммутатора этого peering point. На основе этого метода, уже с версии 0.6.7 Ettercap NG реализован перехват (dissection) паролей протокола https. У меня получилось даже собрать пароли ssh версии 2, когда я подключил соответствующий фильтр ettercap -F etter.filter.ssh, который подменяет версию ssh-сервера с 1.99 (openssh-0.9.6, etc) на 1.51, поддерживающую только первую версию протокола ssh.
Однако, для реализации сценария arpoison, ettercap’у необходимо зафлудить сеть целой пачкой сгенерированных ARP-пакетов, но на современных управляемых коммутаторах уже есть средства, отлавливающие этот сценарий. С первой попытки сделать ARP-poison на коммутаторе точки обмена трафиком у меня не получилось, но со второй попытки, когда я добавил ложный IP-адрес, всё прекрасно сработало.
— <s>, IP based sniffing и <m>, MAC based sniffing — это варианты обычного пассивного прослушивания трафика локальной сети. Возможности такого перехвата пакетов очень ограничены, хотя меня впечатлило количество поддерживаемых протоколов при относительно небольшом размере программы.
Напихав нужные адреса ASBR роутеров, подключенных к точке обмена трафиком в source, destination или в оба сразу (я выбрал 192.168.0.10 в качестве source), выбирав метод прослушивания сети (я выбрал <a>), и попал в соответствующее окно:

И вот тут я и увидел все интересующие меня соединения, в том числе bgp-сессии, установленные между ASBP роутерами участников обмена трафиком и route-сервером площадки.
Для того, чтобы собрать пакеты с обновлениями bgp, делать не нужно вообще ничего =)) Наведя курсор на нужное мне соединение все данные bgp-сессии появлялись в нужной части экрана, и я сразу получил всё, что мне нужно =))

Нажав на другую кнопку мне сразу открылся новый диапазон возможностей, уверен, он и тебя впечатлит. Убийство соединений, хайджекинг, филтеринг, etc… Что ещё нужно для перехвата bgp-сессии и реализации MiTM сценария через route leaking? =)
На видео более подробно поговорим о traffic engineering и утечках маршрутов (route leaking) и к чему вообще всё это….
Вкусности Route Leaks & Traffic Engineering
Возможности программы Ettercap ng огромны, но я почти уверен, что они тебя не удовлетворят на все 100%. Ну что же, для твоих трафик-нижениринговых целей предусмотрены варианты в виде:
- Написания плагинов, — ну тут все просто и понятно: не влезая в кишки ettercap’a, юзаешь плагинный интерфейс этой проги и делаешь нужный тебе компонент, который ты сможешь подгружать в программу всякий раз, когда тебе это нужно.
- Возможность bind’ить локальный порт, с которым ettercap проассоциирует нужное тебе соединение, например по 179 порту. Это очень ценное свойство программы: ты сможешь заранее реализовать нужные тебе механизмы, воспроизвести которые в реальном времени обычными средствами весьма затруднительно =)) Проще говоря, влезать в чужие IRC-приваты и материться можно и руками, но если ты захочешь впарить кому-нибудь бекдор, проспуфив http или ftp, или сообщить какому-нибудь биржевому игроку, что его акции упали в цене в четыре раза, или же подменить некий криптомост, где плавают жирные киты на время своим мостом с нужными тебе смартконтрактами, такое свойство программы может оказаться весьма и весьма кстати =))
Хочется отметить, что вот так запросто подключиться в Ethernet или SFP порт коммутатора мне удалось только на точке обмена трафиком (Internet Exchange Point), однако, в реальной жизни на узле того или другого крупного телекоммуникационного оператора все соединения, как правило, упакованы в VPLS/EPIPE/EVPN каналы, и добраться до них новичку с первого раза будет не так то просто, но об этом мы поговорим уже в следующий раз.
Добавить комментарий