BeEF (сокращение от Browser Exploitation Framework) – платформа для эксплуатации клиент-сайд уязвимостей, таких как XSS (cross-site scripting).
Эксплуатации XSS уязвимостей зачастую уделяется мало внимания, т.к. вектора атаки нацелены на пользователей веб-приложения, а не на веб-приложение или веб-сервер. BeEF позволяет реализовывать атакующие векторы, использующие в качестве точки входа веб-браузер. Такие атаки могут использоваться в контексте watering hole и spear phishing атак, а также в контексте APT.
Принцип работы
После выявления XSS-уязвимости злоумышленник внедряет на уязвимый сайт созданный или сгенерированный скрипт для управления браузером жертвы. Если XSS хранимая, и применима ко всем посетителям сайта это может позволить злоумышленникам атаковать множественные цели одновременно.
От администратора BeEF требуется минимум усилий, достаточно просто запустить beef-xss и открыть в браузере панель управления.
После выполнения хука (js-пейлоада) BeEF браузер жертвы отобразится во вкладке «онлайн».
BeEF является кроссплатформенным и может быть установлен на Linux, MacOS или Windows систему, а также входит в состав Kali Linux.
Что бы стать жертвой достаточно выполнить в своем браузере hook.js, в результате выполнения скрипта браузер жертвы становится «ботом», которому можно будет посылать различные команды, вредоносные исполняемые файлы, перехватывать нажатия клавиш (кейлоггинг) и так далее.
Пост эксплуатация
На изображении ниже представлен перехват нажатий клавиш в браузере жертвы. Это может позволить перехватить пароль пользователя (при XSS-векторе обычно перехватывается только сессия, а не сами учетные данные).
После того, как в браузере «жертвы» выполнился javascript код, администратору BeEF доступны множественные модули пост-эксплуатации:
Модули распределены по следующим категориям:
- сбор информации;
- социо-технические векторы;
- сетевое обнаружение;
- metasploit;
- туннелирование;
- XSS-rays (поиск XSS);
- модуль удержания;
- гео-локация.
С помощью этих модулей можно производить разведку и анализ сетевых устройств, используя браузер жертвы как плацдарм для атаки.