Меню Рубрики

Kali linux beef xss framework

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

Описание BeEF

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

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

Справка по BeEF

Руководство по BeEF

Страница man отсутствует.

Примеры запуска BeEF

После этого графический веб-интерфейс будет доступен по адресу:

Логин пароль по умолчанию beef:beef

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Базовое использование BeEF

Данный материал является переводом официальной документации (https://github.com/beefproject/beef/wiki), изображения взяты там же.

О том, как «подцеплять» браузеры на BeEF, вы можете узнать, например, здесь.

Краткая информация о BeEF

Фреймворк по эксплуатации браузеров (BeEF) – это мощный профессиональный инструмент по безопасности. BeEF осваивает техники, которые обеспечивают опытного тестера на проникновение практическими векторами атаки на стороне клиента. В отличие от других фреймворков по безопасности, BeEF фокусируется на уязвимостях браузеров для оценки уровня безопасности мишени. Проект разрабатывается исключительно для законных исследований и тестирования на проникновение.

BeEF подцепляет один или более веб-браузеров в качестве плацдарма для запуска модулей направленных команд. Весьма вероятно, что каждый браузер находится внутри различных контекстов безопасности, каждый контекст может обеспечивать набор уникальных векторов атак. Этот фреймворк позволяет (в реальном времени) тестерам на проникновение выбрать конкретный модуль под каждый целевой браузер и, следовательно, контекст.

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

Архитектура системы BeEF

Представление

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

Высокий уровень

При запуске BeEF также стартуют два компонента: пользовательский интерфейс и коммуникационный сервер. Эти два компонента являются базовыми компонентами BeEF и в подробностях они описаны ниже.

Компоненты

Пользовательский интерфейс

Это контрольный интерфейс для использования BeEF. Отсюда пользователь может видеть все онлайн и оффлайн браузеры, в отношении них запускать эксплойты и просматривать результаты (Образец 1).

Коммуникационный сервер

Этот графический интерфейс имеет важное значение при работе BeEF. Коммуникационный сервер (CS) является компонентом, которые взаимодействуют через HTTP с подцепленными браузерами.

Использование образца 1

Это образец самого простого использования BeEF. Атакующие просто запускает BeEF (beef.rb) и входит непосредственно в пользовательский интерфейс. Отсюда атакующие видит, какие пойманные браузеры онлайн и запускает в отношении подцепленных браузеров, находящихся онлайн, эксплойты.

Настройка BeEF

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

Сетевые ограничения

Веб-интерфейс для подцепки или для управления BeEF можно ограничить подсетью. Например:

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

Веб-сервер можно полностью настроить:

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

Включение расширений

Расширения должны быть включены в главном config.yaml:

Демонстрационные расширения следует отключить при реальной работе установкой enable: false в extensions/demos/config.yaml:

Metasploit

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

Большинство настроек можно оставить со значениями по умолчанию, кроме параметров host и callback_host, которым следует иметь IP адрес хоста.

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

Команду можно записать в файл и запускать с опцией -r в msfconsole.

Конечно, IP адрес и пароль должны соответствовать предыдущему конфигурационному файлу yaml.

Запуск BeEF

Теперь вы можете запустить BeEF запуском скрипта beef в корневой директории:

Вы также можете использовать следующие опции:

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

Интерфейс

Вход

По прибытии на веб-сервер BeEF (вероятно по адресу http://localhost:3000/ui/panel если вы начали с BeEF), вы увидите страницу входа:

По умолчанию логин и пароль: beef/beef.

Домашняя страница

Домашняя страница выглядит примерно так:

Для начала, как вы можете видеть, вам доступно немного возможных действий до того, как у вас появятся пойманные браузеры. Поэтому вам нужно поймать браузер, например, используя демо страницу (url должно быть http://localhost:3000/demos/basic.html и http://localhost:3000/demos/butcher/index.html)

Подцепленные браузеры

После успешной зацепки, вы быстро увидите новый подцепленный браузер в меню beef:

Кликая на новый подцепленный браузер, вы выбираете его как текущий браузер и вы увидите новую вкладку «Current Browser» слева:

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

Командная вкладка

Идите прямиком в командную вкладку:

Перед каждым модулем вы увидите маркеры с различными цветами. BeEF обнаруживает, какой браузер вы подцепили и знает, какие модули на каком браузере работают:

  • Зелёный : Он работает на выбранном браузере. Действуйте!
  • Оранжевый : Он будет работать, но пользователь может выявить это. Обратите внимание, что это нормальное состояние для некоторых модулей, например, для модулей социальной инженерии
  • Красный : На этом браузере он не работает. Но вы всё равно можете попробовать!

Например, давайте получим внутренний IP подцепленного браузера. Выберите «Get Internal IP» в категории Host и кликните «Execute» (этот модуль должен работать на большинстве браузеров, если на хосте установлена Java). После нескольких секунд вы увидите новую команду в разделе История:

Если теперь вы перейдёте во вкладку «Logs», вы увидите два информационных сообщения:

  • Браузеры, присоединившиеся к орде зомби
  • Запущенную вами «Get Internal IP» на подцепленном браузере

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

Последние вкладки отделяют Туннельный Прокси и Xss Rays, которые будут рассмотрены чуть ниже.

Сбор информации

Отпечатки браузеров

Когда подцеплен браузер, BeEF автоматически соберёт несколько кусочков информации о подцепленном браузере:

  • Имя браузера и версию
  • User Agent браузера
  • Плагины (включая Java, ActiveX, VBS, Flash…)
  • Размер окна

Информация, которую BeEF собирает по умолчанию с подцепленного браузера:

Затем вы можете использовать различные плагины для сбора более детальной информации по браузерам:

  • Модуль Browser Fingerprinting использует url по запросу для идентификации браузера. Это может быть полезно, если пользователь сменил его user agent.
  • Вы можете завершить список плагинов с модулями Detect Firebug, Detect popup blocker, Detect Google Desktop, Detect unsafe ActiveX…

Результат модуля по отпечаткам браузеров:

Сбор информации о системе

Используя несколько модулей, вы также можете собрать информацию о системе подцепленного браузера:

  • Internet Explorer имеет разрешительные ограничения, позволяющие обнаружить установленное программное обеспечение (module Detect Softwares) и даже ключи регистра (осторожно, в этом случае у пользователя появится окно запроса с сообщением авторизации).
  • Если браузеры санкционируют Java, модуль Get Internal IP позволит выявить IP адрес системы (более забавные трюки с сетью будут описаны позже).
  • Модуль Get System Info также использует апплет Java для сбора детальной информации о системе: подробности об операционной системе, подробности о Java JVM, IP адрес, объём памяти…
  • Также возможно получить расположение пользователя если использовать API геолокации или используя трюк с запросом в Google карты.
  • JavaScript API по умолчанию, конечно, позволяет получить данные, сохранённые в буфере обмена.

Результат модуля Get System:

Отпечатки пользовательского поведения

Подцепленный браузер также позволяет раскрыть некоторые информацию по поведению пользователя:

  • Используя трюки JavaScript возможно определить, посещал ли уже браузер данный URL или данный домен.
  • Два модуля могут использоваться чтобы узнать, залогинен ли пользователь в социальных сетях и использует ли пользователь TOR.

Социальная инженерия

При наличии подцепленного браузера, вы можете модифицировать всю страницу и выполнять различные действия (редирект…), что предоставляет широкие возможности для атак социальной инженерией. Попробуем их обобщить на этой странице.

Запрос учётных данных

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

  • Модуль Pretty Theft печатает маленькое сообщение пользователю с требованием логина и пароля, объясняя это тем, что сессия закончилась.
  • Модуль Simple Hijacker предлагает несколько шаблонов социальной инженерии и затем, когда тот кликает по ссылке на странице, выводит пользователю приглашения.
  • Clippy – это модуль, который создаёт маленький помощник браузера, предлагающие обновления браузера.

Перенаправление на другую страницу

Вы также можете использовать модули BeEF для перенаправления на внешние страницы:

  • Используя базовый модуль ля редиректа браузера, вы можете перенаправить подцепленную страницу на другую страницу. Обратите внимание, что быть перенаправленным может быть странным для пользователя и вы можете потерять зомби. Для предотвращения потери браузера из BeEF, вы также можете использовать модуль редиректа с iframe, который откроет на 100% iframe с данным url.
  • Вы также можете использовать замечательный модуль tabnabbing: этот модуль выявляет, когда потерян фокус пользователя на текущей вкладке и в это время модифицирует страницу целиком, для загрузки данного URL в iframe. Когда пользователь возвращается к вкладке, они напрямую увидят новую веб-страницу.

Расширения Chrome/Firefox

Требуя от пользователя установить фальшивое обновления flash, возможно установить вредоносное расширение Firefox/Chrome. Будучи установленным, это расширение может связываться с BeEF напрямую и получать доступ к намного большему количеству информации, чем код в подцепленном браузере.

Используя модуль расшения Chrome, возможно использовать вредоносное расширение для:

  • Получения всех кукиз
  • Составления списка расширений Chrome
  • Захватить контакты Google аккаунта Google в который сделан вход
  • Сделать инжект BeEF во все вкладки
  • Выполнить код JavaScript в новой вкладке
  • Сделать скриншот
  • Отправить Gvoice SMS

Другое

Также есть отличный модуль clickjacking, который позволяет пользовательскую атаку clickjacking по данному URL и сдвигаясь на целевую страницу:

Исследование сети

С хаками JavaScript возможно запустить сетевые атаки через подцепленный браузер.

Получение внутреннего IP адреса

Для получения IP адреса, используемого системой с зомби браузером, существует два модуля. С этих IP адресов становится возможно представить план адресации внутренней сети и использовать другие модули.

Модуль Get Internal IP (WebRTC) для Firefox и Chrome использует WebRTC для получения IP от каждого сетевого интерфейса.

Модуль Get Internal IP Address использует апплет Java для получения IP. Поскольку Java запускается только после клика, пользователь должен разрешить запуск неподписанных апплетов Java.

Поиск подсетей LAN

Модуль Identify LAN Subnets использует основанный на времени XHR для определения, используется ли какой-либо из популярных LAN IP адресов в пределах локальной сети(сетей) на зомби. Из этих IP становится возможным представить план внутренней адресации и использовать другие модули. Этот модуль работает только с Firefox и Chrome.

Get HTTP Servers

Модуль Get HTTP Servers загружает изображение favicon (иконка сайта) из предсказуемого пути (/favicon.ico, /favicon.png, /images/favicon.ico, /images/favicon.png) на особый IP адрес(а) для выявления веб-серверов в локальном пространстве сети(сетей) зомби машин. Из этих IP адресов становится возможным представить план внутренней адресации и использовать другие модули. Этот модуль должен быть невидимым для пользователей в Internet Explorer и Safari, однако с другими браузерами пользователи могут обратить внимание если какой-либо из просканированных хостов вызовет всплывающее окно с запросом 401 Authentication Required (требуется аутентификация).

Ping Sweep

Затем возможно запустить запросы пинг для выявления живых хостов в сети. Этот модуль существует в трёх версиях.

Модуль Ping Sweep использует основанный на времени запрос JavaScript XHR для выявления живых хостов. Этот модуль работает только в Firefox.

Модуль Ping Sweep (FF) использует напрямую Java API для отправки запросов и время ответов. Этот модуль работает только в Firefox с установленной Java.

Ping Sweep (Java), который загружает апплет Java. Поскольку Java представлена в виде кликни-для-запуска, то пользователь должен разрешить запуск неподписанных апплетов Java.

Cross-Origin Scanner (CORS)

Модуль Cross-Origin Scanner (CORS) отправляет CORS запросы указанному IP диапазону и возвращает IP адрес, порт, код статуса HTTP, заголовок страницы и содержимое страницы для каждого сервера, определённого с разрешительной CORS политикой. Этот модуль должен работать на всех современных браузерах, которые поддерживают CORS.

Cross-Origin Scanner (Flash)

Модуль Cross-Origin Scanner (Flash) отправляет запросы на указанный диапазон IP используя Flash и возвращая IP адреса, порт, заголовок страницы и веб содержимое для каждого веб-сервера, определённого с разрешительной политикой flash cross-origin. Этот модуль работает только в Firefox и Chrome с установленным Flash.

DNS Enumeration

Играясь с таймерами, с Firefox и Chrome возможно определить, данное имя хоста существует или нет. В первом случае запрос будет дольше, поскольку будет выполнено DNS преобразование, а затем начнётся TCP подключение (которое, наверное, окажется неудачным). Во втором случае, будет быстро возвращена ошибка на DNS запрос, таким образом браузер способен определить, что данная DNS запись отсутствует.

Сканирование портов

Теперь, когда мы знаем адрес подцепленной системы и несколько имён хостов, было бы интересно запустить сканирование портов. К счастью, несколько исследователей обнаружили, что возможно использовать этот же хак с таймингом для сканирования портов загружая изображения в браузер Firefox и Chrome. Эта атака включена в модуль Port Scanner.

Network Fingerprinting (Отпечатки сети)

Модуль Network Fingerprinting использует URL изображений по умолчанию для снятия отпечатков устройств, используемых в сети. Он включает список картинок по умолчанию для веб-серверов (apache, IIS) и сетевых устройств (Linksys NAS, принтеры…) и проверяет, доступна ли одна из этих картинок. Модуль должен работать во всех браузерах. Пользователи могут заметить на некоторых просканированных хостах всплывающее окно с запросов аутентификации 401 Authentication Required.

Remote CSRFs

Межсайтовая подделка запроса (CSRF) – это уязвимость, которая до сих пор редко принимается во внимание разработчиками, хотя она может иметь серьёзные последствия. BeEF включает множество модулей CSRF, особенно нацеленных на персональные роутеры (Linksys, Dlink…). К счастью, мы просто определяем один из этих роутеров во время снятия отпечатков сети на предыдущем шаге. Большинство атак CSRF позволяют модифицировать пароль администратора, хотя некоторые могут использоваться для получения обратного шелла или открыть внешние порты на устройстве.

Вы можете увидеть список CSRF модулей на странице модулей.

IRC NAT Pinning

Симулируя IRC связь от браузера, возможно склонить файервол к открытию TCP портов. Этот хак называется NAT Pinning и он включён в модуль BeEF IRC NAT Pinning.

Admin UI (Админка)

Network Map (Карта Сети)

Network Map, доступный во вкладке Network -> Map в Admin UI, представляет динамическую карту локальной сети(сетей) зомби браузера. Найденные сетевые хосты добавляются в карту автоматически.

Сетевая карта локальной сети зомби-браузера:

Network Map использует HTML5, который позволяет вам сохранить карту как изображение.

Сохранение Network Map canvas как изображения:

Кликнув правой кнопкой где угодно в Network -> Hosts вы вызовите контекстное меню, которое предоставляет опции для обнаруженных хостов.

Первые два пункта меню (для Chrome и Firefox) пробуют определить диапазоны IP адресов локальной сети:

  • Get Internal IP WebRTC. (C, FF) [Получить внутренний IP]
  • Identify LAN subnets (C, FF) [Найти локальные подсети]

Оставшиеся опции выполняют обнаружение хостов по указанному пользователем диапазону IP адресов или предопределённому списку часто используемых LAN IP адресов:

  • Discover Routers (S, FF) [Найти роутеры]
  • Discover Web Servers (ALL) [Найти веб-серверы]
  • Fingerprint HTTP (C, FF, IE, S) [Отпечатки HTTP]
  • Cross-Origin CORS Scan (IE10+, C, FF, S) [Сканирование Cross-Origin CORS]
  • Cross-Origin Flash Scan (C, FF) [Сканирование Cross-Origin Flash]

Найденные сетевые хосты доступны в Network -> Hosts panel.

Правый клик по сетевому хосту позволяет вам выполнять различные действия на хосте или всех хостах в локальной подсети, такие как:

  • Scan for HTTP servers (ALL) [Сканировать все HTTP сервера]
  • Fingerprint HTTP servers (C, FF, IE, S) [Получение отпечатков всех HTTP серверов]
  • Cross-Origin scan for CORS enabled HTTP servers (IE10+, C, FF, S) [Cross-Origin сканирование для HTTP серверов с вкключённым CORS]
  • Cross-Origin scan for Flash cross-origin enabled HTTP servers (C, FF) [Cross-Origin сканирование для HTTP серверов с включённым совместным использованием Flash на различных источниках]
  • Scan for open TCP ports (C, FF) [Сканирование открытых TCP портов]

Сетевые службы

Найденные сетевые службы доступны в панели Network -> Services.

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

  • Fingerprint HTTP servers [Снятие отпечатков с HTTP серверов]
  • Cross-Origin scan host for CORS enabled HTTP servers [Cross-Origin сканирование хоста для HTTP серверов с включённым совместным использованием ресурсов между разными источниками]
  • Cross-Origin scan host for Flash cross-origin enabled HTTP servers [Cross-Origin сканирование хоста для HTTP с включённым Flash совместным использованием ресурсов]
  • Scan for remote file include (reverse shell) [Сканирование на инклуд удалённых файлов (обратный шелл)]
  • Scan for known vulnerable Shell Shock CGIs. (reverse shell) [Сканирование CGI, о которых известно, что они уязвимы к Shell Shock. (обратный шелл)]

RESTful API

Сетевое расширение RESTful API позволяет получить идентификатор сетевого хоста и службы.

Модули Metasploit

После настройки и запуска Metasploit, модули Metasploit напрямую включаются в дерево командных модулей BeEF:

При выборе полезной нагрузки, все опции модулей Metasploit могут быть доступны непосредственно в веб-интерфейсе BeEF:

Затем вы просто должны ждать пока эксплойт отработает:

Browser Autopwn

Хотя эта функция интегрирована непосредственно в BeEF, вы с лёгкостью можете использовать функцию Browser Autopwn из Metasploit с BeEF.

Для начала запустите browser_autopwn или browser_autopwn2 в Metasploit и получите BrowserAutoPwn URL, например:

Обратите внимание BrowserAutoPwn URL: http://10.1.1.175:8080/5WNrYZjr

Затем используйте командный модуль «Create Invisible Iframe» для загрузки веб-страницы autopwn в iframe:

Теперь нужно просто ждать шелла:

Туннелирование

Туннельный прокси будет обрабатывать запросы через выбранную сессию браузера.

Представление

Туннельный прокси (TP) эффективно имитирует обратный HTTP. Выбранная сессия браузера становится туннелем, а её подцепленный браузер – точкой выхода.

Подробности

Браузер (как и вообще любое программное обеспечение, которое поддерживает HTTP прокси) с его прокси, настроенным на использование фреймворка, будет отправлять все запросы через TP. TP создаст набор инструкций, основанных на полученных подробностях запроса. Эти инструкции будут индуцировать браузер совершать эквивалентные запросы. Далее инструкции будут обёрнуты и отправлены выбранной сессии браузера для выполнения на подцепленном браузере. Браузер становиться узлом выхода для туннеля. Он будет выполнять запросы и получать HTTP ответы. Далее ответ передаётся обратно прокси BeEF, который, в свою очередь, доставляет его браузеру. Этот процесс создаёт туннель, на одном конце которого TP, а на другом – выбранный подцепленный браузер.

Запросы не являются кроссдоменными: это означает, что если текущий домен подцепленного браузера – это example.com, то браузер, использующий прокси, может отправлять запросы только example.com.

Имеются планы на будущее по расширению возможностей туннельного прокси, путём интегрирования Erlend Oftedal’s malaRIA. Это позволит туннельному прокси перенаправлять запросы каждому домену с либеральной кроссдоменной политикой.

Коммуникационный поток

Браузер -> (TP-CS) -> подцепленный браузер -> (В-домене) Веб-сервер -> подцепленный браузер -> (TP-CS) -> Браузер

Реальные сценарии

Реальных случаев применения туннельного прокси много:

  • просмотр стороны аутентификации подцепленного домена через контекст безопасности браузера жертвы (кукиз автоматически добавляются к XmlHttpRequests с jQuery)
  • индексация подцепленного домена через контекст безопасности браузера жертвы
  • поиск и эксплуатация SQLi с Burp Pro Scanner и sqlmap.

Практическое использование туннельного прокси можно посмотреть в видео здесь, это официальный канал BeEF на Youtube.

Как использовать это расширение прокси

1. Выберите подцепленный браузер, который вы хотите использовать для туннельных запросов (правой кнопкой на иконке подцепленного браузера, затем левой кнопкой на «Use As Proxy»)

2. Настройте другой браузер использовать туннельный прокси BeEF в качестве HTTP прокси. По умолчанию адрес прокси 127.0.0.1:6789

3. В этом случае у нас в качестве подцепленного браузера Opera (на правом скриншоте), а Firefox (на левом скриншоте) используется как браузер для туннельного прокси. Вы можете видеть, что Firefox параллельно просматривает тот же домен подцепленного браузера Opera (без кражи каких-либо кукиз).

4. Каждый отправленный через туннельный прокси запрос использует расширение Requester для отправки новых XHR подцепленному браузеру. Все пары сырых запросов/ответов в базе данных BeEF и могут быть проанализированы в подробностях через вкладку Requester->History.

Xss Rays

Представление

Xssrays – это XSS сканер исключительно на JavaScript. Изначально его разработал Gareth Heyes в 2009. Основное, что делает Xssrays, это парсит все ссылки и формы страницы, где он был загружен, и проверяет на XSS в GET, POST параметрах, а также в пути URI, создавая скрытый iFrames.

Подробности

Оригинальный код Heyes из 2009 использовал фрагмент location.hash чтобы эффективно иметь обратную связь между родительской и дочерней iFrames. Этот трюк был пропатчен в последних браузерах. BeEF использует новый подход, который приводит к выводам, свободным от ложных срабатываний. Причина, почему они являются свободными от ложных срабатываний в том, что BeEF должен использовать XSS для обнаружения уязвимости.

Обзор высокого уровня

Для проверки кроссдоменного XSS, мы вставляем полезную нагрузку XSS, которая будет контактировать с сервером BeEF если код JavaScript успешно выполнен (т.е. XSS подтверждена). При проверке на XSS на кроссдоменных источниках, подход совершенно слепой (поскольку мы не можем прочитать HTTP ответ в соответствии с Same Origin Policy). Используемый в BeEF подход не является свободным от ложных срабатываний, поскольку мы можем попробовать различные векторы атаки, но фреймворк не можете определить, какие символы разрешены или есть ли на месте какие-либо ограничения на длину. Эта проблема может быть минимизирована добавление большего числа векторов атак, которые покроют различные сценарии.

Как использовать расширение Xssrays

1. Выберите подцепленный браузер для использования в инжекте кода Xssrays Javascript. По умолчанию Xssrays проверит на XSS кроссдоменные ресурсы. Обратите внимание, что домен подцепленного браузера сейчас http://172.31.229.247/

Если вы хотите запустить пользовательское сканирование Xssrays, для начала вы можете сконфигурировать настройки расширения и только затем кликнуть на Scan. Здесь вы можете настроить таймау по умолчанию для удаления iFrames, а также должны ли быть проверены кроссдоменные ресурсы.

2. Когда найдена XSS уязвимость, вы увидите оповещение в логах BeEF, что-то вроде «received ray from HB». Также открыв вкладку XssRays->Logs вы можете увидеть подробности по XSS, которую нашёл XssRays.

3. Если у вас прямой доступ к приложению, вы можете протестировать находки Xssrays используя предоставленный PoC. Как вы можете видеть на изображении ниже, XSS, которую нашёл Xssrays, не была ложным срабатыванием.

Что дальше

Если Xssrays нашёл XSS на кроссдоменном ресурсе, и если у вас нет доступа к тому ресурсу (например, внутренней сетевой веб-сервер жертвы), пользователь всегда может спровоцировать жертву открыть ссылку на уязвимый ресурс используя крюк BeEF в вашем векторе атаки. Таким образом ваша площадь атаки будет расширена, и тот же браузер жертвы будет подцеплен в BeEF на 2 разных доменах: первоначальном и новом с XSS найденной в XssRays.

Закрепление

Старая школа: Всплывающее окно под браузером

Модуль Create Pop Under создаст всплывающее окно под браузером, которое открывает пустую страницу BeEF. Старая школа, но до сих пор работает!

Грязно: Спросить подтверждение для закрытия вкладки

Модуль Confirm Close Tab спрашивает подтверждение пользователя снова, снова и снова, хочет ли он закрыть вкладку. Грязно!

Незаметно: Ссылки редиректа на iframes переднего плана

Модуль Create Foreground iFrame переписывает все ссылки на странице чтобы избегнуть уход с текущей страницы. Вместо ухода, этот модуль загружает целевой URL в открытом на 100% iframe переднего плана. Незаметно, но URL не меняется!

Чисто: Человек в браузере

Модуль Man In The Browser запускает отличный браузерный хак человек в браузере: этот загруженный модуль будет обрабатывать каждый клик на новой ссылке. Для ссылок этого же домена, он будет делать AJAX запросы и загружать новую страницу вместо старой и добавлять эту страницу в историю, здесь нет разницы для пользователя с классической загрузкой, но браузер всё ещё на крючке. Из-за политики Same Origin Policy невозможно иметь это же поведение на других доменах, этот модуль откроет ссылку в новой вкладке.

Геолокация

BeEF имеет несколько методов для определения расположения подцепленного браузера.

IP геолокация

Для включения IP геолокации, загрузите базу данных MaxMind:

Затем отредактируйте ваш файл config.yaml для включения IP геолокации указав путь к базе данных. Например:

Модули

Существует несколько модулей для определения расположения подцепленного браузера.

Geolocation

Модуль Geolocation получит физическое расположение подцепленного браузера используя Phonegap API.

Get Geolocation

Модуль Get Geolocation Получит физическое расположение подцепленного браузера используя Geo-location API. У пользователя опявится запрос поделиться его расположением с подцепленным источником, если подцепленный источник ранее не был добавлен в белый список.

Get Physical Location

Модуль Get Physical Location получит информацию о геолокации основываясь на соседских беспроводных точках доступа используя инкапсуляцию внутри подписанного апплета Java. У пользователя будет запрос на запуск Java аплета.

Подробности будут включать:

  • Подробности о координатах GPS
  • Подробности об улице адреса

Если машина жертвы имеет файервол, который мониторит исходящие подключения (Zonealaram, LittleSnitch и т.д.), будет сделано предупреждение о запросе к Google картам.

Связанные статьи:

Рекомендуется Вам:

8 комментариев to Базовое использование BeEF

Добрый вечер. Помогите пожалуйста с установкой в Mint 18.02. при попытке запуска команды

выдает следующую ошибку:

каких ему файлов там не хвает или что ему надо? Помогите пожалуйста.

Это ошибка Rubygems 2.7.5. Разработчики про неё знают и, конечно же, исправят. В качестве временного решения предлагается понижение до предыдущей версии:

Насколько он сейчас актуален? Последнее обновление версии от 2016 года.

Стоит ли тратить время на тестирование? Спасибо

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Mac os shortcuts pdf
  • Mac os share screen
  • Mac os sftp client
  • Mac os set ttl
  • Mac os server yosemite