Интеграция YARA и оптимизация DNS/HTTP движков позволили значительно повысить производительность инструмента.
В преддверии конференции DEF CON 32 был представлен новый релиз BBOT 2.0 , который обещает значительно упростить использование инструмента и ускорить процесс сканирования. BBOT (Bighuge BLS OSINT Tool) стал известен благодаря своей способности находить больше субдоменов, чем любые другие аналогичные инструменты. Сегодня он уже достиг отметки в 400 тысяч загрузок, что подчеркивает его востребованность и популярность среди пользователей, особенно в области поиска уязвимостей.
BBOT был разработан два года назад. Основная цель его создания — помощь в поиске уязвимостей, что особенно актуально в сфере баг-баунти. Сообщество активно поддерживает развитие BBOT, внося свой вклад в разработку новых модулей и функций. В результате количество коммитов в репозитории проекта превысило 4000, что даже больше, чем у его предшественника Spiderfoot, разработка которого велась на протяжении десяти лет.
Главные нововведения в BBOT 2.0 включают три ключевых функции: предустановки (Presets), инструмент для выявления уязвимостей DNS под названием BadDNS и оптимизации скорости.
Одним из главных нововведений в BBOT 2.0 стала функция предустановок. Она позволяет пользователям сохранять всю конфигурацию сканирования в одном YAML-файле, что значительно упрощает процесс работы с инструментом. В предыдущих версиях BBOT отличался высокой степенью кастомизации, что, с одной стороны, давало широкие возможности, но с другой — усложняло процесс создания команд. Теперь с помощью предустановок можно легко и быстро запускать необходимые сканирования, комбинируя различные настройки и модули.
Для использования предустановок достаточно выполнить команду bbot -p, где -p указывает на нужную предустановку. Также пользователи могут создавать свои собственные конфигурации, включающие несколько предустановок одновременно.
Инструмент BadDNS, созданный разработчиком под псевдонимом @paulmmueller, заменяет старый модуль subdomain_hijack и значительно расширяет возможности BBOT в области выявления уязвимостей DNS. С его помощью можно обнаружить различные уязвимости, включая опасные записи, которые могут стать причиной взлома.
BadDNS интегрирован в BBOT 2.0 и стал важной частью обновленного инструмента. Этот модуль предоставляет пользователям возможность не только находить уязвимости, но и анализировать их природу, что особенно полезно для специалистов по безопасности.
Среди других ключевых улучшений BBOT 2.0 стали многочисленные оптимизации, которые сделали сканирование почти в 10 раз быстрее по сравнению с предыдущей версией. Основное ускорение работы инструмента было достигнуто за счёт интеграции YARA и обновлённых движков для обработки DNS и HTTP запросов.
Изначально в BBOT использовалась стандартная библиотека Python для работы с регулярными выражениями, что замедляло процесс сканирования. В версии 2.0 модуль excavate был полностью переработан и теперь использует YARA, что дало значительное увеличение скорости. YARA также позволяет добавлять собственные правила, что делает инструмент еще более гибким и мощным.
В ранних версиях BBOT использовался asyncio, что обеспечивало стабильность и производительность. Однако с ростом объема запросов было обнаружено, что asyncio достигает максимальной пропускной способности на одном ядре CPU. Для решения этой проблемы в BBOT 2.0 были введены оптимизации, которые выделяют отдельные процессы для работы с DNS и HTTP, что значительно увеличивает скорость обработки запросов.
Одно найти легче, чем другое. Спойлер: это не темная материя