Как установить mitmf в kali linux

Обновлено: 07.07.2024

В этой статье вы узнаете, как выполнить MITM-атаку на устройство, подключенное к той же сети Wi-Fi, что и ваша.

Требования

В этой статье предполагается, что вы знаете, что такое сетевой интерфейс, и знаете, как работать с Kali Linux и командной строкой. Перед запуском вам необходимо знать имя сетевого интерфейса (установленного на вашем компьютере) и IP-адрес маршрутизатора, который обеспечивает доступ к Wi-Fi.

Злоумышленник Требуется информацияПример значения (вам необходимо заменить эти значения)
Имя сетевого интерфейса wlan0
IP-адрес маршрутизатора 192.000.000.1

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

Жертва Необходимая информацияПример значения (вам необходимо заменить эти значения)
IP-адрес устройства жертвы 192.000.000.52

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

Информация об IP-устройстве Android для MITM

Мы собираемся выполнить MITM-атаку на Samsung Galaxy S7 (подключенный к маршрутизатору (маршрутизатор IP 192.000.000.1 ) с IP 192.000.000.52 ), который использует Google Chrome и будет перемещаться по различным веб-сайтам, чтобы показать, действительно ли атака работает или нет. Как только вы собрали всю необходимую информацию, давайте начнем!

1. Включите пересылку пакетов в Linux

Первое, что вам нужно сделать, это переслать все сетевые пакеты IPv4. Таким образом, ваша машина будет действовать как маршрутизатор. Выполните следующую команду в новом терминале:

Заметка

Если ваша машина не пересылает пакеты, интернет-соединение пользователя будет зависать, и поэтому атака будет бесполезной.

2. Перехватывать посылки от жертвы с помощью arpspoof

Таким образом, с нашими значениями команда должна выглядеть так:

Важный

Запустите вашу команду в новом терминале и дайте ему поработать (не закрывайте его, пока не захотите остановить атаку).

Этот процесс будет контролировать поток пакетов от жертвы к маршрутизатору.

3. Перехватывать пакеты от роутера с помощью arpspoof

Теперь, когда вы перехватываете пакеты от жертвы к маршрутизатору (работающему на терминале), вам нужно перехватить пакеты от жертвы к маршрутизатору с помощью arpspoof. Структура команды для начала перехвата пакетов от маршрутизатора к жертве следующая:

Таким образом, с нашими значениями команда должна выглядеть так:

Важный

Запустите вашу команду в новом терминале и дайте ему поработать (не закрывайте его, пока не захотите остановить атаку).

Как видите, это та же команда, что и на предыдущем шаге, но мы изменили аргументы. До этого момента вы уже проникли в соединение между вашей жертвой и маршрутизатором. Теперь вам просто нужно научиться читать эти пакеты, используя driftnet и urlsnarf.

4. нюхать изображения от жертвы навигации

Заметка

Если ваша машина не пересылает пакеты, интернет-соединение пользователя будет зависать, и поэтому атака будет бесполезной.

С имеющейся у нас информацией наша команда должна выглядеть так:

5. Обнаружение URL-адресов информации от жертвы навигации

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

Заметка

Если ваша машина не пересылает пакеты, интернет-соединение пользователя будет зависать, и поэтому атака будет бесполезной.

Поздравляем, если вы тщательно выполнили все шаги, теперь вы должны отслеживать информацию о цели, которую вы выбрали с помощью атаки MITM. Как только ваша жертва заходит на веб-сайт, вы сможете прочитать информацию о его действиях в Интернете. Чтобы остановить атаку, нажмите CTRL + C на каждом терминале, где работает любой открытый процесс.

6. Отключите пересылку пакетов (только после завершения атаки)

Как только вы закончите свою атаку (вы больше не хотите ее прослушивать), не забудьте отключить пересылку пакетов в системе, снова выполнив следующую команду на терминале:

Резюме

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

Этичный хакинг и тестирование на проникновение, информационная безопасность

Инструкция по использованию MITMf

MITMf — это фреймворк для атак человек-посередине (Man-In-The-Middle). MITMf предназначен для тех же задач, что и Ettercap. Только работа в MITMf, по сравнению с Ettercap, проще.

В инструкции по Ettercap я уже упоминал MITMf. Также при использовании Ettercap для атаки человек-посередине мы практически каждый раз запускали ещё одну или несколько программ, поскольку базовой функциональности Ettercap нам не хватало. С MITMf такого не будет – теперь только одна консоль, в которой только один фреймворк.

На самом деле, мы встретим практически всех наших знакомых из инструкции по Ettercap:

Но здесь все они являются модулями, которые запускаются опциями командной строки или через API.

Кстати, здесь вы найдёте не только обзор плагинов, сюда добавлен материал, который отсутствует даже в официальной документации.

Установка MITMf

Ранее программа работала только при установке из исходников. Судя по всему, в последнее время ситуация изменилась, и установленная из репозиториев программа успешно запускается. В Kali Linux сначала попробуйте так:

Если ошибок нет и показана справка, значит не нужно устанавливать из исходников, как это показано чуть ниже. В этом случае sudo python mitmf.py из моих примеров нужно заменять на mitmf. Сразу переходите к разделу "Начало работы с MITMf".

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

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

В Kali Linux если вы работаете из-под рута, то устанавливать и запускать программу нужно так:

При последующих перезагрузках системы запускать так:

- переходите в каталог со скаченной программой, к примеру:

Если вы работаете под обычным пользователем, то нужно делать так:

При последующих перезагрузках системы запускать так:

- переходите в каталог со скаченной программой, к примеру:

Начало работы с MITMf

Давайте начнём с чего-нибудь совсем простого и весёлого.

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

Итак, в своём базовом варианте команда в моём случае выглядит так:

В дальнейшем к ней я буду только добавлять разные опции для включения разнообразных плагинов.

В принципе, можно уже и запустить:

Как видим, программа работает и мы перехватили базовую аутентификацию:

01

Кстати, не нужно запускать отдельно Net-Creds – он уже встроен в MITMf.

Теперь в логах появляются записи вроде такой:

А веб-сайты выглядят так:

02

03

Частичный обход HSTS

Для этого достаточно добавить два ключа --dns --hsts. Команда приобретает вид:

Как и другие, опции --dns --hsts можно комбинировать с другими плагинами.

Вставка произвольного содержимого в веб-страницы

Для этого имеется плагин Inject с разнообразными опциями. Для загрузки плагина нам нужно указать --inject, а также дополнительно следующие ключи:

Например, я хочу вставить во все сайты строку <p>I am cool!</p>. Тогда моя комоанда имеет вид:

Подцепление программой BeEF делается следующим образом (не забудьте отредактировать данные под ваши значения):

Захват кукиз

Для этого имеется плагин Ferret-NG, который запускается опцией --ferretng. Например:

Создание скриншотов сайтов

Плагин ScreenShotter использует HTML5 Canvas для отображения точного скриншота клиентских браузеров. Плагин загружается опцией --screen:

С помощью дополнительной опции --interval можно указать интервал в секундах для создания скриншотов (по умолчанию 10).

Заражение бэкдорами

Для этого есть целых три плагина (плюс можно придумать собственные атаки через инжект в HTML код различного содержимого). Это плагины:

На мой взгляд, автор MITMf уже сделал всё возможное для того, чтобы использование плагинов в фреймворке было весьма простым. Думаю, на этом можно остановиться в характеристике плагинов. Полный их список, а также список доступных опций и дополнительные примеры вы найдёте в карточке программы MITMf в Энциклопедии инструментов для тестирования на проникновение (Kali.Tools).

Куда MITMf сохраняет захваченные данные и изображения

Абсолютно всё полезное (даже то, чего вы не ждали, например, DNS запросы) MITMf сохраняет в поддиректорию logs в своей директории (например, у меня это /home/mial/bin/MITMf/logs/).

Настройка MITMf

В поддиректории config вы найдёте несколько файлов с настройками. Большинство опций можно поменять в командной строке, но некоторые удобнее отредактировать там. Кроме основного конфигурационного файла MITMf, там вы найдёте файлы для Responder и пример файла для HTA Drive-By.

04

Замена HTML при атаке человек-посередине

Для замены содержимого веб-страниц имеется плагин Replace. Он активируется опцией --replace, а настраивается в файле mitmf.conf. В этом файле уже есть два правила:

Вот результат их работы:

06

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

Здесь можно использовать регулярные выражения для поиска.

API MITMf

Чтобы получить статус какого-то конкретного плагина, то можно сделать так, открыть в браузере страницу

Добавляя через слеш нолики и единички можно, соответственно, отключать и включать любые плагины:

05

Фильтры MITMf

В MITMf с помощью плагинов Inject и Replace можно реализовать практически всё, что обычно требуется при вставке/замене HTML. Тем не менее, это не всё! Теперь с помощью Scapy вы можете модифицировать любой пакет/протокол, которые перехватывает MITMf! Более того, вы можете изменять фильтры на лету – без перезапуска MITMf.

Scapy даёт потрясающую гибкость и, пожалуй, безграничные возможности (конечно, если вы умеете пользоваться Scapy).

В качестве примере возьмём крошечный глупый фильтр, который изменяет IP назначения ICMP пакетов:

  • Используйте переменную packet для доступа к пакетам в формате совместимым с Scapy
  • Используйте переменную data для доступа к сырым данным пакета

Для использования фильтра нужно сделать так:

Скорее всего вы захотите комбинировать это с плагином Spoof для действительного перехвата пакетов от кого-то ещё 😉

Решение проблем и ошибок при запуске MITMf

Оно означает, что на вашей системе уже запущен веб-сервер. Этим веб-сервером может быть Apache, hostapd, Nginx. Даже если вы не помните, что устанавливали какой-либо из них, это могло произойти при установке зависимостей для других инструментов. К примеру, пакет hostapd является зависимостью для airgeddon, Fluxion, linset (и других). Если вы используете VPS и готовую установку одного из дистрибутивов, то обычно в них уже предустановлен веб-сервер.

Если вы знаете название веб-сервера, то его можно остановить командой:

Для Apache в Kali Linux / Debian / Ubuntu / Linux Mint это делается командой:

Для Apache в Arch Linux / BlackArch это делается командой

Если вы не знаете название веб-сервера, то проверьте, какая команда прослушивает 80й порт:

Найдите запись, содержащую . 80 (здесь может быть также указан конкретный IP адрес вашего компьютера):

Если при запуске MITMf вы видите ошибку:

Это означает, что уже запущен другой экземпляр MITMf.

Простой способ – перезагрузить компьютер и снова попробовать запустить MITMf.

Правильный способ, это закрыть процесс без перезагрузки компьютера. Выполните команду:

Появятся записи о прослушиваемых портах, программах и их pid. Найдите записи с MITMf. Пример:

И закройте их все командой kill. Пример для моего случая:

Заключение

Инструкция получилась не слишком большой (я рад!), но это не означает, что у MITMf маленькая функциональность. Напротив, с MITMf мы может сделать абсолютно всё, для чего в Ettercap нам нужны были разнообразные программы. И даже больше! После понимания принципов работы MITMf, работа с ним становиться интуитивно понятной и достаточно обычной справки, чтобы освоить новый плагин.

mitm kali linux

Сеть построена в основном на доверии. Большинство устройств не имеют никакого способа проверить, что устройство является тем, чем оно себя идентифицирует, до тех пор, пока устройство функционирует так, как ожидается.

В случае атаки «Человек по середине» мы можем злоупотреблять этим доверием, выдавая себя за беспроводную точку доступа. Выдавая себя за устройства, которые получают запросы данных, мы можем перехватывать и изменять эти данные. Это может быть опасно в случае личных данных, но также может быть забавным для розыгрыша друзей.

В сегодняшней статье я покажу как перехватывать и манипулировать трафиком из локальной сети, часто, когда сеть Wi-Fi подключается к беспроводному маршрутизатору.

Шаг 1 Установка MITMf

Основным инструментом, который мы будем использовать для перехвата и изменения сетевого трафика, является MITMf или Man-in-the-Middle Framework. Он предназначен для использования в Linux, но может быть потенциально скомпилирован для использования в OS X или Windows.

Это инструмент командной строки, поэтому нам нужно немного узнать о том, как он работает, чтобы использовать его.

Мы можем найти его в репозиториях нескольких дистрибутивов, включая Kali Linux и BlackArch. После поиска apt-cache для подтверждения доступности пакета с помощью apt-cache search mitmf, мы можем установить MITMf, используя apt-get, как показано в примере ниже.

sudo apt-get install mitmf

Мы также можем установить пакет «mitmflib», если во время использования MITMf имеются ошибки библиотеки.

mitm ataka

Если мы хотим построить MITMf из исходного кода, мы можем загрузить копию из Git Repository, выполнив следующее в окне терминала.

Если у вас возникли проблемы с зависимостями, остальные утилиты, необходимые для MITMf, можно установить, запустив скрипт установки. Для этого мы будем инициализировать и клонировать подмодули и устанавливать любые необходимые зависимости, скопировав текст ниже в окно терминала.

cd MITMf && git submodule init && git submodule update --recursive
pip install -r requirements.txt

Шаг 2 Создание MITMf

После установки MITMf мы можем подтвердить его функциональность, запросив страницу справки. Сделайте это, набрав следующее.

sudo mitmf --help

mitm ataka

Первый флаг, который мы хотим выбрать, это наш флаг «-i» или сетевой интерфейс. Мы можем перечислить наши доступные сетевые интерфейсы, используя ifconfig, без аргументов.

mitm ataka

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

В приведенном выше случае сетевой адаптер равен eth0. На машине, непосредственно подключенной к сети, это указывает на то, что соединение связано с адаптером ethernet. По беспроводному соединению адаптер, скорее всего, будет wlan0 или аналогично названным адаптером.

В приведенном ниже примере машины-хозяина машина имеет как беспроводные, так и сетевые адаптеры, называемые eth0 и wlan0 соответственно.

mitm ataka

Как только мы определили имя адаптера, подключенного к сети, которое мы намерены настроить, мы можем добавить это в нашу строку параметров MITMf, не запуская ее. В этом случае мы будем использовать wlan0.

sudo mitmf -i wlan0

Далее мы хотим определить IP-адрес сетевого шлюза или адрес маршрутизатора в нашей сети. Мы можем сделать это несколькими способами, одним из которых является использование netstat.

Добиваться желаемого результата почти всегда можно несколькими способами. Это применимо и к области ИБ. Иногда для достижения цели можно брутить, самостоятельно искать дыры и разрабатывать сплоиты или же прислушаться к тому, что передается по сети. Причем последний вариант зачастую бывает оптимальным. Именно поэтому сегодня мы поговорим об инструментах, которые помогут вылавливать ценную для нас информацию из сетевого трафика, привлекая для этого MITM-атаки.

MITMf

Начнем с одного из наиболее интересных кандидатов. Это целый фреймворк для проведения man-in-the-middle атак, построенный на базе sergio-proxy. С недавнего времени включен в состав Kali Linux. Для самостоятельной установки достаточно клонировать репозиторий и выполнить пару команд:

Имеет расширяемую за счет плагинов архитектуру. Среди основных можно выделить следующие:

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

Запуск ARP spoofing атаки в MITMf

Запуск ARP spoofing атаки в MITMf

PuttyRider

Еще одна достойная внимания утилита. Правда, в отличие от всех остальных рассматриваемых сегодня инструментов, она очень узко специализирована. Как рассказывает сам автор проекта, на мысль создать такую утилиту его натолкнуло то, что во время проведения тестов на проникновение наиболее важные данные располагались на Linux/UNIX-серверах, к которым админы подключались по SSH/Telnet/rlogin. Причем в большинстве случаев получить доступ к машине администраторов было намного проще, чем к целевому серверу. Проникнув на машину сисадмина, остается только убедиться в наличии запущенного PuTTY и с помощью данной тулзы выстроить обратный мостик до атакующего.

Принцип работы PuttyRider

Принцип работы PuttyRider

Утилита позволяет не только снифать «общение» между админом и удаленным сервером (включая пароли), но и выполнять произвольные shell-команды в рамках данной сессии. Причем все это будет происходить абсолютно прозрачно для пользователя (админа). Если интересуют технические детали, например как реализовано внедрение в процесс PuTTY, рекомендую ознакомиться с презентацией автора.

Архитектура PuttyRider

sessionthief

Довольно старая утилита, появившаяся на свет более восьми лет назад. Предназначается для клонирования сессий путем кражи кукисов. Для угона сессий имеет базовые навыки обнаружения хостов (в случае подключения к открытой беспроводной сети или хабу) и проведения ARP poisoning. Единственная проблема — сегодня, в отличие от того, что было восемь лет назад, почти все крупные компании, такие как Yahoo или Facebook, используют SSL-шифрование, что делает эту тулзу абсолютно бесполезной. Несмотря на это, в Сети еще остается достаточно ресурсов, не использующих SSL, так что списывать утилиту со счетов пока рано. К ее плюсам можно отнести то, что она автоматически интегрируется в Firefox и создает отдельный профиль для каждой перехваченной сессии. Исходный код доступен в репозитории, а самостоятельно собрать ее можно с помощью такой последовательности команд:

Sessionthief

ProxyFuzz

Непосредственно к проведению MITM-атак ProzyFuzz не имеет никакого отношения. Как можно догадаться из названия, тулза предназначена для фаззинга. Это маленький недетерминированный сетевой фаззер, реализованный на питоне, который произвольно меняет содержимое пакетов сетевого трафика. Поддерживает протоколы TCP и UDP. Можно настроить, чтобы производился фаззинг только одной стороны. Пригодится, когда нужно быстренько проверить какое-нибудь сетевое приложение (или протокол) и разработать PoC. Пример использования:

Список опций включает в себя:

  • w — задает число запросов, отправленных перед началом фаззинга;
  • c — фаззить только клиента (иначе обе стороны);
  • s — фаззить только сервер (иначе обе стороны);
  • u — UDP-протокол (в противном случае используется TCP).

The Middler

The Middler не только автоматически анализирует сетевой трафик и находит в нем кукисы, но и самостоятельно запрашивает их со стороны клиента, то есть процесс автоматизирован по максимуму. Программа гарантирует сбор всех незащищенных аккаунтов в компьютерной сети (или публичном хотспоте), к трафику которой она имеет доступ. Для корректной работы программы в системе должны быть установлены следующие пакеты: Scapy, libpcap, readline, libdnet, python-netfilter. К сожалению, репозиторий давно не обновляется, поэтому новую функциональность придется добавлять самостоятельно.

Mitmproxy

Установка предельно проста:

Mitmproxy

Dsniff

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

Intercepter-NG

ссылка на сайт
Было бы странно, если бы этот легендарный инструмент не вошел в наш обзор.
Даже если ты никогда его не юзал, то наверняка про него слышал (и просто обязан познакомиться с ним поближе) — он довольно часто встречается на страницах журнала. Полностью описывать его функционал не буду — во-первых, нас интересует именно MITM, во-вторых, такое описание займет всю статью. Инструмент как нельзя лучше подходит для нашей задачи.

Во-первых, он реализует множество техник для того, чтобы «устроиться посередине». Во-вторых, обладает графическим интерфейсом, правда под винду, пользователям nix-систем придется довольствоваться консольной версией (но, как говорит автор, последнюю версию можно запустить под Wine и наслаждаться тем же GUI).

Subterfuge

ссылка на сайт
У пользователей Windows есть такой замечательный инструмент для проведения MITM-атак, как Intercepter-NG: куча различных техник, графический интерфейс.

инструменты для mitm атак

После чего запустится гуишный установщик, который сделает процесс инсталляции максимально простым. Кстати, утилита имеет веб-интерфейс, поэтому сначала запускаем тулзу командой subterfuge, а затем открываем браузер и вводим в адресной строке 127.0.0.1. Можно сразу же нажать на Start и ждать, пока Subterfuge будет собирать пароли, которые летают по твоей локалке. Или же можно настроить точечную атаку на конкретный хост, для этого есть кнопка Settings. Еще несколько опций, достойных упоминания:

Провести mitm атаку с помощью Subterfuge

KARMA

ссылка на сайт
Ну а теперь немного об инструментах, позволяющих пошалить в беспроводных сетях. Итак, KARMA — это набор утилит для оценки безопасности беспроводных клиентов, представляет собой беспроводной снифер, который, пассивно прослушивая 802.11 Probe Request фреймы, позволяет обнаруживать клиентов и их предпочтительные/доверенные сети. А затем проводит атаку Evil Twin, чтобы организовать MITM.

Karma для проведения mitm атаки

То есть создается копия беспроводной точки доступа, находящейся в радиусе приема пользователя, тем самым оригинальная точка доступа подменяется двойником, к которому подключается пользователь, открывая злоумышленнику возможность доступа к конфиденциальной информации. Все дело в том, что большинство беспроводных устройств, в том числе ноутбуки, смартфоны, планшеты, автоматически подключаются к беспроводным AP, которые они запомнили. Не вдаваясь в подробности: когда ты включаешь свой ноут, сетевая карточка автоматически отсылает запросы, спрашивающие «Такая-то беспроводная сеть здесь?» Как ты понял, для того чтобы встроиться в середину, надо на такой запрос ответить положительно. Кстати говоря, этот принцип нашел применение в таком девайсе, как WiFi Pineapple Mark IV. Также KARMA используют еще несколько небезызвестных проектов: Pwnie Express, Kali Linux, Snoopy, Jasager.

AirJack

ссылка на сайт
Одна из лучших, по мнению многих экспертов, утилит (а вернее, это сразу пакет утилит) для генерации и инъекции различных 802.11 фреймов. Изначально создавалась как инструмент разработчика — для захвата и внедрения пакетов в беспроводных сетях. Но, как обычно, в умелых руках AirJack превращается в мощное оружие, которое умеет инжектить фреймы прекращения сеанса (довольно распространенная техника DoS- и MITM-атак), обнаруживать скрытые SSID и выполнять некоторые другие полезные функции.

Ettercap

Ну а эта утилита вообще одно из первых, что должно приходить на ум, как только услышишь
«MITM-атака». Инструмент довольно старый, но продолжает активно обновляться, что не может не радовать. Подробно рассказывать про его возможности смысла нет, за четырнадцать лет существования он не раз освещался в сети. Вот к примеру в руководстве наподобие этого:

ну или инструкцию с нашего сайта:

SUPERFISH

В довольно интересную ситуацию попала компания Lenovo.
Она предустанавливала на свои ноутбуки расширение Superfish, задачей которого было внедрять таргетированную рекламу в соответствие с пользовательскими интересами. Обнаружили такую фичу юзеры, не поленившиеся заглянуть в свойства SSL-сертификатов при установке защищенных соединений. Оказалось, что все сертификаты выданы некоей корпорацией Superfish Inc. Функции расширения Superfish заключались в следующем:
• взлом защищенных соединений с помощью атаки MITM;
• отображение собственного фальшивого сертификата (SHA-1, 1024-битный RSA) вместо настоящего;
• отслеживание действий пользователя;
• сбор персональной информации и загрузка ее на удаленный сервер;
• внедрение рекламы на посторонние веб-страницы;
• отображение всплывающих окон с рекламой.
Как видишь, даже крупные компании не брезгуют проведением MITM-атак. Обнадеживает лишь то, что компания публично покаялась в установке троянской программы на свои ноутбуки и дала обещание больше так не делать.

На последок..

Как обычно, мы рассмотрели не все утилиты, а лишь наиболее популярные, есть еще немало малоизвестных проектов, о которых мы, возможно, как-нибудь поговорим. Как видишь, недостатка в инструментах для проведения MITM-атак не наблюдается, причем, что бывает не так уж часто, одна из крутых тулз реализована под винду. Про nix-системы и говорить нечего — целое разнообразие. Так что, думаю, ты всегда сможешь найти подходящий инструмент для угона
чужих credentials. Упс, то есть для проведения тестирований.


Добиваться желаемого результата почти всегда можно несколькими способами. Это применимо и к области ИБ. Иногда для достижения цели можно брутить, самостоятельно искать дыры и разрабатывать сплоиты или же прислушаться к тому, что передается по сети. Причем последний вариант зачастую бывает оптимальным. Именно поэтому сегодня мы поговорим об инструментах, которые помогут вылавливать ценную для нас информацию из сетевого трафика, привлекая для этого MITM-атаки.

MITMf

Начнем с одного из наиболее интересных кандидатов. Это целый фреймворк для проведения man-in-the-middle атак, построенный на базе sergio-proxy. С недавнего времени включен в состав Kali Linux. Для самостоятельной установки достаточно клонировать репозиторий и выполнить пару команд:

Имеет расширяемую за счет плагинов архитектуру. Среди основных можно выделить следующие:

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

Запуск ARP spoofing атаки в MITMf

Запуск ARP spoofing атаки в MITMf

PuttyRider

Еще одна достойная внимания утилита. Правда, в отличие от всех остальных рассматриваемых сегодня инструментов, она очень узко специализирована. Как рассказывает сам автор проекта, на мысль создать такую утилиту его натолкнуло то, что во время проведения тестов на проникновение наиболее важные данные располагались на Linux/UNIX-серверах, к которым админы подключались по SSH/Telnet/rlogin. Причем в большинстве случаев получить доступ к машине администраторов было намного проще, чем к целевому серверу. Проникнув на машину сисадмина, остается только убедиться в наличии запущенного PuTTY и с помощью данной тулзы выстроить обратный мостик до атакующего.

Принцип работы PuttyRider

Принцип работы PuttyRider

Утилита позволяет не только снифать «общение» между админом и удаленным сервером (включая пароли), но и выполнять произвольные shell-команды в рамках данной сессии. Причем все это будет происходить абсолютно прозрачно для пользователя (админа). Если интересуют технические детали, например как реализовано внедрение в процесс PuTTY, рекомендую ознакомиться с презентацией автора.

Архитектура PuttyRider

Архитектура PuttyRider

sessionthief

Довольно старая утилита, появившаяся на свет более восьми лет назад. Предназначается для клонирования сессий путем кражи кукисов. Для угона сессий имеет базовые навыки обнаружения хостов (в случае подключения к открытой беспроводной сети или хабу) и проведения ARP poisoning. Единственная проблема — сегодня, в отличие от того, что было восемь лет назад, почти все крупные компании, такие как Yahoo или Facebook, используют SSL-шифрование, что делает эту тулзу абсолютно бесполезной. Несмотря на это, в Сети еще остается достаточно ресурсов, не использующих SSL, так что списывать утилиту со счетов пока рано. К ее плюсам можно отнести то, что она автоматически интегрируется в Firefox и создает отдельный профиль для каждой перехваченной сессии. Исходный код доступен в репозитории, а самостоятельно собрать ее можно с помощью такой последовательности команд:

ProxyFuzz

Непосредственно к проведению MITM-атак ProzyFuzz не имеет никакого отношения. Как можно догадаться из названия, тулза предназначена для фаззинга. Это маленький недетерминированный сетевой фаззер, реализованный на питоне, который произвольно меняет содержимое пакетов сетевого трафика. Поддерживает протоколы TCP и UDP. Можно настроить, чтобы производился фаззинг только одной стороны. Пригодится, когда нужно быстренько проверить какое-нибудь сетевое приложение (или протокол) и разработать PoC. Пример использования:

Список опций включает в себя:

  • w — задает число запросов, отправленных перед началом фаззинга;
  • c — фаззить только клиента (иначе обе стороны);
  • s — фаззить только сервер (иначе обе стороны);
  • u — UDP-протокол (в противном случае используется TCP).

The Middler

The Middler не только автоматически анализирует сетевой трафик и находит в нем кукисы, но и самостоятельно запрашивает их со стороны клиента, то есть процесс автоматизирован по максимуму. Программа гарантирует сбор всех незащищенных аккаунтов в компьютерной сети (или публичном хотспоте), к трафику которой она имеет доступ. Для корректной работы программы в системе должны быть установлены следующие пакеты: Scapy, libpcap, readline, libdnet, python-netfilter. К сожалению, репозиторий давно не обновляется, поэтому новую функциональность придется добавлять самостоятельно.

Mitmproxy

Установка предельно проста:

Intercepter-NG

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

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Читайте также: