#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»:
Как только Вы отредактируете логин и пароль, можно спокойно запускать фреймворк «по-дефолту», так как в конфигах еще куча настроек.
После запуска BeEF, у нас автоматически открывается браузер, где нужно ввести логин и пароль:
Жмем кнопку «Login», и переходим в основное меню:
Обратите внимание на левый верхний угол, где расположены папки «Online Browsers». В них будет располагаться список всех браузеров, которые поймал BeEF:
Как только мы поймаем жертву, т.е. ее браузер, то справа в окне мы сможем запускать команды. Для поимки пользователя, существует несколько способов, но нас интересует метод с иcпользованием XSS. Код, который нам нужен, уже есть при стартовой загрузке BeEF. Это код JavaScript, схожий с предыдущими примерами, из прошлых уроков:
Вставим его в Leafpad, для дальнейшей модификации:
Как Вы уже догадались, модифицировать нам нужно не особо много. Это касается ip-адреса. Нужно просто вставить свой ip-адрес машины. Чтобы узнать его, нужно ввести команду «ifconfig» в терминале:
У меня это «10.0.2.5». Вставим этот адрес в скрипт, и код готов к запуску.
Нам нужно теперь открыть какую-либо уязвимую страницу, которую мы использовали ранее. Я имею ввиду уязвимое веб-приложение «DVWA».
Сразу изменим уровень безопасности, на низкий:
Откроем страницу «XSS reflected». Вспомните, что суть этой страницы сводится к выполнению кода и выводу имени, которое мы ввели в поле для ввода:
В URL, на этой странице мы можем добавить скриптик, с функцией alert():
И если мы его запустим, то получим вывод всплывающего окна:
Наш ключевой URL будет схож с предыдущим, за исключением замены скриптов:
Наш URL готов, и мы можем отправить его любому человеку. После открытия этой ссылки у себя в браузере, BeEF сконнектится с пользователем, что даст нам свободу действий, при выполнении многих команд. Разумеется, мало кто откроет такую ссылку, поэтому мы можем воспользоваться сервисами для сокращения ссылок.
Давайте упростим задачу для примера, и я открою эту ссылку в своем браузере, что делать не рекомендуется, но тем не менее:
И если мы перейдем на вкладку BeEF, то увидим, что у нас есть браузер в папке «Online Browsers»:
Вы можете кликнуть по этому браузеру и начать запускать команды.
Думаю, механизм понятен.
А так, на этом все. Всем хорошего дня.