как установить bettercap в kali linux
how to install and use bettercap 2
Last Updated on May 25, 2021 by Walid Salame Leave a Comment
Bettercap2 is another realization of the desire to improve Ettercap (along with MITM ). Let’s say right away – the Bettercap program succeeded. In the Bettercap program, you can do almost everything that Ettercap can do. In this case, we do not need additional programs and a lot of open consoles.
Bettercap features include:
Bettercap 2 versus bettercap 1.6
At the end of February, 2018 bettercap 2 came out and since then it is this version that is being actively developed, new functions are added to it. The bettercap version 1.6 is outdated and no longer supported.
There are a lot of changes in the latest versions of bettercap – the program was rewritten again, and in a different programming language: instead of Ruby, now Go. Due to the change of language and other methods used, the performance has increased dramatically, the use of CPU and memory has been optimized.
The model of interaction with the program has changed – it used to be a command line utility, at the start of which various options were used. The new version can also be launched in non-interactive mode, using options, but now interactive mode is available, as well as API.
Even the purpose of the program has changed: it used to be a modular platform for implementing complex man-in-the-middle attacks; now, in addition to supporting man-in-the-middle attacks, there is functionality for monitoring the network, monitoring and attacks on 802.11 wireless networks and BLE.
And this is not even all the changes! It is worth mentioning that native Go plugins are supported (via the packet.proxy module ), some modules support the JavaScript scripting language to manipulate data and control the program’s behavior, and the program and its caplets support native system commands.
In general, this is just another program, in which everything is new.
How to install bettercap Kali Linux
In the Kali Linux repositories, bettercap is already present, but at the time of writing there is an outdated version 1.6.2. To check which version of bettercap is currently available for installation from the official repositories, run:
If something like this is displayed:
it means the version is outdated.
If version 2.x appears there, it’s enough to install it:
Download and install the latest version of bettercap
Remove the older version of bettercap if it was installed earlier:
Fix for an already installed library:
Download the archive with the binary file of the latest bettercap version:
unpack, move, do cleaning and checking:
Installing bettercap from the source code will be discussed at the end of the article.
How to use bettercap
Now the main functional feature of a bettercap is not only and not so much the various man-in-the-middle attacks. Thanks to caplets and scripts, it is possible to implement a variety of phishing attacks and attacks based on data manipulation, the starting point of which is a man-in-the-middle attack. For this reason, it is not easy to write a comprehensive guide to bettercap.
Next will be considered very simple examples of running bettercap. Let’s start with the use of an interactive session, for this run a bettercap:
LAN monitoring To display the list of detected hosts on the local network, type the following command:
This is a passive monitoring method, since the host lookup is based on reading the ARP cache.
And the net.probe module is actively looking for hosts, sending dummy UDP packets to every possible IP on the subnet. We include this module:
We look at the detected hosts:
This is an active method – network analyzers will see that a computer with bettercap sends packets in bulk.
With the help of bettercap, you can continuously monitor the state of the network, receiving on-screen data in real time, to do this sequentially:
Interactive and non-interactive mode
Directly in an interactive session bettercap, you can execute system commands. For example, the following set of commands checks if there is a connection to the global network:
The same command (set of commands) can be executed directly in the interactive session, it is enough to put an exclamation mark before the first command:
Now we will add monitoring of connection to the Internet to the monitoring of the local network. We start an active search for local hosts:
Set the value of the ticker.commands variable — there are now three commands — two better internal commands already known to us (this is clear; net.show; ) and another set of system commands:
If desired, you can increase the period to three seconds (the default is one second):
We start the cyclical execution of the task:
In the results of the execution, pay attention to the new line “There is an Internet connection”:
And just copy into it all our commands that we entered in the interactive session, you should get the following file:
How to run spoofing and sniffing in bettercap
Let’s start with the launch of ARP spoofing:
As already shown above, to see all the hosts on the local network and select the victim, use the command:
The values of the variables must be set before the launch of the corresponding module. If you need to change the variable value of an already running module, then stop the already started module, set a new value and restart the module, for example:
For a sniffer at will, the level of verbality can be reduced:
The proxy itself is activated as follows:
A complete list of commands for the attack on the local IP 192.168.0.90, the result will be performed continuous ARP-spoofing this address, which will lead to the fact that the traffic will be redirected to the attacker’s machine, a transparent HTTP proxy, where possible, using sslstrip will the transition from HTTPS to HTTP has been made; the sniffer’s verbality has been lowered so that the data that we are not interested in is not displayed:
DNS spoofing in bettercap
By default, the DNS server responses are substituted so that an IP is inserted into each of them, indicating the interface address of the machine running bettercap. The IP address changes through the dns.spoof.address variable :
This module will only respond to requests that target the local PC. To answer all, set the dns.spoof.all variable to true:
Embedded web server in bettercap
To process requests to the web server, you can use the server installed on your system, for example, Apache is installed on Kali Linux and you just need to run it:
A better server is also built in bettercap that can render HTML pages and other static files, such as JavaScript, CSS, images, etc.
You must specify the address of the server folder by changing the value of the variable http.server.path:
To start the server (the system server, for example, Apache, must be stopped, since a conflict may arise due to the fact that different programs are trying to listen on the same port):
Monitoring WiFi networks using bettercap
In case with subsequent commands you will encounter errors, for example, like this:
Then exit the bettercap and manually switch the wireless interface to monitor mode. For example, as follows:
Now that the wireless interface is in monitor mode, run bettercap again and enter the command:
It starts the detection of Wi-Fi devices:
If you want to limit yourself to monitoring only certain channels, then execute a command like this (it sets the switch only on the first three channels):
By the way, if you later need to clear the channel list (to make the program jump across all channels), then the following command is used for this:
To show results type:
The following set of commands will start collecting information about Wi-Fi devices, will display a table with a full list of detected access points, as well as a list of the last 20 detections:
Capturing handshake in bettercap
Yes, bettercap can now do this too, and also can perform deauthentication attack.
If we want to grab a handshake from a specific access point, then we need to know the channel on which it works. In principle, this is sufficient if we are going to passively wait for the client to connect / reconnect to the AP.
To perform a deauthentication attack, we need to know the access point’s BSSID (in this case, the attack will be performed on all clients) or the client’s BSSID (in this case, the attack will be executed on one client).
Let’s start with the sniffer settings. Let’s make it verbal:
Install a filter for the handshake packages:
Let’s set up saving the received data to the wpa.pcap file :
We launch network analysis:
I’m interested in TD with BSSID 50: 46: 5d: 6e: 8c: 20, you can set the filter:
The following two commands are optional, they will periodically clear the screen and display a table with the base stations they see (you can see if the attacked Access Point has clients at all), if you don’t want it, then skip these commands:
We proceed to deauthentication. The attack can be performed in two forms:
A file with captured frames can be opened for inspection in Wireshark :
To filter four-stage handshakes, use a filter:
n addition to bettercap, there are already enough programs that can grab handshakes. The advantage of bettercap is that we can automate the process.
For example, the following command checks the capture file and displays information about the handshake (s) if they are found there:
Slightly more verbal command:
We need this command to write a caplet that will work according to the following logic:
To do this, I create the file HS_capture_50465d6e8c20.cap with the following contents:
The program will work until you grab a handshake. But after grabbing the handshake, bettercap will complete its work and will no longer bother the clients of the network.
Creating a fraudulent access point bettercap
Among the Wi-Fi functions, it is possible to create a fraudulent access point – with or without encryption.
Creating a fake Banana access point with BSSID DE: AD: BE: EF: DE: AD on channel 5 without encryption:
As you can see, there is plenty of room for automation and various combined attacks, including automated attacks based on social engineering.
Bettercap caplet overview
Before starting this attack, you need to start the BeEF service yourself, or edit the caplets, adding the appropriate command there.
The first caplet implements passively, the second – actively, using traffic redirection from other hosts using ARP-spoofing.
If someone uploaded the payload:
Facebook password theft
You yourself need to take care of creating the fake login page and starting the server. The Makefile instructions file will help you with this (if you have a caplet repository downloaded, run the Bash command line):
Collecting usernames and passwords using invisible forms
The essence of the attack is as follows: if you previously entered your login and password on the site, then if the form is present on the page, the browser automatically fills in the previously entered data. Firefox does it right away; Chrome requires any user interaction — for example, a click anywhere on a web page. This form may not be visible. So, the attacker injects an invisible form on the pages of the site, into which the browser itself enters the login and password, the form transmits the data to the attacker.
This is implemented in the login-man-abuse.cap caplet.
Redirect IPv4 DNS queries using DHCPv6 responses
The approximate point is that in modern versions of Windows, the system is set to give preference to IPv6. The attacker responds with DHCPv6 messages, provides the system with a link-local IPv6 address, and indicates the attacker’s host as the DNS server. Next, a DNS spoofing attack is performed.
The attack is implemented in mitm6.cap.
Testing http.proxy script
Kaplet proxy-script-test.cap will help you test the operation of the module script in JavaScript. There is a proxy-script-test.js file in the pair.
Change line of bettercap interactive session
You can customize the string in which you enter commands. Including you can show useful information in it. An example of such a setting with statistics output is contained in test-prompt-stats.cap.
You can write your own caplets, if desired, interesting examples can be offered to be added to the repository. Installing bettercap from source code on Kali Linux You must install the Go compiler.
Install the necessary packages for compilation:
Fix for an already installed library:
Download the source code, compile, install:
To further update the program:
Conclusion
As you can see, a bettercap from a simple and fun program for man-in-the-middle attacks has grown into a powerful combine for analyzing traffic, testing and performing various network and wireless attacks.
To simplify routine actions, you can write small caplets into several commands for example, to start sniffing on a local network, or to collect information about WiFi networks.
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Bettercap 1.6
Внимание: данная статья является архивной. Новой версии bettercap 2.x посвящена страница https://kali.tools/?p=3870
Описание Bettercap
bettercap — это полный, модульный, портативный и легко расширяемый инструмент и фреймворк для MITM с диагностическими и наступательными функциями всех родов, которые могут вам понадобиться для выполнения атаки человек-посередине.
Существует ли полный, модульный, портативный и простой в расширении инструмент для атаки MITM?
Если ваш ответ “ettercap”, то давайте присмотримся к нему внимательнее:
В действительности вы могли бы использовать более одного инструмента … может быть arpspoof для непосредственного отравления (poisoning), mitmproxy для перехвата HTTP материала и внедрения вашей полезной нагрузки и т. д. … Не знаю как вы, а автор bettercap терпеть не может когда ему приходится использовать множество инструментов просто для выполнения единичной атаки, особенно когда их все нужно слаженно работать на одном дисрибутиве — ведь при этом нарушается принцип KISS.
Поэтому и был создан bettercap …
Особенности bettercap
Вы можете нацелиться на всю сеть или на единичный известный адрес, это не важно, функции bettercap по спуфингу arp и его агент по обнаружению нескольких хостов сделают за вас грязную работу.
Просто запустите инструмент и ожидайте пока он делает свою работу … и, конечно, новые машины, которые появились в сети, будут обнаружены и проспуфлены автоматически.
Если ваш роутер имеет встроенную защиту от ARP сфуфинга, то не волнуйтесь, вы можете побороть это в полудуплексном режиме (half duplex).
Встроенный сниффер в настоящее время в состоянии анализировать и печатать следующую информацию:
Автор: Simone ‘evilsocket’ Margaritelli*
Справка по Bettercap
ГЛАВНЫЕ:
Имя сетевого интерфейса — по умолчанию: eth0 [зависит от ОС]
—use-mac АДРЕС
Изменяет MAC адрес интерфейса на это значение перед выполнением атаки.
—random-mac
Изменяет MAC адрес интерфейса на случайное значение перед выполнением атаки.
Задать адрес шлюза вручную, если не задан, то будет получен и использован текущий шлюз.
Целевые IP адреса, если не заданы, то целью будет вся подсеть.
—ignore ADDRESS1,ADDRESS2
Игнорировать эти адреса, если они найдены во время поиска целей.
—-no-discovery
Не искать активно хосты, просто использовать текущий ARP cache, по умолчанию отключён ( false ).
—no-target-nbns
Отключить преобразование хоста NBNS
—packet-throttle ЧИСЛО
Количество секунд (может быть десятичным числом) для ожидания между отправкой каждого пакета.
—check-updates
Проверить, доступны ли какие-либо обновления и выйти.
Показать доступные опции.
ВЕДЕНИЕ ЖУРНАЛА:
Записать все сообщения в файл, если не установлена, то все сообщения будут только выведены в шелл.
—log-timestamp
Включить запись логов с временными отметками для каждой строки, по умолчанию отключено.
—silent
SPOOFING:
—no-spoofing
—full-duplex
Включить режим дуплекса.
—kill
Вместо перенаправления пакетов, этот переключатель убъёт подключения целей.
SNIFFING:
Парсить пакеты идучие от/к адресу этого компьютера ( ВНИМАНИЕ: Установит -X в true ), по умолчанию отключено ( false ).
—sniffer-source ФАЙЛ
Загрузить пакеты из указанного PCAP файла вместо интерфейса ( включит сниффер ).
—sniffer-output ФАЙЛ
Сохранить все пакеты в указанный PCAP файл ( включит сниффер ).
—sniffer-filter ВЫРАЖЕНИЕ
Настроит сниффер испольовать этот BPF фильтер ( включит сниффер ).
—disable-parsers ПАРСЕРЫ
—custom-parser ВЫРАЖЕНИЕ
Использовать пользовательское регулярное выражение для захвата и показа подслушанных данных (ВНИМАНИЕ: установит -X на true ).
ПРОКСИ:
—tcp-proxy
Включить TCP прокси ( требует указание других —tcp-proxy-* опций ).
—tcp-proxy-module МОДУЛЬ
Модуль Ruby для загрузки TCP прокси.
—tcp-proxy-port ПОРТ
—tcp-proxy-upstream АДРЕС:ПОРТ
Установить адрес и порт исходящего сервера TCP прокси.
—tcp-proxy-upstream-address АДРЕС
Установить адрес сервера исходящего TCP прокси.
—tcp-proxy-upstream-port ПОРТ
Установить порт сервера исходящего TCP прокси.
—proxy
Включить HTTP прокси и перенаправлять все HTTP запросы на него, по умолчанию отключён ( false ).
—proxy-port ПОРТ
—allow-local-connections
Разрешить прямые подключения к экземпляру прокси, по умолчанию отключено ( false ).
—no-sslstrip
—log-http-response
Записывать в журнал HTTP ответы.
—no-http-logs
Подавлять запись логов HTTP запросов и ответов.
—proxy-module МОДУЛЬ
—http-ports ПОРТ1,ПОРТ2
—proxy-upstream-address АДРЕС
Если установлен, только запросы пришедшие с этого адреса сервера будут перенаправлены на HTTP/HTTPS прокси.
—proxy-https
Включить HTTPS прокси и перенаправлять все HTTPS запросы на него, по умолчанию отключён ( false ).
—proxy-https-port ПОРТ
—proxy-pem ФАЙЛ
Использовать пользовательский файл CA сертификата PEM для прокси HTTPS, по умолчанию
—https-ports PORT1,PORT2
—custom-proxy АДРЕС
Использовать пользовательский исходящий HTTP прокси вместо встроенного.
—custom-proxy-port ПОРТ
—custom-https-proxy АДРЕС
Использовать пользовательский исходящий HTTPS прокси вместо встроенного.
—custom-https-proxy-port ПОРТ
—custom-redirection ПРАВИЛО
СЕРВЕРЫ:
—httpd
Включить HTTP сервер, по умолчанию отключён ( false ).
—httpd-port ПОРТ
—httpd-path ПУТЬ
—dns ФАЙЛ
Включить DNS сервер и использовать этот файл в качестве таблицы преобразования хостов.
—dns-port ПОРТ
—html-file ПУТЬ
Судя по всему, внедрение HTML файла в код страницы
Руководство по Bettercap
Страница man отсутствует.
Модульные прозрачные прокси
Модульные прозрачные прокси HTTP и HTTPS могут быть запущены с аргументом —proxy, по умолчанию ничего не происходит — только записываются HTTP запросы, но если вы укажите аргумент —proxy-module вы сможете загрузить ваши собственные модули и манипулировать HTTP трафиком по своему желанию.
Вы можете найти примеры модулей в отдельном репозитории.
Примеры работы Bettercap с прозрачными прокси
Включить прокси на порту по умолчанию ( 8080 ) без модулей ( совершенно бесполезно ):
Включить прокси и использовать пользовательский порт:
Включить прокси и использовать модуль hack_title.rb:
Отключить спуфер и включить прокси ( автономный режим прокси ):
Включить HTTPS прокси с создаваемым в реальном времени сертификатом:
Встроенный HTTP сервер
Вы хотите сервер с вашими пользовательскими файлами javascript в сети? Может вы хотите вставить пользовательские скрипты или изображения в HTTP ответы используя модуль прозрачного прокси, но у вас нет публичного сервера для этого? Чувак, не волнуйся.
Встроенный HTTP сервер поставляется с bettercap, он позволяет иметь сервер с собственным контентом на вашей машине без установки и настройке другого программного обеспечения вроде Apache, nginx или lighttpd.
Вы можете использовать прокси модуль примерно так:
И затем используйте его для инжекта файла js в каждый HTTP ответ в сети, использование самого bettercap как сервера для файла:
Примеры запуска Bettercap
Режим сниффера по умолчанию, все парсеры включены:
Включить сниффер и загрузить только некоторые парсеры:
Включить сниффер + все парсеры и парсить также локальный трафик:
Включить сниффер + все парсеры и дампить всё в файл pcap:
Как насчёт сохранения только HTTP трафика в pcap файл?
Установка Bettercap
Установка в Kali Linux
Установка в Debian, Ubuntu, Mint
Все зависимости будут автоматически установлены через систему GEM, в некоторых случаях вам понадобится установить некоторые системные зависимости, чтобы всё работало:
Стабильный релиз ( GEM )
Релиз в разработке
После установки bettercap, сразу можно перейти к работе так:
Установка в BlackArch
Программа предустановлена в BlackArch. Дополнительно следует установить:
Информация об установке в другие операционные системы будет добавлена позже.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Новая версия bettercap 2.x: как установить и использовать в 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 в данный момент доступна для установки из официальных репозиториев, выполните:
Если будет выведено что-то вроде:
значит версия является устаревшей.
Если там появится версия 2.x, то для её установки достаточно выполнить:
Скачивание и установка последней версии bettercap
Удалим устаревшую версию bettercap, если она была установлена ранее:
Фикс для уже установленной библиотеки:
Скачиваем архив с бинарным файлом последней версии bettercap:
Распаковываем, перемещаем, делаем очистку и проверку:
Установка bettercap из исходного кода будет рассмотрена в конце статьи.
Инструкция по использованию bettercap
Теперь главной функциональной особенностью bettercap является не только и не столько различные атаки человек-посередине. Благодаря каплетам и скриптам, возможны реализации самых разных фишинговых атак и атак на основе манипуляции данными, отправной точкой которых является атака человек-посередине. По этой причине непросто написать исчерпывающую инструкцию по bettercap.
Чтобы примерно представить возможности программы, прочитайте перевод документации на русский язык, а также ознакомьтесь с репозиторием каплетов: многие из них имеют комментарии в исходном коде, которые помогают понять, что именно будет делать программа.
Далее будут рассмотрены совсем простые примеры запуска bettercap. Начнём с использования интерактивной сессии, для этого запустите bettercap:
Мониторинг локальной сети
Чтобы вывести список обнаруженных хостов локальной сети наберите команду:
Это пассивный метод мониторинга, поскольку поиск хостов основывается на считывании ARP кэша.
Чтобы выйти из программы, наберите q или нажмите CTRL+z.
А модуль net.probe активно ищет хосты, отправляя фиктивные UDP пакеты каждому возможному IP в подсети. Включаем этот модуль:
Смотрим обнаруженные хосты:
Это активный метод – анализаторам сети будет видно, что компьютер с bettercap массово рассылает пакеты.
С помощью bettercap можно непрерывно мониторить состояние сети, получая на экране данные в режиме реального времени, для этого последовательно выполните:
Первая команда net.probe on, как мы выяснили чуть раньше, включает активный поиск хостов, а вторая команда используется для периодического выполнения заданного набора команд. Поскольку мы не указали, какие именно команды выполнять, то выполняются команды по умолчанию, а именно clear; net.show, в результате достигается интересный эффект: в фоне постоянно происходит поиск хостов, а на экране в режиме реального времени выводится актуальная информация.
Если вам неудобно каждый раз запускать bettercap в интерактивном режиме, то вы можете использовать опцию -eval, после которой укажите команды, которые нужно выполнить. Например, предыдущий пример равнозначен такому запуску:
Прямо в интерактивной сессии bettercap можно выполнять команды системы. К примеру, следующий набор команд проверяет, имеется ли подключение к глобальной сети:
Эту же команду (набор команд) можно выполнить прямо в интерактивной сессии, достаточно перед первой командой поставить восклицательный знак:
Теперь мы к мониторингу локальной сети добавим ещё и мониторинг подключения к Интернет. Запускаем активный поиск локальных хостов:
Устанавливаем значение переменной ticker.commands – там теперь три команды – две уже известные нам внутренние команды bettercap (это clear; net.show;) и ещё один набор системных команд:
При желании, можно увеличить период до трёх секунд (по умолчанию одна секунда):
Запускаем циклическое выполнение задачи:
В результатах выполнения обратите внимание на новую строку «Есть подключение к Интернету»:
Используя знакомую нам опцию -eval это всё можно запустить ещё и таким образом:
Но кроме опции -eval есть ещё опция -caplet, которая также позволяет запустить программу с заданными командами.
Давайте создадим наш первый каплет. Для этого создайте текстовый файл с именем netmon.cap (имя можно выбрать любое):
И просто скопируйте в него все наши команды, которые мы вводили в интерактивной сессии, должен получится файл следующего содержания:
Теперь запустим bettercap с опцией -caplet, после которой укажем путь до файла с каплетом:
Как запустить спуфинг и сниффинг в bettercap
Начнём с запуска ARP-спуфинга:
По умолчанию выполняется атака на всю подсеть, поэтому если ARP-спуфинг работает плохо, то установите IP целей с помощью переменной arp.spoof.targets. Её значением может быть один IP или несколько IP перечисленных через запятую, например:
Как уже было показано выше, чтобы увидеть все хосты в локальной сети и выбрать жертву используется команда:
Значения переменных нужно устанавливать до запуска соответствующего модуля. Если вам нужно поменять значение переменной уже запущенного модуля, то остановите уже запущенный модуль, установите новое значение и вновь запустите модуль, например:
Для сниффера по желанию, можно уменьшить уровень вербальности:
Если вы хотите сохранить захваченные во время сниффинга сетевые пакеты в файл, то в качестве значения net.sniff.output укажите файл для сохранения данных
Транспарентный (прозрачный) HTTP прокси
Для анализа HTTP трафика необходимо включить http.proxy. Если его использовать совместно со спуфером, весь HTTP трафик будет перенаправляться на него и при необходимости он будет автоматически обрабатывать перенаправление портов.
Если вы хотите использовать sslstrip, то необходимо изменить значение переменной http.proxy.sslstrip, которое по умолчанию установлено на false:
Сам прокси включается так:
Полный перечень команд для атаки на локальный IP 192.168.0.90, в результате будет выполняться непрерывный ARP-спуфинг данного адреса, что приведёт к тому, что трафик будет перенаправлен на машину атакующего, на прозрачный HTTP прокси, где, по возможности, с помощью sslstrip будет сделан переход с HTTPS на HTTP, вербальность сниффера понижена, чтобы не выводились не интересующие нас данные:
Для атаки на всю подсеть, из этого списка команд пропустите команду set arp.spoof.targets 192.168.0.90.
DNS-спуфинг в bettercap
За подмену DNS запросов отвечает модуль dns.spoof. Вы можете выполнить настройку перед его запуском.
По умолчанию спуфятся все домены, если вы хотите это изменить, то перечислите их через запятую в качестве значения переменной dns.spoof.domains. Например, я хочу спуфить только два домена suip.biz и mi-al.ru, тогда:
По умолчанию ответы DNS сервера подменяются так, что в каждый из них вставляется IP, указывающий на адрес интерфейса той машины, на которой запущен bettercap. IP адрес меняется через переменную dns.spoof.address:
Этот модуль будет отвечать только на те запросы, которые нацелены на локальный ПК, чтобы отвечать на все установите значение переменной dns.spoof.all на true:
Для запуска модуля:
Встроенный веб-сервер в bettercap
Для обработки запросов к веб-серверу вы можете использовать установленный в вашей системе сервер, например, в Kali Linux установлен Apache и его достаточно только запустить:
В bettercap также встроен простой сервер, который может отдавать HTML страницы и другие статичные файлы, например JavaScript, CSS, картинки и т.п.
Нужно указать адрес папки сервера, изменив значение переменной http.server.path:
О дополнительных опциях для настройки вы узнаете на странице с документацией.
Для запуска сервера (системный сервер, например Apache, должен быть остановлен, поскольку может возникнуть конфликт из-за того, что разные программы пытаются прослушивать один и тот же порт):
Мониторинг Wi-Fi сетей
Это новая функция bettercap. Кстати, ещё добавлена поддержка Bluetooth Low Energy.
Для работы с Wi-Fi нужно использовать опцию -iface, после которой указать имя беспроводного интерфейса:
В случае, если при последующих командах у вас будут возникать ошибки, например, такая:
То выйдете из bettercap и вручную переведите беспроводной интерфейс в режим монитора. Например, следующим образом:
Теперь, когда беспроводной интерфейс в режиме монитора, снова запускаем bettercap и вводим команду:
Она запускает обнаружение Wi-Fi устройств:
Если вы хотите ограничится мониторингом только определённых каналов, то выполните команду вроде этой (она устанавливает переключение только по первым трём каналам):
Кстати, если вам в дальнейшем понадобится очистить список каналов (сделать так, чтобы программа прыгала по всем каналам), то для этого используется следующая команда:
Чтобы показать результаты наберите:
Следующий набор команд запустит сбор информации о Wi-Fi устройствах, будет выводить таблицу с полным перечнем обнаруженных точек доступа, а также список из последних 20 обнаружений:
Захват рукопожатий в bettercap
Да, bettercap теперь умеет и это, причём также умеет выполнять атаку деаутентификация.
Если мы хотим захватить рукопожатие от конкретной точки доступа, то нам нужно знать канал, на котором она работает. В принципе, этого достаточно, если мы собираемся пассивно ожидать, когда клиент подключится/переподключится к ТД.
Для выполнения атаки деаутентификация нам нужно знать BSSID точки доступа (в этом случае атака будет выполняться в отношении всех клиентов) или BSSID клиента (в этом случае атака будет выполнятся в отношении одного клиента).
Начнём с настройки сниффера. Сделаем его вербальным:
Установим фильтр для пакетов рукопожатия:
Настроем сохранение полученных данных в файл wpa.pcap:
Сниффер каждый раз запускается одинаково. Дальнейшие значения переменных зависят от атакуемой цели.
Цель, которую я хочу атаковать, работает на 8 канале, поэтому устанавливаю канал:
Запускаем анализ сети:
Меня интересует ТД с BSSID 50:46:5d:6e:8c:20, можно установить фильтр:
Следующие две команды опциональные, они будут периодически очищать экран и выводить таблицу с увиденными базовыми станциями (можно посмотреть, есть ли вообще у атакуемой Точки Доступа клиенты), если вы этого не хотите, то пропустите эти команды:
Переходим к деаутентификации. Атаку можно выполнять в двух формах:
В первом случае будут деаутентифицироваться все клиенты, во втором – конкретный указанный клиент. Я хочу деаутентифицировать всех клиентов точки доступа, тогда моя команда:
Файл с захваченными фреймами можно открыть для проверки в Wireshark:
Чтобы отфильтровать четырёхэтапные рукопожатия, используйте фильтр:
Кроме bettercap уже существует достаточно программ, которые умеют захватывать рукопожатия. Преимуществом bettercap является то, что мы можем автоматизировать процесс.
К примеру, следующая команда проверяет файл захвата и выводит информацию о рукопожатии(ях) если они там обнаружены:
Чуть более вербальная команда:
Нам нужна эта команда для написания каплета, который будет работать по следующей логике:
Для этого я создаю файл HS_capture_50465d6e8c20.cap со следующим содержимым:
Программа будет работать пока не захватит рукопожатие. Но после захвата рукопожатия, bettercap завершит свою работу и больше не будет беспокоить клиентов сети.
Создание мошеннической точки доступа
Среди Wi-Fi функций имеется возможность создавать мошенническую точку доступа – с шифрованием или без.
Создание поддельной точки доступа «Banana» с BSSID DE:AD:BE:EF:DE:AD на 5 канале без шифрования:
Как можно увидеть – имеется большой простор для автоматизации и различных комбинированных атак, в том числе автоматизированных атак на основе социальной инженерии.
Обзор каплетов 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 выполните):
Затем уже в bettercap:
Сбор 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 ответы
Примерная суть в том, что в современных версиях 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. В нём показывается поиск данных по регулярному выражению и сохранение данных в файл, за это отвечают команды:
Изменение строки интерактивной сессии bettercap
Можно настраивать строку, в которую вы вводите команды. В том числе можно показывать в ней полезную информацию. Пример такой настройки с выводом статистики содержится в test-prompt-stats.cap.
Изменение содержимого загружаемых веб-страниц
Каплет web-override.cap переписывает любую загруженную страницу на ту, которую указал атакующий. В паре идёт файл web-override.js, это модуль http.proxy и именно в нём описываются выполняемые действия, например, какую страницу показывать.
Вы можете писать свои собственные каплеты, при желании, интересные примеры можно предлагать для добавления в репозиторий.
Установка bettercap из исходного кода в Kali Linux
Необходимо установить компилятор Go. Подробно процесс установки описан здесь: https://zalinux.ru/?p=1245
Установите необходимые для компиляции пакеты:
Фикс для уже установленной библиотеки:
Скачиваем исходный код, компилируем, устанавливаем:
Чтобы в дальнейшем обновить программу:
Заключение
Как можно увидеть, bettercap из простой и весёлой программы для атак человек-посередине разросся в мощный комбайн для анализа трафика, тестирования и выполнения разнообразных сетевых и беспроводных атак.
Для упрощения рутинных действий можно писать небольшие каплеты в несколько команд – например, для запуска сниффинга в локальной сети, или сбора информации о Wi-Fi сетях.
Связанные статьи:
Рекомендуется Вам:
37 комментариев to Новая версия bettercap 2.x: как установить и использовать в Kali Linux
При попытке снифа wifi сети получаю ноль полезной информации.
затем 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:
Если использовать совместно со спуфером, весь HTTP трафик будет перенаправляться на него и при необходимости он будет автоматически обрабатывать перенаправление портов.
Понятно, что мы затупили, но всё равно, автор – хам Ему достаточно ведь было одну команду написать…
запустил, не помогло, все равно не видит нет ни одного перехода или логина отображаемого в bettercap. прокси, сниффер и arp запущены. но результат такой же как на первом моем скрине.
Ощущаю себя максимально криворуким. У тебя стало после включения http.proxy показывать данные посещаемых клиентами сети сайтов?
Да, но нестабильно: какое-то время показывает, потом останавливается. Пробовал отключать IPv6 – не могу понять, влияет или нет. Кажется, что работает стабильнее. Через провод, вроде, тоже работает лучше – но опять же атака произвольно «отваливается».
Сейчас пробую запускать с опцией -debug для отладки, в глаза бросаются надписи:
Может будет лучше если вручную указывать адреса для атаки.
Это можно сделать через переменную
Помогла перед запуском спуфинга установка IP цели:
и теперь атака не отваливается – всё стабильно, постоянно появляются надписи (включён режим отладки):
В 2.10 у меня тоже нестабильно работает ARP-спуфинг. Заметил, что он почему-то всегда работает после сканирования сети (net.probe on; net.show)
Зачем же так усложнили то
ссылка на криптомайнер не работает добавлю это сюда
Спасибо, что обратили внимание. Проблема была в плагине 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 и все получилось на ура.
Про смену MAC в Network Manager, по каким правилам она работает и как настроить автоматическую смену в этой статье.
Для отключения автоматического подключения к сети перейдите к её настройкам:
И здесь на выбор – снять галочку с Подключаться автоматически, либо просто Забыть соединение: