
Модульный оркестратор сканирования безопасности, который объединяет специализированные агенты для обнаружения уязвимостей, разведки и идентификации в сетях, веб-приложениях, мобильных приложениях и API.
OXO — это фреймворк для сканирования безопасности, построенный на модульности, масштабируемости и простоте.
Движок OXO объединяет специализированные инструменты для совместной работы по поиску уязвимостей и выполнению таких действий, как разведка, перечисление и снятие отпечатков.

Для локального запуска сканирований требуется Docker. Инструкции по установке Docker можно найти здесь.
OXO поставляется в виде пакета Python на PyPI. Чтобы установить его, просто выполните следующую команду, если у вас уже установлен pip.
pip install -U ostorlab
OXO поставляется с магазином, в котором представлены десятки агентов: от агентов сетевого сканирования, таких как Nmap, Nuclei или Tsunami, веб-сканеров, таких как ZAP, инструментов веб-фингерпринтинга, таких как WhatWeb и Wappalyzer, инструментов для брутфорса DNS, таких как Subfinder и Dnsx, сканирования вредоносных файлов, таких как VirusTotal, и многое другое.
Чтобы запустить любой из этих инструментов в комбинации, просто выполните следующую команду:
CLI OXO доступен через команды
oxoилиostorlab.
oxo scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8
Эта команда загрузит и установит следующие агенты сканирования:
Она просканирует целевой IP-адрес 8.8.8.8.
Агенты поставляются в виде стандартных образов Docker.
Чтобы проверить статус сканирования, выполните:
oxo scan list
После завершения сканирования, чтобы получить доступ к результатам, выполните:
oxo vulnz list --scan-id <scan-id>
oxo vulnz describe --vuln-id <vuln-id>
Чтобы остановить выполняющееся сканирование, выполните:
oxo scan stop --scan-id <scan-id>
Чтобы запустить oxo в контейнере, вы можете использовать общедоступный образ и выполнить следующую команду:
docker run -v /var/run/docker.sock:/var/run/docker.sock ostorlab/oxo:latest scan run --install --agent agent/ostorlab/nmap ip 8.8.8.8
Примечания:
scan run, потому что образ ostorlab/oxo имеет oxo в качестве entrypoint.При запуске OXO в качестве локального сканера используйте --persist-logs для записи логов сканера на диск:
oxo scanner --scanner-id <scanner-uuid> --persist-logs
По умолчанию логи записываются в ~/.ostorlab/scanner.log. Чтобы выбрать другой файл:
oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-file /var/log/ostorlab/scanner.log
Чтобы изменить уровень детализации сохраняемых логов:
oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG
OXO поддерживает сканирование нескольких типов активов, что обеспечивает всестороннее покрытие безопасности на различных платформах и протоколах.
| Категория | Актив | Описание |
|---|---|---|
| Сеть | ip | IP-адрес или диапазон IP (v4 и v6). |
domain-name | Доменное имя. | |
| Веб | link | Веб-ссылка, принимающая URL, метод, заголовки и тело запроса. |
api-schema | Схема API (OpenAPI, GraphQL и т.д.). | |
| Мобильные | android-apk / android-aab | Пакетные файлы Android (.APK, .AAB). |
android-store | Приложение Android в магазине Google Play. | |
ios-ipa | Пакетный файл iOS (.IPA). | |
ios-store | Приложение iOS в Apple App Store. | |
ios-testflight | Приложение iOS в TestFlight. | |
harmonyos-apk / harmonyos-hap | Пакетные файлы HarmonyOS. | |
| Другое | file | Общий файл. |
phone-number | Номер телефона. | |
agent | Мета-сканирование агента. |
OXO отображает все агенты в публичном магазине, где вы можете искать и публиковать свои собственные агенты.

Чтобы написать своего первого агента, вы можете ознакомиться с полным руководством здесь.
Шаги в основном следующие:
template_agent.py, добавив свою логику.Dockerfile, добавив дополнительные шаги сборки.ostorlab.yaml, добавив селекторы, документацию, образ и лицензию.После того как вы написали своего агента, вы можете опубликовать его в магазине для использования другими и его обнаружения. Магазин возьмёт на себя сборку агента и автоматически подхватит новые релизы из вашего Git-репозитория.

Реализации популярных инструментов, таких как:
Как проект с открытым исходным кодом в быстро развивающейся области, мы всегда открыты для вклада, будь то в виде новой функции, улучшенной инфраструктуры или более качественной документации.
Мы хотели бы поблагодарить следующих участников за помощь в том, чтобы OXO стал лучшим инструментом: