
Модульный фреймворк для охоты за багами (bug bounty), автоматизирующий разведку, перечисление поддоменов и сканирование уязвимостей с образовательным фокусом, чтобы помочь начинающим инженерам по безопасности изучать реальные концепции безопасности приложений (AppSec).
О проекте • Установка • Модули • Устранение неполадок • Часто задаваемые вопросы • Ars0n Security • YouTube • Twitch
Привет! Меня зовут Харрисон Ричардсон, или rs0n (арсон), когда хочу чувствовать себя круче, чем я есть на самом деле. Код в этом репозитории начинался как небольшая коллекция скриптов для автоматизации многих распространённых процессов охоты за Bug Bounty, которые я постоянно повторял. Со временем я создал простое веб-приложение с подключением к MongoDB для управления своими находками и выявления ценных точек данных. После 5 лет охоты за Bug Bounty, как на частичной, так и на полной занятости, я наконец готов упаковать эту коллекцию инструментов в полноценный фреймворк.
Фреймворк Ars0n предназначен для того, чтобы предоставить начинающим инженерам по безопасности приложений все необходимые инструменты для использования охоты за Bug Bounty как способа изучить ценные реальные концепции AppSec и заработать на этом 💰! Моя цель — снизить порог входа в охоту за Bug Bounty, предоставляя простые в использовании инструменты автоматизации в сочетании с образовательным контентом и практическими руководствами по широкому спектру веб- и облачных уязвимостей. В сочетании с моим контентом на YouTube этот фреймворк поможет начинающим инженерам по безопасности приложений быстро и легко понять реальные концепции безопасности, которые напрямую ведут к высокооплачиваемой карьере в кибербезопасности.
В дополнение к использованию этого инструмента для охоты за Bug Bounty, начинающие инженеры также могут использовать этот репозиторий GitHub как холст для практики совместной работы с другими разработчиками! Этот инструмент был вдохновлён Metasploit и спроектирован модульным аналогичным образом. Каждый скрипт (например, wildfire.py или slowburn.py) по сути является алгоритмом, который запускает модули (например, fire-starter.py или fire-scanner.py) в определённом шаблоне для получения желаемого результата. Благодаря такой конструкции сообщество может свободно создавать новые скрипты для решения конкретных задач или модули для расширения результатов этих скриптов. Изучая код этого фреймворка и используя GitHub для внесения собственного кода, начинающие инженеры продолжат приобретать реальные навыки, которые можно применить в первый же день работы на должности инженера по безопасности I уровня.
Я надеюсь, что этот модульный фреймворк послужит холстом, чтобы поделиться тем, что я узнал за свою карьеру, со следующим поколением инженеров по безопасности! Поверьте, нам нужна любая помощь!!
Вставьте этот блок кода в чистую установку Kali Linux 2023.4, чтобы загрузить, установить и запустить последнюю стабильную альфа-версию фреймворка:
sudo apt update && sudo apt-get update
sudo apt -y upgrade && sudo apt-get -y upgrade
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
cd ars0n-framework
./install.sh
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
Фреймворк Ars0n включает скрипт, который устанавливает все необходимые инструменты, пакеты и т.д., необходимые для работы фреймворка на чистой установке Kali Linux 2023.4.
Обратите внимание, что единственная поддерживаемая установка этого фреймворка — на чистую установку Kali Linux 2023.3. Если вы решите попытаться запустить фреймворк за пределами чистой установки Kali, я не смогу помочь в устранении неполадок, если у вас возникнут проблемы.
./install.sh
В этом видео показано, чего ожидать от успешной установки.
Если вы используете процессор ARM, вам нужно добавить флаг --arm ко всем скриптам установки/запуска
./install.sh --arm
При начале установки вам будет предложено ввести различные ключи API и токены. Их ввод не обязателен для работы основной функциональности фреймворка. Если вы не введёте эти ключи API и токены во время установки, просто нажмите Enter на каждом из запросов. Ключи можно добавить позже в каталог ~/.keys. Дополнительную информацию о том, как добавить эти ключи вручную, можно найти в разделе Часто задаваемые вопросы этого README.
После завершения установки вам будет предложено запустить приложение, введя Y. Если вы решите не запускать приложение сразу или вам нужно запустить его после перезагрузки, просто перейдите в корневой каталог и выполните bash-скрипт run.sh.
./run.sh
Если вы используете процессор ARM, вам нужно добавить флаг --arm ко всем скриптам установки/запуска
./run.sh --arm
Основные модули фреймворка Ars0n используются для определения базовой логики сканирования. Каждый скрипт предназначен для поддержки конкретной методологии разведки в зависимости от того, что пытается выполнить пользователь.
На данный момент скрипт Wildfire является наиболее широко используемым основным модулем фреймворка Ars0n. Цель этого модуля — позволить пользователю сканировать несколько целей, которые разрешают тестирование на любом поддомене, обнаруженном исследователем.
Как это работает:
Большинство сканирований Wildfire занимают от 8 до 48 часов для завершения для одного домена, если запущены все подмодули. Различия в этом времени могут быть вызваны рядом факторов, включая целевое приложение и машину, на которой запущен фреймворк.
Также обратите внимание, что большинство данных не будут отображаться в GUI до завершения сканирования. Лучше всего попытаться запустить сканирование на ночь или на выходные, в зависимости от количества сканируемых доменов, и вернуться после завершения сканирования, чтобы перейти от разведки к перечислению.
Запуск Wildfire:
Wildfire можно запустить из GUI с помощью кнопки Wildfire на панели управления. После нажатия интерфейс использует флажки на экране, чтобы определить, какие флаги должны быть переданы сканеру.
Обратите внимание, что запуск сканирования из GUI всё ещё содержит несколько ошибок и пограничных случаев, которые не были исправлены. Если у вас возникнут проблемы, вы можете просто запустить сканирование из командной строки.
Все основные модули фреймворка Ars0n хранятся в каталоге /toolkit. Просто перейдите в этот каталог и запустите wildfire.py с необходимыми флагами. Должен быть указан хотя бы один флаг подмодуля.
python3 wildfire.py --start --cloud --scan
В отличие от модуля Wildfire, который требует от пользователя указать целевые домены для сканирования, модуль Slowburn делает эту работу за вас. Взаимодействуя с API различных платформ для охоты за Bug Bounty, этот скрипт выявит все домены, которые разрешают тестирование на любом обнаруженном поддомене. После заполнения данных Slowburn будет случайным образом выбирать по одному домену за раз для сканирования так же, как это делает Wildfire.
Обратите внимание, что модуль Slowburn всё ещё находится в разработке и не считается частью стабильного альфа-релиза. Пользователь, скорее всего, столкнётся с ошибками и пограничными случаями.
Чтобы Slowburn мог идентифицировать цели для сканирования, он сначала должен быть инициализирован. Этот шаг инициализации собирает необходимые данные из различных API и помещает их в JSON-файл, хранящийся локально. После завершения этого шага инициализации Slowburn автоматически начнёт выбирать и сканировать по одной цели за раз.
Чтобы инициализировать Slowburn, просто выполните следующую команду:
python3 slowburn.py --initialize
После сбора данных пользователь сам решает, хочет ли он повторно инициализировать инструмент при следующем сканировании.
Помните, что область действия и цели публичных программ Bug Bounty могут часто меняться. Если вы решите запустить Slowburn без инициализации данных, вы можете сканировать домены, которые больше не входят в область действия программы. Настоятельно рекомендуется повторно инициализировать Slowburn каждый раз перед запуском.
Если вы решите не повторно инициализировать данные целей, вы можете запустить Slowburn, используя ранее собранные данные, с помощью следующей команды:
python3 slowburn.py
Подмодули фреймворка Ars0n предназначены для использования основными модулями для разделения этапов разведки и перечисления на конкретные задачи. Данные, собранные в каждом подмодуле, используются другими для расширения вашей картины поверхности атаки цели.
Fire-Starter — это первый шаг к выполнению разведки целевого домена. Цель этого скрипта — собрать как можно больше информации о поверхности атаки вашей цели. После сбора эти данные будут использоваться всеми другими подмодулями, чтобы помочь пользователю определить конкретный URL, который потенциально уязвим.
Fire-Starter работает путём запуска серии инструментов с открытым исходным кодом для перечисления скрытых поддоменов, DNS-записей и ASN, чтобы определить, где размещены эти внешние записи. В настоящее время Fire-Starter работает путём объединения следующих широко используемых инструментов с открытым исходным кодом:
Эти инструменты охватывают широкий спектр методов для идентификации скрытых поддоменов, включая веб-скрапинг, перебор и сканирование для обнаружения ссылок и URL-адресов JavaScript.
После завершения сканирования панель управления будет обновлена и станет доступна пользователю.
Большинство подмодулей фреймворка Ars0n требуют данных, собранных модулем Fire-Starter, для работы. Учитывая это, Fire-Starter должен быть включён в первое сканирование цели, чтобы были собраны какие-либо полезные данные.
Скоро...
Fire-Scanner использует результаты Fire-Starter и Fire-Cloud для выполнения широкополосного сканирования всех поддоменов и облачных сервисов, обнаруженных в предыдущих сканированиях.
На данном этапе разработки этот скрипт использует Nuclei почти исключительно для всех сканирований. Вместо простого запуска инструмента Fire-Scanner разбивает сканирование на конкретные коллекции шаблонов Nuclei и сканирует их по одному. Эта стратегия помогает гарантировать стабильность и последовательность результатов сканирования, устраняет ненужные или небезопасные проверки и даёт действенные результаты.
Подавляющее большинство проблем при установке и/или запуске фреймворка Ars0n вызвано тем, что инструмент устанавливается не на чистую установку Kali Linux.
Важно помнить, что по своей сути фреймворк Ars0n — это набор скриптов автоматизации, предназначенных для запуска существующих инструментов с открытым исходным кодом. Каждый из этих инструментов имеет свои собственные способы работы и может испытывать непредвиденное поведение, если возникнут конфликты с любой существующей службой/инструментом, работающими в системе пользователя. Эта сложность является причиной, по которой фреймворк Ars0n следует запускать только на чистой установке Kali Linux.
Другая очень распространённая проблема, с которой сталкиваются пользователи, вызвана тем, что MongoDB не устанавливается и/или не запускается на их машине. Наиболее распространённое проявление этой проблемы — пользователь не может добавить начальное полное доменное имя (FQDN) и просто видит сломанный GUI. Если это произошло, убедитесь, что ваша машина соответствует необходимым системным требованиям для запуска MongoDB. К сожалению, в настоящее время нет решения, если вы столкнулись с этой проблемой.
Скоро...