#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»](https://timcore.ru/wp-content/uploads/2021/07/001-2-1024x515.png)
Как только Вы отредактируете логин и пароль, можно спокойно запускать фреймворк «по-дефолту», так как в конфигах еще куча настроек.
После запуска BeEF, у нас автоматически открывается браузер, где нужно ввести логин и пароль:
![После запуска BeEF, у нас автоматически открывается браузер, где нужно ввести логин и пароль](https://timcore.ru/wp-content/uploads/2021/07/002-2.png)
Жмем кнопку «Login», и переходим в основное меню:
![Жмем кнопку «Login», и переходим в основное меню](https://timcore.ru/wp-content/uploads/2021/07/003-2.png)
Обратите внимание на левый верхний угол, где расположены папки «Online Browsers». В них будет располагаться список всех браузеров, которые поймал BeEF:
![Обратите внимание на левый верхний угол, где расположены папки «Online Browsers». В них будет располагаться список всех браузеров, которые поймал BeEF](https://timcore.ru/wp-content/uploads/2021/07/004-2.png)
Как только мы поймаем жертву, т.е. ее браузер, то справа в окне мы сможем запускать команды. Для поимки пользователя, существует несколько способов, но нас интересует метод с иcпользованием XSS. Код, который нам нужен, уже есть при стартовой загрузке BeEF. Это код JavaScript, схожий с предыдущими примерами, из прошлых уроков:
![Как только мы поймаем жертву, т.е. ее браузер, то справа в окне мы сможем запускать команды.](https://timcore.ru/wp-content/uploads/2021/07/005-2.png)
Вставим его в Leafpad, для дальнейшей модификации:
![Вставим его в Leafpad, для дальнейшей модификации](https://timcore.ru/wp-content/uploads/2021/07/006-2-1024x428.png)
Как Вы уже догадались, модифицировать нам нужно не особо много. Это касается ip-адреса. Нужно просто вставить свой ip-адрес машины. Чтобы узнать его, нужно ввести команду «ifconfig» в терминале:
![ifconfig](https://timcore.ru/wp-content/uploads/2021/07/007-2-1024x507.png)
У меня это «10.0.2.5». Вставим этот адрес в скрипт, и код готов к запуску.
Нам нужно теперь открыть какую-либо уязвимую страницу, которую мы использовали ранее. Я имею ввиду уязвимое веб-приложение «DVWA».
Сразу изменим уровень безопасности, на низкий:
![Сразу изменим уровень безопасности, на низкий](https://timcore.ru/wp-content/uploads/2021/07/008-2-1024x700.png)
Откроем страницу «XSS reflected». Вспомните, что суть этой страницы сводится к выполнению кода и выводу имени, которое мы ввели в поле для ввода:
![суть этой страницы сводится к выполнению кода и выводу имени, которое мы ввели в поле для ввода](https://timcore.ru/wp-content/uploads/2021/07/009-2-1024x683.png)
В URL, на этой странице мы можем добавить скриптик, с функцией alert():
![В URL, на этой странице мы можем добавить скриптик, с функцией alert()](https://timcore.ru/wp-content/uploads/2021/07/010-1-1024x311.png)
И если мы его запустим, то получим вывод всплывающего окна:
![И если мы его запустим, то получим вывод всплывающего окна](https://timcore.ru/wp-content/uploads/2021/07/011-1-1024x690.png)
Наш ключевой URL будет схож с предыдущим, за исключением замены скриптов:
![Наш ключевой URL будет схож с предыдущим, за исключением замены скриптов](https://timcore.ru/wp-content/uploads/2021/07/012-1-1024x339.png)
Наш URL готов, и мы можем отправить его любому человеку. После открытия этой ссылки у себя в браузере, BeEF сконнектится с пользователем, что даст нам свободу действий, при выполнении многих команд. Разумеется, мало кто откроет такую ссылку, поэтому мы можем воспользоваться сервисами для сокращения ссылок.
Давайте упростим задачу для примера, и я открою эту ссылку в своем браузере, что делать не рекомендуется, но тем не менее:
![Давайте упростим задачу для примера, и я открою эту ссылку в своем браузере, что делать не рекомендуется, но тем не менее](https://timcore.ru/wp-content/uploads/2021/07/013-1024x691.png)
И если мы перейдем на вкладку BeEF, то увидим, что у нас есть браузер в папке «Online Browsers»:
![И если мы перейдем на вкладку BeEF, то увидим что у нас есть браузер в папке «Online Browsers»](https://timcore.ru/wp-content/uploads/2021/07/014-1024x685.png)
Вы можете кликнуть по этому браузеру и начать запускать команды.
Думаю, механизм понятен.
А так, на этом все. Всем хорошего дня.