- Installation
- Precompiled Binaries
- Using Docker
- Compiling from Sources
- Compiling on Android
- Termux Method
- Linux Deploy Method Debian based (like Ubuntu)
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- Bettercap 1.6
- Описание Bettercap
- Особенности bettercap
- Справка по Bettercap
- Руководство по Bettercap
- Модульные прозрачные прокси
- Примеры работы Bettercap с прозрачными прокси
- Встроенный HTTP сервер
- Примеры запуска Bettercap
- Установка Bettercap
Installation
bettercap supports GNU/Linux, BSD, Android, Apple macOS and the Microsoft Windows operating systems — depending if you want to install the latest stable release or the bleeding edge from the GitHub repository, you have several choices.
Precompiled Binaries
For every new release, we distribute bettercap’s precompiled binaries. In order to be able to use them, you’ll need the following dependencies on your system:
- libpcap
- libusb-1.0-0 (required by the HID module)
- libnetfilter-queue (on Linux only, required by the packet.proxy module)
Using Docker
BetterCAP is containerized using Alpine Linux — a security-oriented, lightweight Linux distribution based on musl libc and busybox. The resulting Docker image is relatively small and easy to manage the dependencies. Since it is using a multi-stage build, a Docker version greater than 17.05 is required.
To pull latest stable version of the image:
To pull latest source code build of the image:
Compiling from Sources
In order to compile bettercap from sources, make sure that:
- You have a correctly configured Go >= 1.8 environment.
- $GOPATH is defined and $GOPATH/bin is in $PATH .
- For hardware with limited resources (like Raspberry Pi Zero boards) you might want to increase the swap size.
You’ll also need to install the dependencies:
- build-essential
- libpcap-dev
- libusb-1.0-0-dev (required by the HID module)
- libnetfilter-queue-dev (on Linux only, required by the packet.proxy module)
Once you’ve met this conditions, you can run the following commands to compile and install bettercap in /usr/local/bin/bettercap :
Compiling on Android
Termux Method
This procedure and bettercap itself require a rooted device.
Install Termux and from its prompt type:
There’s a golang bug in termux about some hardcoded path, the fix is ugly but it works:
Linux Deploy Method Debian based (like Ubuntu)
Install Linux Deploy, JuiceSSH, in Linux Deploy install kalilinux_arm (u need the piggy helper and enable the SSH) and type:
You can now proceed with the compilation:
Once the build process is concluded, the binary will be located in go/bin/bettercap .
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Bettercap 1.6
Внимание: данная статья является архивной. Новой версии bettercap 2.x посвящена страница https://kali.tools/?p=3870
Описание Bettercap
bettercap — это полный, модульный, портативный и легко расширяемый инструмент и фреймворк для MITM с диагностическими и наступательными функциями всех родов, которые могут вам понадобиться для выполнения атаки человек-посередине.
Существует ли полный, модульный, портативный и простой в расширении инструмент для атаки MITM?
Если ваш ответ “ettercap”, то давайте присмотримся к нему внимательнее:
- ettercap был отличным инструментом, но его время прошло.
- фильтры ettercap не работают в большинстве случаев, являются устаревшими и трудно реализуемыми из-за особенностей языка в котором они сделаны.
- ettercap чертовски нестабилен на больших сетях … попробуйте запустить обнаружение хостов на больших сетях — больших чем обычные /24
- да, вы можете видеть подключения и сырой материал pcap, да, отличная игрушка, но будучи профессиональным исследователем вы хотите видеть только релевантный материал.
- если вы не являетесь разработчиком на C/C++, вы не можете легко расширить ettercap или сделать ваш собственный модуль.
В действительности вы могли бы использовать более одного инструмента … может быть arpspoof для непосредственного отравления (poisoning), mitmproxy для перехвата HTTP материала и внедрения вашей полезной нагрузки и т. д. … Не знаю как вы, а автор bettercap терпеть не может когда ему приходится использовать множество инструментов просто для выполнения единичной атаки, особенно когда их все нужно слаженно работать на одном дисрибутиве — ведь при этом нарушается принцип KISS.
Поэтому и был создан bettercap …
Особенности bettercap
- Динамическое обнаружение хостов + ARP Spoofing
Вы можете нацелиться на всю сеть или на единичный известный адрес, это не важно, функции bettercap по спуфингу arp и его агент по обнаружению нескольких хостов сделают за вас грязную работу.
Просто запустите инструмент и ожидайте пока он делает свою работу … и, конечно, новые машины, которые появились в сети, будут обнаружены и проспуфлены автоматически.
Если ваш роутер имеет встроенную защиту от ARP сфуфинга, то не волнуйтесь, вы можете побороть это в полудуплексном режиме (half duplex).
- Сниффер учётных данных
Встроенный сниффер в настоящее время в состоянии анализировать и печатать следующую информацию:
- посещённые URL.
- посещённые хосты HTTPS.
- отправленные методом HTTP POST данные.
- аутентификации HTTP Basic и Digest.
- HTTP кукиз.
- учётные данные FTP.
- учётные данные IRC.
- учётные данные POP, IMAP и SMTP.
- учётные данные NTLMv1/v2 ( HTTP, SMB, LDAP и т.п. ).
- учётные данные протокола DICT.
- учётные данные MPD.
- учётные данные NNTP.
- сообщения и учётные данные DHCP.
- учётные данные входа REDIS.
- учётные данные RLOGIN.
- учётные данные SNPP.
- И другое!
Автор: Simone ‘evilsocket’ Margaritelli*
Справка по Bettercap
ГЛАВНЫЕ:
-I, —interface ИНТЕРФЕЙС
Имя сетевого интерфейса — по умолчанию: eth0 [зависит от ОС]
—use-mac АДРЕС
Изменяет MAC адрес интерфейса на это значение перед выполнением атаки.
—random-mac
Изменяет MAC адрес интерфейса на случайное значение перед выполнением атаки.
-G, —gateway АДРЕС
Задать адрес шлюза вручную, если не задан, то будет получен и использован текущий шлюз.
-T, —target ADDRESS1,ADDRESS2
Целевые IP адреса, если не заданы, то целью будет вся подсеть.
—ignore ADDRESS1,ADDRESS2
Игнорировать эти адреса, если они найдены во время поиска целей.
—-no-discovery
Не искать активно хосты, просто использовать текущий ARP cache, по умолчанию отключён ( false ).
—no-target-nbns
Отключить преобразование хоста NBNS
—packet-throttle ЧИСЛО
Количество секунд (может быть десятичным числом) для ожидания между отправкой каждого пакета.
—check-updates
Проверить, доступны ли какие-либо обновления и выйти.
-h, —help
Показать доступные опции.
ВЕДЕНИЕ ЖУРНАЛА:
-O, —log LOG_FILE
Записать все сообщения в файл, если не установлена, то все сообщения будут только выведены в шелл.
—log-timestamp
Включить запись логов с временными отметками для каждой строки, по умолчанию отключено.
-D, —debug
—silent
Подавить каждое сообщение, если это не ошибка или предупреждение, по умолчанию false .
SPOOFING:
-S, —spoofer NAME
Модуль, используемый для спуфинга, доступны: ARP , ICMP , NONE — по умолчанию: ARP .
—no-spoofing
Отключить спуфинг, псевдоним для —spoofer NONE .
—full-duplex
Включить режим дуплекса.
—kill
Вместо перенаправления пакетов, этот переключатель убъёт подключения целей.
SNIFFING:
-X, —sniffer
-L, —local
Парсить пакеты идучие от/к адресу этого компьютера ( ВНИМАНИЕ: Установит -X в true ), по умолчанию отключено ( false ).
—sniffer-source ФАЙЛ
Загрузить пакеты из указанного PCAP файла вместо интерфейса ( включит сниффер ).
—sniffer-output ФАЙЛ
Сохранить все пакеты в указанный PCAP файл ( включит сниффер ).
—sniffer-filter ВЫРАЖЕНИЕ
Настроит сниффер испольовать этот BPF фильтер ( включит сниффер ).
-P, —parsers ПАРСЕР
Список парсеров для включения, разделены запятыми, «*» для всех ( ВНИМАНИЕ: Опция -X автоматически задействует все ), доступны: FTP, MYSQL, HTTPAUTH, SNMP, REDIS, POST, NTLMSS, SNPP, HTTPS, DHCP, TEAMVIEWER, IRC, MPD, WHATSAPP, MAIL, RLOGIN, URL, NNTP, PGSQL, COOKIE, DICT — по умолчанию: *
—disable-parsers ПАРСЕРЫ
Разделённый запятыми список парсеров для отключения ( ПРИМЕЧАНИЕ: Установит -X на true )
—custom-parser ВЫРАЖЕНИЕ
Использовать пользовательское регулярное выражение для захвата и показа подслушанных данных (ВНИМАНИЕ: установит -X на true ).
ПРОКСИ:
—tcp-proxy
Включить TCP прокси ( требует указание других —tcp-proxy-* опций ).
—tcp-proxy-module МОДУЛЬ
Модуль Ruby для загрузки TCP прокси.
—tcp-proxy-port ПОРТ
Установить локальный порт TCP прокси, по умолчанию 2222 .
—tcp-proxy-upstream АДРЕС:ПОРТ
Установить адрес и порт исходящего сервера TCP прокси.
—tcp-proxy-upstream-address АДРЕС
Установить адрес сервера исходящего TCP прокси.
—tcp-proxy-upstream-port ПОРТ
Установить порт сервера исходящего TCP прокси.
—proxy
Включить HTTP прокси и перенаправлять все HTTP запросы на него, по умолчанию отключён ( false ).
—proxy-port ПОРТ
Установить порт прокси HTTP, по умолчанию 8080 .
—allow-local-connections
Разрешить прямые подключения к экземпляру прокси, по умолчанию отключено ( false ).
—no-sslstrip
—log-http-response
Записывать в журнал HTTP ответы.
—no-http-logs
Подавлять запись логов HTTP запросов и ответов.
—proxy-module МОДУЛЬ
Модуль прокси Ruby для загрузки, может быть пользовательским файлом или одним из следующих: injectcss , injecthtml , injectjs .
—http-ports ПОРТ1,ПОРТ2
Список разделённых запятой HTTP портов для перенаправления на прокси, по умолчанию 80 .
—proxy-upstream-address АДРЕС
Если установлен, только запросы пришедшие с этого адреса сервера будут перенаправлены на HTTP/HTTPS прокси.
—proxy-https
Включить HTTPS прокси и перенаправлять все HTTPS запросы на него, по умолчанию отключён ( false ).
—proxy-https-port ПОРТ
Установить порт прокси HTTPS, по умолчанию 8083 .
—proxy-pem ФАЙЛ
Использовать пользовательский файл CA сертификата PEM для прокси HTTPS, по умолчанию
—https-ports PORT1,PORT2
Разделённый запятой список HTTPS портов для перенаправления на прокси, по умолчанию 443 .
—custom-proxy АДРЕС
Использовать пользовательский исходящий HTTP прокси вместо встроенного.
—custom-proxy-port ПОРТ
Указать порт пользовательского исходящего прокси HTTP, по умолчанию 8080 .
—custom-https-proxy АДРЕС
Использовать пользовательский исходящий HTTPS прокси вместо встроенного.
—custom-https-proxy-port ПОРТ
Указать порт пользовательского исходящего прокси HTTPS, по умолчанию 8083 .
—custom-redirection ПРАВИЛО
Применить пользовательское перенаправление порта, формат правила PROTOCOL ORIGINAL_PORT NEW_PORT . Например TCP 21 2100 будет перенаправлять весь TCP трафик, идущий на порт 21, к порту 2100.
СЕРВЕРЫ:
—httpd
Включить HTTP сервер, по умолчанию отключён ( false ).
—httpd-port ПОРТ
Установить порт HTTP сервера, по умолчанию 8081 .
—httpd-path ПУТЬ
Установить путь HTTP сервера, по умолчанию ./ .
—dns ФАЙЛ
Включить DNS сервер и использовать этот файл в качестве таблицы преобразования хостов.
—dns-port ПОРТ
Установить порт сервера DNS, по умолчанию 5300 .
—html-file ПУТЬ
Судя по всему, внедрение HTML файла в код страницы
Руководство по Bettercap
Страница man отсутствует.
Модульные прозрачные прокси
Модульные прозрачные прокси HTTP и HTTPS могут быть запущены с аргументом —proxy, по умолчанию ничего не происходит — только записываются HTTP запросы, но если вы укажите аргумент —proxy-module вы сможете загрузить ваши собственные модули и манипулировать HTTP трафиком по своему желанию.
Вы можете найти примеры модулей в отдельном репозитории.
Примеры работы Bettercap с прозрачными прокси
Включить прокси на порту по умолчанию ( 8080 ) без модулей ( совершенно бесполезно ):
Включить прокси и использовать пользовательский порт:
Включить прокси и использовать модуль hack_title.rb:
Отключить спуфер и включить прокси ( автономный режим прокси ):
Включить HTTPS прокси с создаваемым в реальном времени сертификатом:
Включить HTTPS прокси с пользовательским сертификатом .pem:
Встроенный 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. Дополнительно следует установить:
Информация об установке в другие операционные системы будет добавлена позже.
Источник