Приветствую тебя, читатель. В этой статье я рассмотрел базовые возможности инструмента OpenBullet 2 (далее ОВ. Не путать с OpenBullet 1, данная версия инструмента устарела, мы же в статье рассмотрим последний стабильный релиз продукта. На момент написания статьи это OpenBullet 2 v.0.2.5 .)
OpenBullet 2 — это кроссплатформенный пакет автоматизации на базе ядра .NET. Он позволяет выполнять запросы к целевому веб-приложению и предлагает множество инструментов для работы с результатами. Это программное обеспечение можно использовать для очистки и анализа данных, автоматического пентеста и многого другого.
По моим личным наблюдениям данный инструмент не возымел должной популярности на пост советском пространстве, хотя наши западные коллеги активно используют ОВ и ряд его платных модификаций, таких как SilverBullet, BlackBullet и т.д. На англоязычных форумах есть целые разделы, где пользователи делятся своими конфигами для ОВ. Популярность этого инструмента вызвала у меня интерес, и я начал разбираться в принципах его работы. Часть полученной мною информации я решил изложить в статье для XSS.
Часть 1. Установка и первый запуск
OpenBullet 2 бесплатный open source продукт, поэтому мы можем скачать его прямо из GitHub тут. В списке Assests есть два zip файла. Один из них - OpenBullet2.Native.zip . Это нативный клиент ОВ, работающий только для пользователей ОС Windows. Еще один zip файл - OpenBullet2.zip содержит в себе кросс платформенный веб клиент ОВ. В статье я буду использовать именно его исключительно из визуальных предпочтений. Вы же можете использовать и нативный клиент, ведь разницы в функционале у них нет.
1.1 Установка и запус нативного клиента OpenBullet
Скачайте и распакуйте архив OpenBullet2.Native.zip. В папке с файлами найдите и запустите файл OpenBullet2.Native.exe (подсвечен синим на Фото 1.)
После запуска вы увидите стартовое окно нативного клиента. (Фото 2.)
1.2 Установка и запуск веб клиента OpenBullet
Скачайте и распакуйте архив OpenBullet2.zip . После этого вам необходимо установить ASP.NET Core Runtime по ссылке тут. Теперь запустите OpenBullet2.exe и перейдите в браузере на http://localhost:5000 .
После этого вы увидете стартовое окно веб клиента ОВ. (Фото 3.)
Часть 2. Первый конфиг
Для создания конфига перейдите во вкладку Configs. Нажмите на кнопку New. Далее вы можете указать название конфига, имя автора, категорию и установить картинку. Все это делать не обязательно, нас больше интересует вкладки боковой панели, которые открылись при создании нового конфига. (Фото 4.)
Во вкладке Readme мы можем оставить информацию для будущих пользователей конфига. Stacker - визуальный интерфейс, включающий в себя основные инструменты ОВ. Все последущие операции мы будем проводить именно в Stacker.
LoliCode позволяет пользователям добавлять собственные скрипты на одноименном языке программирования. Гайд по его использованию изложен на официальном форуме ОВ по ссылке тут.
Вкладка С# Code показывает нам то, как элементы из Stacker преобразуются в код. Ниже вы можете увидеть то, как в С# преобразился http запрос созданный в Stacker. (Фото 5.)
Теперь предлагаю перейти непосредственно в Stacker. Нажав на "+" под надписью Current stack вы откроете окно в котором будут представлены все инструменты по категориям. (Фото 6.)
Давайте создадим http запрос. Для этого нажмите на блок Requests, а потом на Http. В настройках у графы Url вы можете вставить ссылку на свою цель (по умолчанию там установлена https://google.com).
Ниже представлены поля для ввода Cookie (Custom Cookies) и для ввода заголовков (Custom Headers). Заменив ссылку на Google ссылкой, например, на Netflix и нажав Start, в поле Complete log мы обнаружим HTML код страницы. В самом низу есть кнопка View as HTML. Она может показать нам как выглядит этот сайт без CSS. (Фото 7.)
Теперь давайте немного попрактикуемся. В качестве цели возьмем один из уровней Hacker101 CTF. Вставляем ссылку https://fd3638f505230923bd69edd30737ccf3.ctf.hacker101.com/login в строку Url. Все что есть на странице - поле ввода логина и пароля, а так же кнопка Log In. Т.к. это всего лишь уровень CTF наша задача сильно упрощена, ведь нам не придется сталкиваться с капчей и на сайте отсутствует защита от ботов. Поэтому благодаря OpenBulet мы с легкостью сможем ее забрутить.
В фрагменте кода выше мы видим, что поле для ввода логина называется "username", а имя поля ввода пароля - "password". Эти данные нам пригодятся для графы Content. В ней мы указываем ОВ где именно нужно брутить. Поэтому мы вставляем туда следующий текст:
Сверху справа в Wordlist type выберите Credentials. Чтоб проверить все ли мы сделали правильно в графу Test data вставим "admin:admin". Нажимаем на start, получаем Response code: 200 в Complete log. Значит на этом этапе все сделано корректно и мы можем перейти далее. ОВ должен понимать когда пароль правильный и нужно остановиться. В Stacker нажмем на блок Conditions и вставим Keycheck. Это и есть проверка был ли достигнут нужный результат. После ввода неправильных данных на странице появляется надпись Invalid username. Используем ее как результат ввода неправильных данных. Нажимаем на "+", затем выбираем String. Указываем все так же, как на фото ниже (Фото 9.)
В верхнем Result Status за неудачу указываем наличие (Contains) фразы Invalid Username, а в нижнем Result Status за успех указываем ее отсутсвие (DoesNotContain).
Осталось только загрузить свой список слов для перебора во вкладке Wordlist и создать сессию во вкладке Jobs. Для списка я использовал rockyou.txt, найти его можно тут. В Jobs нужно выбрать конфиг, список слов, указать количество ботов и нажать на старт. Далее начнется процесс перебора. (Фото 10.)
Это конец первой части статьи. В ней изложен лишь самый минимум из функционала OpenBullet 2, так что если вам понравилось, пожалуйста, поддержите меня лайком. Мне будет приятно и я обязательно выпущу в скором времени вторую часть. Удачи!
OpenBullet 2 — это кроссплатформенный пакет автоматизации на базе ядра .NET. Он позволяет выполнять запросы к целевому веб-приложению и предлагает множество инструментов для работы с результатами. Это программное обеспечение можно использовать для очистки и анализа данных, автоматического пентеста и многого другого.
По моим личным наблюдениям данный инструмент не возымел должной популярности на пост советском пространстве, хотя наши западные коллеги активно используют ОВ и ряд его платных модификаций, таких как SilverBullet, BlackBullet и т.д. На англоязычных форумах есть целые разделы, где пользователи делятся своими конфигами для ОВ. Популярность этого инструмента вызвала у меня интерес, и я начал разбираться в принципах его работы. Часть полученной мною информации я решил изложить в статье для XSS.
Часть 1. Установка и первый запуск
OpenBullet 2 бесплатный open source продукт, поэтому мы можем скачать его прямо из GitHub тут. В списке Assests есть два zip файла. Один из них - OpenBullet2.Native.zip . Это нативный клиент ОВ, работающий только для пользователей ОС Windows. Еще один zip файл - OpenBullet2.zip содержит в себе кросс платформенный веб клиент ОВ. В статье я буду использовать именно его исключительно из визуальных предпочтений. Вы же можете использовать и нативный клиент, ведь разницы в функционале у них нет.
1.1 Установка и запус нативного клиента OpenBullet
Скачайте и распакуйте архив OpenBullet2.Native.zip. В папке с файлами найдите и запустите файл OpenBullet2.Native.exe (подсвечен синим на Фото 1.)
1.2 Установка и запуск веб клиента OpenBullet
Скачайте и распакуйте архив OpenBullet2.zip . После этого вам необходимо установить ASP.NET Core Runtime по ссылке тут. Теперь запустите OpenBullet2.exe и перейдите в браузере на http://localhost:5000 .
После этого вы увидете стартовое окно веб клиента ОВ. (Фото 3.)
Часть 2. Первый конфиг
Для создания конфига перейдите во вкладку Configs. Нажмите на кнопку New. Далее вы можете указать название конфига, имя автора, категорию и установить картинку. Все это делать не обязательно, нас больше интересует вкладки боковой панели, которые открылись при создании нового конфига. (Фото 4.)
LoliCode позволяет пользователям добавлять собственные скрипты на одноименном языке программирования. Гайд по его использованию изложен на официальном форуме ОВ по ссылке тут.
Вкладка С# Code показывает нам то, как элементы из Stacker преобразуются в код. Ниже вы можете увидеть то, как в С# преобразился http запрос созданный в Stacker. (Фото 5.)
Ниже представлены поля для ввода Cookie (Custom Cookies) и для ввода заголовков (Custom Headers). Заменив ссылку на Google ссылкой, например, на Netflix и нажав Start, в поле Complete log мы обнаружим HTML код страницы. В самом низу есть кнопка View as HTML. Она может показать нам как выглядит этот сайт без CSS. (Фото 7.)
HTML:
<form method="POST">
<p>Username: <input type="text" name="username"></p>
<p>Password: <input type="password" name="password"></p>
<p><input type="submit" value="Log In"></p>
</form>
username=<input.USER>&password=<input.PASS>Сверху справа в Wordlist type выберите Credentials. Чтоб проверить все ли мы сделали правильно в графу Test data вставим "admin:admin". Нажимаем на start, получаем Response code: 200 в Complete log. Значит на этом этапе все сделано корректно и мы можем перейти далее. ОВ должен понимать когда пароль правильный и нужно остановиться. В Stacker нажмем на блок Conditions и вставим Keycheck. Это и есть проверка был ли достигнут нужный результат. После ввода неправильных данных на странице появляется надпись Invalid username. Используем ее как результат ввода неправильных данных. Нажимаем на "+", затем выбираем String. Указываем все так же, как на фото ниже (Фото 9.)
Осталось только загрузить свой список слов для перебора во вкладке Wordlist и создать сессию во вкладке Jobs. Для списка я использовал rockyou.txt, найти его можно тут. В Jobs нужно выбрать конфиг, список слов, указать количество ботов и нажать на старт. Далее начнется процесс перебора. (Фото 10.)