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

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

@webware

t.me/webware

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


Сегодня я хочу вас познакомить с интересным 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 - Пароль для доступа к приложению администратора.При пустой строке веб-интерфейс не защищён.


Стадии и развитие атаки:

При старте инструмента,он нам предлагает открыть страницу интерфейса.

Если вы пытаетесь подключить браузер через Интернет, вам нужно будет использовать общедоступный IP-адрес и перенаправить порт.

Если вы делаете это через LAN, вы можете использовать свой внутренний IP-адрес, но убедитесь, что ваш брандмауэр не настроен на отказ в запросах на этом порту.

Зацепление происходит в момент,когда браузер атакуемого загрузит

http: // {VICTIM_SOCKET_IP}: {VICTIM_SOCKET_PORT} /hook.js

А мы будем тут же видеть уведомление о том ,что у нас есть цель.

Следующий шаг -это выбор атаки и её выполнение.

Attack Inputs-выбрали и Execute Attack-выполнили (соответствующая иконка с ядром).

Edit Attack- это для изменения вектора атаки, жмём кнопку редактирования и меняем.


Затем , можно всё журналировать.

Терминал на странице администратора предоставляет полезную информацию о состоянии атак.

К слову,можно и этим терминалом пользоваться.

Советую обязательно посетить страницу wiki инструмента,где об этом рассказано более подробно

Тем более,что очень много опций,которые я здесь не стал приводить с описанием.

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

В общем,есть над чем задуматься ).

С защитой от данных атак прекрасно справляется дополнение к браузеру no script.

По крайней мере,когда на себе пробовал,мой браузер не поддался атакам когда функции no script работали на запрет.

При разрешении выполнения скриптов,браузер сразу же попал в список целей.

Для тестирования и демонстрации возможностей whoof , имеется страница с http-протоколом и адресом localhost:8080/victim-example.html

А у меня на этом всё,благодарю всех за внимание и до новых встреч.

Источник codeby.net

Report Page