BeEF Framework, XSS, XSS Reflected

#1 Ловим жертв с помощью BeEF Framework, используя уязвимость Reflected XSS.

Мы с Вами прошли достаточно длинный путь, на пути изучения разных типов уязвимости XSS. Это Reflected, Stored и DOM Based XSS, на разных уровнях безопасности. Много информации узнали на протяжении всех уроков. Мы умеем обходить защиту, а также редактировать пэйлоады таким образом, чтобы они работали в различных ситуациях. На самом деле вариаций очень много, и я показал лишь саму механику процесса, с некоторыми практическими примерами.

Суть в том, что мы не видели и не знаем, как использовать эти уязвимости. Наша деятельность заключалась в том, что мы запускали функцию alert(), с каким либо сообщением. В общем, мы будем взламывать машины пользователей, которые посещают уязвимые страницы. Для реализации этих идей, мы будем использовать BeEF Framework. BeEF позволяет запускать огромное количество команд, в пораженных браузерах. Для коннекта браузера с BeEF, нужно запустить код JavaScript непосредственно в браузере. Как Вы уже догадались, BeEF использует код JavaScript, а это значит, что мы можем использовать уязвимость XSS, при открытии пользователем этой уязвимой страницы.

Переходим к рассмотрению BeEF. Мы настроем и поймаем какую-либо жертву. Рассматривать будем в Kali Linux. При запуске в первый раз, система попросит Вас изменить логин и пароль, для входа в BeEF. Он находится в файле по адресу:  «/etc/beef-xss/config.yaml», и нужно отредактировать поля «credentials»:

 нужно отредактировать поля «credentials»

Как только Вы отредактируете логин и пароль, можно спокойно запускать фреймворк «по-дефолту», так как в конфигах еще куча настроек.

После запуска BeEF, у нас автоматически открывается браузер, где нужно ввести логин и пароль:

После запуска BeEF, у нас автоматически открывается браузер, где нужно ввести логин и пароль

Жмем кнопку «Login», и переходим в основное меню:

Жмем кнопку «Login», и переходим в основное меню

Обратите внимание на левый верхний угол, где расположены папки «Online Browsers». В них будет располагаться список всех браузеров, которые поймал BeEF:

Обратите внимание на левый верхний угол, где расположены папки «Online Browsers». В них будет располагаться список всех браузеров, которые поймал BeEF

Как только мы поймаем жертву, т.е. ее браузер, то справа в окне мы сможем запускать команды. Для поимки пользователя, существует несколько способов, но нас интересует метод с иcпользованием XSS. Код, который нам нужен, уже есть при стартовой загрузке BeEF. Это код JavaScript, схожий с предыдущими примерами, из прошлых уроков:

Как только мы поймаем жертву, т.е. ее браузер, то справа в окне мы сможем запускать команды.

Вставим его в Leafpad, для дальнейшей модификации:

Вставим его в Leafpad, для дальнейшей модификации

Как Вы уже догадались, модифицировать нам нужно не особо много. Это касается ip-адреса. Нужно просто вставить свой ip-адрес машины. Чтобы узнать его, нужно ввести команду «ifconfig» в терминале:

ifconfig

У меня это «10.0.2.5». Вставим этот адрес в скрипт, и код готов к запуску.

Нам нужно теперь открыть какую-либо уязвимую страницу, которую мы использовали ранее. Я имею ввиду уязвимое веб-приложение «DVWA».

Сразу изменим уровень безопасности, на низкий:

Сразу изменим уровень безопасности, на низкий

Откроем страницу «XSS reflected». Вспомните, что суть этой страницы сводится к выполнению кода и выводу имени, которое мы ввели в поле для ввода:

 суть этой страницы сводится к выполнению кода и выводу имени, которое мы ввели в поле для ввода

В URL, на этой странице мы можем добавить скриптик, с функцией alert():

В URL, на этой странице мы можем добавить скриптик, с функцией alert()

И если мы его запустим, то получим вывод всплывающего окна:

И если мы его запустим, то получим вывод всплывающего окна

Наш ключевой URL будет схож с предыдущим, за исключением замены скриптов:

Наш ключевой URL будет схож с предыдущим, за исключением замены скриптов

Наш URL готов, и мы можем отправить его любому человеку. После открытия этой ссылки у себя в браузере, BeEF сконнектится с пользователем, что даст нам свободу действий, при выполнении многих команд. Разумеется, мало кто откроет такую ссылку, поэтому мы можем воспользоваться сервисами для сокращения ссылок.

Давайте упростим задачу для примера, и я открою эту ссылку в своем браузере, что делать не рекомендуется, но тем не менее:

Давайте упростим задачу для примера, и я открою эту ссылку в своем браузере, что делать не рекомендуется, но тем не менее

И если мы перейдем на вкладку BeEF, то увидим, что у нас есть браузер в папке «Online Browsers»:

И если мы перейдем на вкладку BeEF, то увидим что у нас есть браузер в папке «Online Browsers»

Вы можете кликнуть по этому браузеру и начать запускать команды.

Думаю, механизм понятен.

А так, на этом все. Всем хорошего дня.