Введение
Приветствуем дорогих читателей! Мы продолжаем рубрику статей “Без про-v-ода” посвящённую беспроводным технологиям, атакам на них и методами защиты. В этой статье мы рассмотрим различные инструменты для MITM-атак и проверим актуальность некоторых на сегодняшний день, и на основе этой проверки найдём лучший.
Материал написан командой телеграм канала Life-Hack - Хакер
Дисклеймер: Все данные предоставленные в статье, взяты из открытых источников, не призывают к действию и являются только лишь для ознакомления, и изучения механизмов используемых технологий.
Принцип проведения MITM атак
MITM-атака (Man-in-the-Middle) представляет собой кибератаку, при которой злоумышленник перехватывает и потенциально изменяет коммуникацию между двумя сторонами, используя такие методы, как ARP и DNS спуфинг для подмены адресов, что позволяет ему перехватывать и анализировать данные, а также изменять передаваемую информацию перед её отправкой конечному получателю.
Подготовка окружения:
• Злоумышленник подготавливает необходимые инструменты. Это могут быть программы для спуфинга (например, Ettercap) и инструменты для мониторинга трафика (например, Wireshark или tcpdump).Спуфинг:
• ARP Spoofing: Злоумышленник отправляет ложные ARP (Address Resolution Protocol) сообщения в локальную сеть. Цель — связать свой MAC-адрес с IP-адресом жертвы, а также эмитировать отправителя. Это позволяет злоумышленнику перехватывать пакеты, отправляемые жертве.
• DNS Spoofing: Злоумышленник может подменить DNS-записи, чтобы направить трафик жертвы на свой сервер вместо легитимного. Это позволяет ему контролировать доступ к веб-сайтам.
Запуск инструмента для мониторинга трафика: • После успешного спуфинга злоумышленник запускает инструмент для мониторинга трафика. Этот инструмент будет перехватывать передаваемые данные между жертвой и целевым сервером.
• Программное обеспечение может захватывать пакеты, анализировать их и даже записывать содержимое передаваемых данных (например, логины, пароли, сообщения).
Перехват и анализ данных:
• Это может включать в себя нешифрованный трафик, а также попытки расшифровки трафика, если используются слабые протоколы шифрования.
Именно от этих принципов мы и будем отталкиваться всю статью, мы будем взаимодействовать с разными инструментами и совмещать их между собой.
Сеть для осуществления атак
В качестве сети будет выступать наша тестовая сеть состоящая из хоста, атакующего и жертву. Под следующими IP-адресами:
192.168.43.1 - устройство-хост являющееся роутером в нашей сети.
192.168.43.83 - атакующий.
192.168.43.193 - жертва.
Bettercap
Bettercap — это мощный, легко расширяемый и портативный фреймворк, написанный на JavaScript 62.2% и Go 37.8%, который нацелен на предоставление исследователям, красным командам и реверс-инженерам, простого и универсального решения со всеми функциями, которые могут понадобиться для проведения разведки и атаки на WiFi сети, устройства Bluetooth Low Energy, CAN-шину, беспроводные HID-устройства и Ethernet-сети.
Установка и использование
В Kali Linux этот инструмент можно установить сразу из репозиториев командой:
apt install bettercap
Как можно увидеть по описанию, инструмент многофункциональный и является неким швейцарским ножом, в рамках этой статьи мы рассмотрим его как инструмент проведения MITM атак..
Для начала запустим инструмент и просканируем локальную сеть на наличие устройств следующими командами:
net.recon on
net.probe on
net.show
net.probe off
Для запуска такой атаки нам потребуется несколько модулей для предварительной настройки и запуска. А конкретно модули: http.proxy
, net.sniff
и arp.spoof
.
Настройка будет следующей:
set http.proxy.sslstrip true
set http.proxy.sslstrip.useIDN true
set net.sniff.verbose false
set arp.spoof.targets 192.168.0.0/24
set arp.spoof.fullduplex true
Теперь остаётся только запустить эти модули и трафик сразу полетит.
net.sniff on
http.proxy on
arp.spoof on
После чего мы уже можем наблюдать все сайты которые посещает целевое устройство, а если сайты не защищены, то как на примере выше можем увидеть содержимое запросов к сайтам.
Для большего разнообразия воспользуемся инструментом driftnet чтобы наблюдать все изображения которые отображаются на сайтах которые посещает целевое устройство.
Запустим его с параметром -i
чтобы указать нужный интерфейс.
driftnet -i wlan0
При запуске должно запуститься чёрное окно, в котором и будут отображаться все изображения. К примеру зайдём на сайт сервер органов государственной власти России.
Таким образом можно просматривать все изображения которые имеются на сайтах посещаемых целевым устройством.
Перехваченный трафик с авторизацией на страницах будет выглядеть примерно так, в таких запросах инструмент всегда пишет внизу интернет-ресурс в котором была произведена авторизация, логин и пароль красным цветом.
Краткое заключение к инструменту
Bettercap очень мощный и самодостаточный инструмент, в нём имеются как функционал спуфера, так и функции отображения всего трафика, но вот к сожалению атаки внедрения js в страницы по какой-то причине не работают, если у кого-то имеется практический пример применения bettercap 2.33 в успешной связке с инструментом Beef-xss, очень ждём в комментариях.
Mitmproxy+Ettercap
Исходя из принципов проведения MITM у нас уже имеется два отдельных инструмента под задачи спуфинга и мониторинга трафика.
Инструмент для спуфинга Ettercap
Ettercap — это комплексный набор инструментов для атак типа "человек посередине". Он включает в себя перехват живых соединений, фильтрацию контента в реальном времени и множество других интересных функций. Ettercap поддерживает активное и пассивное анализирование многих протоколов и включает в себя множество функций для анализа сети и хостов.
Установка и использование
Для установки на Kali Linux потребуется установить его из официальных репозиториев.
apt install ettercap-graphical
Перед использованием Ettercap нам потребуется перевести атакующий ПК в режим пересылки(форвардинга) при помощи команды:
echo "1" > /proc/sys/net/ipv4/ip_forward
В рамках статьи мы будем использовать графическую версию инструмента. После установки запускаем инструмент следующей командой:
ettercap -G
Вот и интерфейс инструмента. Нажимаем галочку и после этого нам потребуется запустить сканирование сети чтобы выбрать цели 1 и 2. Нажимаем на лупу и после загрузки на значок напоминающий сервер.
После нам потребуется выбрать две цели, первой будет служить IP хоста, второй будет IP целевого устройства. После добавления нажимаем на значок напоминающий землю и в меню выбираем ARP poisoning.
Далее будет стоять галочка на пункте Sniff remote connections
, если не стоит - поставьте, если стоит - оставляйте так и нажимаем OK.
После чего в логах у вас должен отобразиться список, как показано выше. Если он у вас отобразился, значит часть со спуфингом готова.
Инструмент для мониторинга Mitmproxy
Mitmproxy — это интерактивный перехватывающий прокси с поддержкой SSL/TLS и консольным интерфейсом для HTTP/1, HTTP/2 и WebSockets.
Установка и использование
Так же как и инструменты выше, mitmproxy в Kali Linux можно установить из официальных репозиториев.
apt install mitmproxy
Далее нам осталось запустить команду для перенаправления на порт 8080 всех входящих TCP-пакетов на порт 80:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
Всё что нам остаётся сделать, это запустить сам инструмент посредством команды mitmproxy
.
Таким образом будет выглядеть интерфейс инструмента. Mitmproxy интуитивно понятен, можно просто кликнуть ЛКМ по интересующему нас пакету и нам высветиться вся подробная информация о нём. К примеру разберём пакет POST в котором хранятся авторизационные данные от аккаунта на сайте.
В пункте Request URLEncoded form сразу в удобном формате хранятся желанные нами строчки авторизации в виде логина и пароля.
В пункте Response хранится содержимое страницы. А в пункте Detail информация о времени обмена пакетами с сайтом.
У mitmproxy имеется множество удобного функционала, например: фильтр, маркировка, редактор запросов, захват запросов, дубликат и пр.
Краткое заключение к инструменту
В этой цепочке главным функциональным звеном является mitmproxy, в целом этот инструмент очень удобен в использовании интуитивно-понятен. Но данный инструмент больше подходит для анализа трафика.
BurpSuite+Ettercap
Инструмент для мониторинга и MITM BurpSuite
Burp Suite – это мультитул (швейцарский нож) для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и т.д.
Использование
Поскольку BurpSuite уже предустановлен в Kali Linux, его бесплатной версии в ключе данной статьи нам будет достаточно.
Запускаем Ettercap по аналогии с тем как запускали в связке с mitmproxy. Затем заходим в BurpSuite и переходим в proxy настройки.
В настройках Proxy listeners нажимаем add и выбираем наш IP в локальной сети и прописываем порт 8080.
В настройках request handling жмём галочку на пункте support invisible proxying.
Далее заходим во вкладку intercept и убеждаемся что свитч поставлен на off, если стоит на on - отключаем.
После настройки заходим во вкладку http proxy и у нас должна будет высветиться та же картина что и на предыдущих инструментах.
Теперь в качестве примера подмены данных, мы продемонстрируем подмену изображения на сайте.
Предположим что картинку со ссылкой мы хотим заменить на картинку с котиком. Для этого нам потребуется найти этот запрос в http proxy. Будем ориентироваться на то что написано перед картинкой.
Теперь нам очевидно какую картинку нужно изменить, для этого нажимаем по самому запросу ПКМ и выбираем add to scope. Во всплывающем окне после выбора нажимаем No.
Теперь заходим снова в Proxy Settings и снимаем галочку с пункта Request interception rules и ставим галочку в Response interception rules. В списке нажимаем последнюю галочку And URL Is in target scope
для того чтобы фильтровать по запросу который нам интересен.
Теперь идём во вкладку intercept и переключаем свитч на on
и пробуем перезагрузить страницу на жертве.
У жертвы должен будет до сих пор грузиться сайт. А у нас будет перехвачен нужный нам запрос, теперь абсолютно также как и искали редактируем и заменяем ссылку на наше изображение.
После редактирования нажимаем на оранжевую кнопку Forward. И теперь у жертвы появился котик.
По такому принципу можно подменять любую информацию на странице.
Заключение
В этой статье мы рассмотрели 5 инструментов для осуществления атак MITM в собственной тестовой сети. Все атаки были проведены успешно и весь процесс настройки и установки запечатлён здесь. Если у кого-то есть дополнительные идеи и инструменты к материалу, будем очень рады увидеть их в комментариях. Спасибо за прочтение!