BeEF — The Browser Exploitation Framework Project

BeEF — The Browser Exploitation Framework Project

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение 

BeEF (сокращение от Browser Exploitation Framework) – платформа для эксплуатации клиент-сайд уязвимостей. BeEF — это фреймворк с открытым исходным кодом, который фокусируется на работе с браузером, несет в себе набор всевозможных инструментов для тестирования на проникновение, векторами атаки на стороне клиента.

Принцип работы.

  • Злоумышленник внедряет на уязвимый сайт созданный или сгенерированный скрипт
  • Скрипт сигналит BeEF о том, что новый клиент находится в режиме онлайн;
  • Злоумышленник входит в панель BeEF и удаленно осуществляет управление зараженными браузерами: исполняет пейлоады и получает ответы.

Что бы стать жертвой достаточно выполнить в своем браузере hook.js, в результате выполнения скрипта браузер жертвы становится «ботом», которому можно будет посылать различные команды, вредоносные исполняемые файлы и так далее. От злоумышленника требуется минимум усилий, достаточно просто запустить beef-xss и открыть в браузере панель управления.

Установка.

BeEF является кроссплатформенным и может быть установлен на Linux, MacOS или Windows систему, а также входит в состав Kali Linux.

Полную информацию об установке можно получить в файле INSTALL.txt или в разделе WIKI проекта BeEF на Github. https://github.com/beefproject/beef/wiki/Installation

Настройка:

Весь процесс настройки BeEF следует осуществлять через конфигурационный файл:config.yaml

Настройка веб-сервера:

http:
     debug: false # Будет печатать подробные сообщения в консоль BeEF
     host: "0.0.0.0" # IP адрес веб-сервера
     port: "3000" # Порт веб-сервера 
     
     # Если BeEF работает за обратным прокси или NAT
     # возможно осуществить настройку
     # публичного имени хоста и порта
     public: "8.7.6.5"
     public_port: "3000"
     
     dns: "localhost" # Адрес сервера DNS
     web_ui_basepath: "/ui" # Путь до административного пользовательского интерфейса    
     hook_file: "/hook.js" # Путь до скрипта хука
     hook_session_name: "BEEFHOOK" # Имя сессии
     session_cookie_name: "BEEFSESSION" # Имя куки BeEF

Настройка сетевых ограничений:

В BeEF управление возможно осуществить ограничение через подсети. Например:

restrictions: 
    permitted_hooking_subnet: "10.1.0.0/16"
    permitted_ui_subnet: "127.0.0.1/32"

Настройка расширений

extension:
    requester:
        enable: true 
    proxy:
        enable: true
    metasploit:
        enable: false
    social_engineering:
        enable: true
    evasion:
        enable: false
    console:
        shell:
            enable: false

Metasploit

Расширение Metasploit должно быть настроено изменением файла config.yaml в extensions/metasploit

name: 'Metasploit'
enable: true
host: "127.0.0.1"
port: 55552
user: "msf"
pass: "abc123"
uri: '/api'
ssl: true
ssl_version: 'TLS1'
ssl_verify: true
callback_host: "127.0.0.1"
autopwn_url: "autopwn"

Для работы можно оставить почти все настройки со значением «По-умолчанию». Исключениями являются host и callback_host, которые следует менять ip-адрес хоста.

!!! Для включения RPC коммуникации, в Metasploit следует запустить следующую команду:

load msgrpc ServerHost=127.0.0.1 User=msf Pass=abc123 SSL=y

Первые шаги.

После всех настроек, можем запустить BeEF.

При запуске BeEF запускается управляющий сервер благдаря которому происходит взаимодействие с управляемыми браузерами и также нам становится доступным веб-интерфейс.



Логин и пароль по умолчанию BeEF. После авторизации у нас очень ограниченные возможности. Присутствует базовый гайд и пара тестовых страниц в которых уже залит наш скрипт и мы можем посмотреть как все работает.



Чтобы получить доступ ко все возможностям данного фреймворка, необходимо выполнить захват какого либо браузера. Это можно сделать несколькими способами.

1 способ- На какой либо странице используя XSS-уязвимость спрятать наш скрипт.

2 способ- Заманить жертву на какой либо заранее подготовленный сайт.

Рассмотрим захват браузера на примере XSS игры от Google. Введем данные и посмотрим как отреагирует приложение.



Введенная информация отобразилась на странице. Рассмотрим вариант с тегами, как на них отреагирует приложение. Отправляем запрос и сразу же смотрим в исходный код.








Видим, что тег успешно добавился, теперь, вставим в страницу расположение скрипта. Отправляем запрос и как результат мы должны захватит браузер жертвы, и он должен появиться в перечне онлайн браузера.



После захвата какого-либо браузера, нам становится доступна информация о нем, а именно что это за браузер, каким хостом используется, какие плагины установлены, с какой ОС используется и так далее.



Кроме того нам стали доступны различные модули, которые собраны во вкладке Commands, c помощью которых можно развивать нашу атаку.

Используя BeEF следует помнить, что если жертва закроет страницу со скриптом то мы потеряем доступ, поэтому неоходимо закрепиться в захваченном браузере. Для этих целей существуют модули Persimence.



Заключение:

BeEF — очень грозное «оружие» в умелых руках, дает атакующему огромное количество информации, которую, в дальнейшем, можно сохранять и использовать в атаках.

Для более подробного ознакомления с BeEF воспользуйтесь ресурсом  https://github.com/beefproject/beef/wiki.

Источник


Report Page