Приветствие
Приветствую всех читателей Codeby!
Сегодня мы поговорим об установке замечательного инструмента Bettercap в среду linux, хотя на борту Kali уже и присутствует bettercap, но так уж повелось что после нескольких лагов того или иного инструмента, возникает мысль об переустановке (в основном с gitlab) "лагающего" инструмента. Просто на мой взгляд проще установить, чем ковырять и исправлять какие либо погрешности в уже установленном(Хотя парой всё происходит как раз наоборот, но не в этом случае!).
Предисловие
Честно говоря уже написал и хотел было опубликовать небольшую статью об установке G0lang в Kali linux, как в поиске сразу же отобразился подобный пост, но так как я уже потратил немного своего времени, а выкладывать на других ресурсах не хочется, решил немного изменить статью об установке bettercap просто дополнив её ещё и установкой языка программирования Go. Тем более расписывал установку go в kali как раз специально для последующего топика об установке Bettercap.
Итак начнём пожалуй.
Установка GO в Kali linux
GO - Он же Golang, это компилируемый, многопоточный, язык программирования от супер гиганта Google.
Помню когда только пошёл слух о скором выходе этого языка в свет, собирался его изучить и дальше использовать его как основной язык программирования в своих проектах(почему то мне так его расписали, практически убедили что это просто супер быстрый и очень простой язык программирования, при этом практически ни чем не уступающий таким языкам как C++/C#.), но жизнь так повернулась, что это направление ушло в стадию хобби и об серьёзном изучение каких либо языков программирования, пришлось просто забыть.
Для установки GO в систему Linux необходимо скачать архив с языком
Скачиваем архив куда угодно, открываем терминал, переходим в директорию с скаченным архивом и распаковываем в "/usr/local", так что бы в конечном результате GO оказался в "/usr/local/go".
К примеру скачиваем браузером этот архив в папку "Загрузки" (/root/Загрузки), открываем терминал и переходим в нужную директорию и распаковываем:
Конечно название архива может изменится и поэтому название архива меняем на "go*.tar.gz", если у вас в этой же директории не будет схожих по имени архивов, то проблем не возникнет.
Теперь необходимо определить среды в .bashrc (находится он /root/.bashrc), проще всего его открыть любым блокнотом и в конец файла добавить необходимые переменные, для скорости в уже открытом окне терминала набираем:
В самый конец файла добавляем:
Теперь необходимо указать новые определения в env var, всё в том же открытом окне терминала набираем:
Проверим установку:
Если всё сделано верно, то должна отобразится версия установленного GO.
Установка завершена!
Можно не много потестить сам язык, на официальном сайте предлагают попробовать скомпилировать небольшой сценарий:
Создайте где нибудь директорию с любым именем, что бы было ещё проще, создайте в корне директории root директорию с именем go-workspace,эта директория в дальнейшем вам пригодится для тестов с языком go, конечно если же он вас заинтересует.
В этой директории создайте текстовый файл с именем "hello.go" и добавьте код который вы видите выше, сохраните и откройте терминал в директории где располагается созданный файл (/root/go-workspace).
Далее пробуем скомпилировать и запустить:
Если всё сделано правильно, то должен получится следующий вывод:
Немного полезных источников по Go
Хочу не много долнить информацией полезных ресурсов для языка GO, вдруг кого нибудь заинтересует, или же возможно уже заинтересовал этот язык программирования.
И так:
Обновлённая Bettercap 2.x
Выпуск второго поколения Bettercap, полностью изменил отношение к этому мощному инструменту, который в свою очередь ранее использовался в основном для атак MITM.Теперь это совершенно иной инструмент с уже более расширенным функционалом и совершенно другим управлением.Раньше Bettercap запускался с определёнными опциями, теперь bettercap имеет интерактивный режим управление, что полностью изменило управление этим инструментом.Bettercap был полностью переписан с Ruby на Go, что должно по идеи отразилось на скорости и производительности программы.
Так же в связи с изменениеми управление более гибким.Теперь это не просто снифер с опциями arp спуфинга, bettercap в состояние управлять HTTP,HTTPS, и TCP трафиком, в реальном времени, есть возможность мониторинга WIFI сетей, так же прикручена возможность атаки на BLE, ну и т.д.
В общем инструмент новый, управление совершенно иное и просто необходима свежая информация по укрощению полезного инструмента.
Список возможностей:
У нас уже установлен Golang, так что установка bettercap не должна быть проблемной, но до начала всех действий нужно удалить уже установленный bettercap:
Далее как обычно в первую очередь необходимо установить зависимости:
Далее официальный источник предлагает скачать bettercap с gitlab используя golang, далее перейти в рабочую директорию, там скомпилировать и установить bettercap из исходников:
Для удобства рекомендую добавить жесткую ссылку в /usr/local:
Bettercap установлен, для просмотра доступных опций и модулей необходимо набрать help:
Приветствую всех читателей Codeby!
Сегодня мы поговорим об установке замечательного инструмента Bettercap в среду linux, хотя на борту Kali уже и присутствует bettercap, но так уж повелось что после нескольких лагов того или иного инструмента, возникает мысль об переустановке (в основном с gitlab) "лагающего" инструмента. Просто на мой взгляд проще установить, чем ковырять и исправлять какие либо погрешности в уже установленном(Хотя парой всё происходит как раз наоборот, но не в этом случае!).
Предисловие
Честно говоря уже написал и хотел было опубликовать небольшую статью об установке G0lang в Kali linux, как в поиске сразу же отобразился подобный пост, но так как я уже потратил немного своего времени, а выкладывать на других ресурсах не хочется, решил немного изменить статью об установке bettercap просто дополнив её ещё и установкой языка программирования Go. Тем более расписывал установку go в kali как раз специально для последующего топика об установке Bettercap.
Итак начнём пожалуй.
Установка GO в Kali linux
GO - Он же Golang, это компилируемый, многопоточный, язык программирования от супер гиганта Google.
Помню когда только пошёл слух о скором выходе этого языка в свет, собирался его изучить и дальше использовать его как основной язык программирования в своих проектах(почему то мне так его расписали, практически убедили что это просто супер быстрый и очень простой язык программирования, при этом практически ни чем не уступающий таким языкам как C++/C#.), но жизнь так повернулась, что это направление ушло в стадию хобби и об серьёзном изучение каких либо языков программирования, пришлось просто забыть.
Для установки GO в систему Linux необходимо скачать архив с языком
Ссылка скрыта от гостей
на текущий момент актуальная стабильная версия
Ссылка скрыта от гостей
.Скачиваем архив куда угодно, открываем терминал, переходим в директорию с скаченным архивом и распаковываем в "/usr/local", так что бы в конечном результате GO оказался в "/usr/local/go".
К примеру скачиваем браузером этот архив в папку "Загрузки" (/root/Загрузки), открываем терминал и переходим в нужную директорию и распаковываем:
Код:
cd /root/Загрузки
tar -C /usr/local -xzf go*.tar.gz
Теперь необходимо определить среды в .bashrc (находится он /root/.bashrc), проще всего его открыть любым блокнотом и в конец файла добавить необходимые переменные, для скорости в уже открытом окне терминала набираем:
Код:
leafpad /root/.bashrc
Код:
export GOROOT=/usr/local/go
export PATH=${GOROOT}/bin:${PATH}
export GOPATH=${HOME}/gopath
export PATH=${GOPATH}/bin:${PATH}
Код:
source ~/.bashrc
Код:
go version
Установка завершена!
Можно не много потестить сам язык, на официальном сайте предлагают попробовать скомпилировать небольшой сценарий:
Код:
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
В этой директории создайте текстовый файл с именем "hello.go" и добавьте код который вы видите выше, сохраните и откройте терминал в директории где располагается созданный файл (/root/go-workspace).
Далее пробуем скомпилировать и запустить:
Код:
go run hello.go # Просто запустит сценарий без компиляции.
go build hello.go
./hello
Немного полезных источников по Go
Хочу не много долнить информацией полезных ресурсов для языка GO, вдруг кого нибудь заинтересует, или же возможно уже заинтересовал этот язык программирования.
И так:
- Русский форум -
Ссылка скрыта от гостей
- Введение в программирование на Go -
Ссылка скрыта от гостей
- Первый русскоязычный сайт по Go -
Ссылка скрыта от гостей
- Ветка на форуме Cyberforum -
Ссылка скрыта от гостей
- Go в примерах на русском -
Ссылка скрыта от гостей
- Очень подробно и доступно расписано -
Ссылка скрыта от гостей
- Официальный сайт -
Ссылка скрыта от гостей
- Примеры на Go -
Ссылка скрыта от гостей
- Мануалы на Dot Net Perls -
Ссылка скрыта от гостей
- Бесплатные видеоуроки GopherCasts -
Ссылка скрыта от гостей
- Маны по database/sql
Ссылка скрыта от гостей
- Серверное программирование на Go - golang/go
- Сетевое программирование на Go -
Ссылка скрыта от гостей
- Большая коллекция готовых библиотек -
Ссылка скрыта от гостей
Обновлённая Bettercap 2.x
Выпуск второго поколения Bettercap, полностью изменил отношение к этому мощному инструменту, который в свою очередь ранее использовался в основном для атак MITM.Теперь это совершенно иной инструмент с уже более расширенным функционалом и совершенно другим управлением.Раньше Bettercap запускался с определёнными опциями, теперь bettercap имеет интерактивный режим управление, что полностью изменило управление этим инструментом.Bettercap был полностью переписан с Ruby на Go, что должно по идеи отразилось на скорости и производительности программы.
Так же в связи с изменениеми управление более гибким.Теперь это не просто снифер с опциями arp спуфинга, bettercap в состояние управлять HTTP,HTTPS, и TCP трафиком, в реальном времени, есть возможность мониторинга WIFI сетей, так же прикручена возможность атаки на BLE, ну и т.д.
В общем инструмент новый, управление совершенно иное и просто необходима свежая информация по укрощению полезного инструмента.
Список возможностей:
- Полнодуплексный и полудуплексный спуфинг ARP
- Спуфинг ICMP/DNS/арифметического процессора
- Модульный HTTP и HTTPS прозрачный прокси с поддержкой пользовательских плагинов
- Снифинг учетных данных в реальном времени для протоколов, таких как HTTP (S) POSTed данные, Стандартная аутентификация и Дайджест-аутентификация, FTP, IRC, POP, IMAP, SMTP, NTLM (HTTP, SMB, LDAP, и т.д.)
- Полностью настраиваемый сниффер
- Модульный HTTP/HTTPS проксирует для обеспечения инъекции пользовательского HTML, JS, кода CSS или URL
- мониторинг WiFi и BLE
- мониторинг сети
- SSLStripping с обходом HSTS.
- Поддержка caplets — каплетов, скрипты позволяющие автоматизировать сложные атаки.
- MITM атаки с расширенными возможностями, такими как DNS спуфинг и обход HTTPS. и т.д.
У нас уже установлен Golang, так что установка bettercap не должна быть проблемной, но до начала всех действий нужно удалить уже установленный bettercap:
Код:
apt-get remove bettercap
Код:
apt-get install libpcap-dev libnetfilter-queue-dev
Код:
go get github.com/bettercap/bettercap
cd $GOPATH/src/github.com/bettercap/bettercap
make build && sudo make install
Код:
cd /usr/local/
ln -s /gopath/src/github.com/bettercap/bettercap/./bettercap
Код:
help MODULE : List available commands or show module specific help if no module name is provided.
active : Show information about active modules.
quit : Close the session and exit.
sleep SECONDS : Sleep for the given amount of seconds.
get NAME : Get the value of variable NAME, use * alone for all, or NAME* as a wildcard.
set NAME VALUE : Set the VALUE of variable NAME.
read VARIABLE PROMPT : Show a PROMPT to ask the user for input that will be saved inside VARIABLE.
clear : Clear the screen.
include CAPLET : Load and run this caplet in the current session.
! COMMAND : Execute a shell command and print its output.
alias MAC NAME : Assign an alias to a given endpoint given its MAC address.
- help MODULE : Модуль справки, перечислит доступные команды или покажет справку определенному модулю.
Код:help net.sniff
- active: Выводит информацию об активных модулях.
- quit: Закройте сеанс и выход.
- sleep SECONDS: Сон на указанное количество секунд.
- get NAME: Получите значение имени переменной, используйте * один для всех или ИМЕНИ* как подстановочный знак.
Код:get net.sniff*
- set NAME VALUE : Установить значение переменной.
Код:set net.sniff.local true
- read VARIABLE PROMPT: Показать запрос для того что бы ввести данные которые будут сохранены внутри переменной.
Код:read set net.sniff.local
- clear: Очистит экран.
- include CAPLET: Загрузит и выполнит этот caplet на текущей сессии.
Код:include /example.cap
- ! COMMAND: Выполнит команду оболочки и распечатайте ее вывод.
Код:!iwconfig
- alias MAC NAME : Присвоит псевдоним данной конечной точке, учитывая ее MAC-адрес.
Код:alias 00:11:bc:22:fd:00 AccessName
Установка Caplets Bettercap
Caplets - Каплеты это что то вроде rc файлов для Metasploita,то есть это сценарий команд которые будут выполнятся при обращение к этому каплету.Каплеты просто необходимы для использования bettercap, конечно можно обойтись и без них, но с ними управление bettercap куда быстрее и удобней.
Устанавливаются они так же с gitlab:
Код:git clone https://github.com/bettercap/caplets.git cd caplets sudo make install
Каплеты очень удобны и при умном походе увеличат скорость работы в разы, согласитесь в некоторых случаях важны доли секунд, а тут есть возможность вместо пяти команд ввести всего одну.
Давайте посмотрим какие каплеты у нас появили и в каких директориях они находятся, давайте получим справку какие операнды у нас есть над каплетами в bettercap, для этого в уже запущеном bettercap вводим:
Код:help caplets
- caplets.show : Покажет список всех установленных caplets.
- caplets.paths : Покажет список директорий где будет искать caplets.
- caplets.update : Установит\обновит каплеты.
- Теперь в запущенном Bettercap посмотрим в каких директориях bettercap ищет caplets:
Код:caplets.paths
Давайте создадим каплет к примеру "Прозрачного прокси", для этого нужно создать текстовый файл с любым удобным для вас именем и расширением .cap, далее в него впишем следующий сценарий:
Код:set http.proxy.sslstrip true set net.sniff.verbose false set arp.spoof.targets $0 arp.spoof on http.proxy on net.sniff on
- set http.proxy.sslstrip true - Включает снятие SSL.
- set net.sniff.verbose false - Отображать пакеты только пропарсиные на уровне приложений (http/email/ftp...).
- set arp.spoof.targets $0 - "$0" Будет изменено на указанный нами ip\mac адрес, можно указать список разделяя запятой или подсетку ip адресов.
- arp.spoof on - Запускает спуфинг.
- http.proxy on - Запускает прокси сервер.
- net.sniff on - Запускает снифинг.
- К примеру назовём его "transparent-proxy.cap", его необходимо поместить в одну из тех директорий которые показал нам bettercap, наверное будет удобней создать директорию caplets в корне директории root, то есть новые каплеты можно будет класть в "/root/caplets".
$0 - Будет изменятся на то значение которые мы укажем в команде запуска, в следующих темах мы более подробно остановимся на уже предлагаемых каплетах и более подробно рассмотрим их создание.
Теперь давайте создадим ещё один каплеты который будет выключать этот прокси, создаём ещё один текстовый файл, называем его "transparent-proxy-stop.cap", открываем и добавляем в него следующий сценарий:
Код:set http.proxy.sslstrip false set net.sniff.verbose true arp.spoof off http.proxy off net.sniff off
- set http.proxy.sslstrip false - Выключает снятие SSL, просто меняем на исходное значение.
- set net.sniff.verbose true - Отображать каждый пакет который только будет захвачен, просто меняем на исходное значение.
- arp.spoof off - Останавливает спуфинг.
- http.proxy off - Останавливает прокси сервер.
- net.sniff off - Останавливает снифинг.
- Первый каплет запускается с указанием MAC/ip адреса, или подсети.Можно указывать множество целей разделяя их запятой.
В bettercap вводим:
Код:transparent-proxy 192.168.0.13
192.168.0.13 - IP адрес для которого будет использоваться прозрачный прокси.
Прокси запущен, всё работает, теперь для его остановки используем второй созданный каплет:
Код:transparent-proxy-stop
Думаю общий смысл ясен, для того что бы запустить "Прозрачное прокси", необходимо было прописывать каждую команду, задавая каждый параметр к переменным модулей, в место этого мы уже прописали все необходимые параметры и команды в один сценарий (caplet), который запускается одной командой.
Заключение
Конечно тут нет и одной десятой из всего того что можно и нужно узнать о bettercap, теперь этот инструмент даёт более широкие возможности и стал ещё более гибким в управление.
В следующих статьях мы поговорим о модулях и рассмотрим несколько примеров их использования, затронем тему с caplets, изучим часть из тех что нам предлагают и создадим несколько своих для того что бы более полное понятие их возможностей.
Последнее редактирование модератором: