Статья Whoof - Framework для тестирования уязвимостей браузеров

whoof2.png

Добрый день,Уважаемые Форумчане и Друзья.

Сегодня я хочу вас познакомить с интересным Framework.
Ему и будет посвящена данная статья.
Своим созданием этот инструмент обязан Michael Wetherald.
Также автор известен под ником compewter.Он инженер web-безопасности.

Whoof задуман для исследования безопасности браузеров.
Очень тесно связан с платформой npm,языком javascript.
По своей природе,конечно это атакующий инструмент.
И это наверное мягко сказано.

Работа его чем-то похожа на Beef,она основана на зацеплении браузеров.
Вживлении вредоносных скриптов в тело браузеров.
Соответственно ,продуманы варианты атак , управление уязвимостями.
Есть возможность изменять векторы атак в реальном режиме времени.

Обладая гибкой структурой,он позволяет применять собственные какие-то разработки.
В общем-то плюсов больше,чем минусов.
А минус в том ,что whoof чертовски сложный проект.
Во время знакомства с ним ,он просто мне не только помотал нервы.
Но и съел кучу личного времени.Запускался он очень тяжело.
И затем , я собрался с мыслями , решил не заходить на форум , пока не стартану эту штуку.
И вот , наконец-то, после решений набора ошибок , вы читаете об этом чуде.

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

Администрация Форума и автор статьи предупреждают о запрете использования Whoof в незаконных целях.
Вся информация размещена исключительно для ознакомления и изучения проблем ИБ.


Зависимости:
Node.js и npm

Установка:
Код:
# git clone https://github.com/compewter/whoof.git
# cd whoof/client
# npm install
# npm start - команда запуска

whoof использует Node / Express на стороне сервера, с React / Redux на стороне клиента.
Подключенные браузеры управляются через WebSockets.
Пользовательские атаки позволяют выполнить произвольные команды из терминала.
Их можно экспортировать и импортировать.
Для создания каналов между администратором и подключенными страницами используются 3 порта:
Victim Sockets
Admin Sockets
Admin Web App

Есть также скрытый файл конфигурации .env
Где можно редактировать условия атаки по своему разумению.
Выглядит он таким образом
Код:
const vars = {
  "VICTIM_SESSION_SECRET": "SET_ME",
  "VICTIM_SOCKET_IP": "127.0.0.1",
  "VICTIM_SOCKET_PORT": 8080,
  "ADMIN_APP_IP": "127.0.0.1",
  "ADMIN_APP_PORT": 3000,
  "ADMIN_SOCKET_PORT": 1337,
  "ADMIN_APP_PASSWD": ""
}

1) VICTIM_SESSION_SECRET - Используется экспресс-сессией для создания защищенного сеансового файла cookie для атакуемых.
2) VICTIM_SOCKET_IP - адрес для этого сервера при доступе для атакуемых,понятно ,что это IP-адрес, к которому подключаются.
3) VICTIM_SOCKET_PORT - Порт, используемый для подключения.
4) ADMIN_APP_IP - Это IP-адрес,который будет использовать приложение и сокеты администратора,а также доступ.
5) ADMIN_APP_PORT - Порт, на котором прослушивает веб-приложение администратора.
6) ADMIN_SOCKET_PORT - Порт, используемый административными сокетами для доступа к атакам и атакуемым.
7) ADMIN_APP_PASSWD - Пароль для доступа к приложению администратора.При пустой строке веб-интерфейс не защищён.

Стадии и развитие атаки:
При старте инструмента,он нам предлагает открыть страницу интерфейса.
whoof1.png
Если вы пытаетесь подключить браузер через Интернет, вам нужно будет использовать общедоступный IP-адрес и перенаправить порт.
Если вы делаете это через LAN, вы можете использовать свой внутренний IP-адрес, но убедитесь, что ваш брандмауэр не настроен на отказ в запросах на этом порту.
Зацепление происходит в момент,когда браузер атакуемого загрузит
Код:
http: // {VICTIM_SOCKET_IP}: {VICTIM_SOCKET_PORT} /hook.js
А мы будем тут же видеть уведомление о том ,что у нас есть цель.

whyoof3.png
Следующий шаг -это выбор атаки и её выполнение.
Attack Inputs-выбрали и Execute Attack-выполнили (соответствующая иконка с ядром).
Edit Attack- это для изменения вектора атаки, жмём кнопку редактирования и меняем.

Затем , можно всё журналировать.
Терминал на странице администратора предоставляет полезную информацию о состоянии атак.
К слову,можно и этим терминалом пользоваться.
Советую обязательно посетить страницу wiki инструмента,где об этом рассказано более подробно
Тем более,что очень много опций,которые я здесь не стал приводить с описанием.
whoof4.png
В основном терминале ,мы также можем наблюдать состояние атаки,изменение поведения атакуемого.
В общем,есть над чем задуматься ).
С защитой от данных атак прекрасно справляется дополнение к браузеру no script.
По крайней мере,когда на себе пробовал,мой браузер не поддался атакам когда функции no script работали на запрет.
При разрешении выполнения скриптов,браузер сразу же попал в список целей.
Для тестирования и демонстрации возможностей whoof , имеется страница с http-протоколом и адресом localhost:8080/victim-example.html
whoof5.png
А у меня на этом всё,благодарю всех за внимание и до новых встреч.
 
Последнее редактирование:

KRCMRD

Green Team
16.11.2017
32
15
BIT
0
Имеется вопросик, есть ли возможность получения сессий "meterpreter" через данный Framework?
 

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
Имеется вопросик, есть ли возможность получения сессий "meterpreter" через данный Framework?
Нет,к сожалению этого не предусмотрено-слишком иные нюансы и векторы атак рассматриваются в этом framework в режиме он-лайн.
Действует он обособленно от Metasploit. И если имеется желание извлечь союзные инструменты для проведения атаки,то стоит рассматривать Burp.
 

KRCMRD

Green Team
16.11.2017
32
15
BIT
0
Нет,к сожалению этого не предусмотрено-слишком иные нюансы и векторы атак рассматриваются в этом framework в режиме он-лайн.
Действует он обособленно от Metasploit. И если имеется желание извлечь союзные инструменты для проведения атаки,то стоит рассматривать Burp.
Понял, спасибо за информацию
 
  • Нравится
Реакции: Vertigo
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!