Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
subcrawl — Модульная платформа для обнаружения и анализа открытых каталогов в интернете. Сканирует URL-адреса, извлекает содержимое, применяет сканирование YARA/ClamAV и выводит результаты в MISP, SQLite или консоль для анализа угроз. | Kitploit
Инструменты/GitHubGitHub/hpthreatresearch/subcrawl
OSINT (Разведка открытых источников)Анализ уязвимостейСбор информацииВеб-безопасностьРазведка угрозКраулер
GitHubhpthreatresearch/subcrawl

subcrawl

Модульная платформа для обнаружения и анализа открытых каталогов в интернете. Сканирует URL-адреса, извлекает содержимое, применяет сканирование YARA/ClamAV и выводит результаты в MISP, SQLite или консоль для анализа угроз.

Репозиторий
15036253 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SubCrawl

SubCrawl — это фреймворк, разработанный Патриком Шлепфером, Джошем Штрошайном и Алексом Холландом из команды Threat Research компании HP Inc. SubCrawl предназначен для поиска, сканирования и анализа открытых директорий. Фреймворк модульный и состоит из четырёх компонентов: модулей ввода, модулей обработки, модулей вывода и основного движка сканирования. Основными входными значениями являются URL-адреса, которые фреймворк разбирает и добавляет в систему очередей перед сканированием. Разбор URL-адресов — важный первый шаг: он берёт переданный URL и генерирует дополнительные URL-адреса для сканирования, последовательно удаляя поддиректории, пока таковых не останется. Этот процесс обеспечивает более полную попытку сканирования веб-сервера и может привести к обнаружению дополнительного контента. Важно отметить, что SubCrawl не использует метод перебора для обнаружения URL-адресов. Весь сканируемый контент поступает из входных URL-адресов, процесса разбора URL и обнаружения во время сканирования. Когда обнаруживается открытая директория, движок сканирования извлекает из неё ссылки для оценки. Движок определяет, является ли ссылка другой директорией или файлом. Директории добавляются в очередь сканирования, а файлы подвергаются дополнительному анализу модулями обработки. Результаты генерируются и сохраняются для каждого сканированного URL, например, SHA256 и нечёткие хеши содержимого, информация о том, была ли найдена открытая директория, или совпадения с правилами YARA. Наконец, данные результатов обрабатываются одним или несколькими модулями вывода, которых на данный момент три. Первый обеспечивает интеграцию с MISP, второй просто выводит данные в консоль, а третий сохраняет данные в базу SQLite. Поскольку фреймворк модульный, легко не только настроить нужные модули ввода, обработки и вывода, но и разработать новые модули.

Архитектура фреймворка Рисунок 1 — Архитектура SubCrawl

SubCrawl поддерживает два различных режима работы. Во-первых, SubCrawl можно запустить в режиме однократного выполнения. В этом режиме пользователь предоставляет URL-адреса для сканирования в файле, где каждое входное значение отделяется разрывом строки. Второй режим — сервисный. В этом режиме SubCrawl работает в фоновом режиме и полагается на модули ввода для предоставления URL-адресов для сканирования. На рисунке 1 показан обзор архитектуры SubCrawl. Компоненты, используемые в обоих режимах работы, окрашены в синий цвет, компоненты режима однократного выполнения — в жёлтый, а компоненты сервисного режима — в зелёный.

Требования

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

Требования для режима однократного выполнения

SubCrawl написан на Python3. Кроме того, перед запуском SubCrawl требуется несколько пакетов. Для установки всех необходимых пакетов можно использовать следующую команду. Выполните её из каталога crawler:

$ sudo apt install build-essential
$ pip3 install -r requirements.txt

Требования для сервисного режима

Если SubCrawl запускается в сервисном режиме, это можно сделать с помощью Docker. Поэтому требуется установка Docker и Docker Compose. Подходящие инструкции по установке можно найти на сайте Docker.com.

  • Установка Docker Engine
  • Установка Docker Compose

Получение справки

SubCrawl имеет встроенную справку через аргумент -h/--help или при простом выполнении скрипта без аргументов.

  ********         **        ******                               **
 **//////         /**       **////**                             /**
/**        **   **/**      **    //  ******  ******   ***     ** /**
/*********/**  /**/****** /**       //**//* //////** //**  * /** /**
////////**/**  /**/**///**/**        /** /   *******  /** ***/** /**
       /**/**  /**/**  /**//**    ** /**    **////**  /****/**** /**
 ******** //******/******  //****** /***   //******** ***/ ///** ***
////////   ////// /////     //////  ///     //////// ///    /// /// 
~~ Harvesting the Open Web ~~

usage: subcrawl.py [-h] [-f FILE_PATH] [-k] [-p PROCESSING_MODULES] [-s STORAGE_MODULES]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE_PATH, --file FILE_PATH
                        Path of input URL file
  -k, --kafka           Use Kafka Queue as input
  -p PROCESSING_MODULES, --processing PROCESSING_MODULES
                        Processing modules to be executed comma separated.
  -s STORAGE_MODULES, --storage STORAGE_MODULES
                        Storage modules to be executed comma separated.

  Available processing modules: 
  - ClamAVProcessing
  - JARMProcessing
  - PayloadProcessing
  - TLSHProcessing
  - YARAProcessing

  Available storage modules: 
  - ConsoleStorage
  - MISPStorage
  - SqliteStorage

Режим однократного выполнения

Этот режим подходит, если вы хотите быстро просканировать небольшое количество доменов. Для этого URL-адреса для сканирования необходимо сохранить в файле, который затем служит входными данными для сканера. Ниже приведён пример выполнения в режиме однократного выполнения: обратите внимание на использование аргумента -f с путём к файлу.

python3 subcrawl.py -f urls.txt -p YARAProcessing,PayloadProcessing -s ConsoleStorage

Сервисный режим

С помощью сервисного режима можно сканировать большее количество доменов и сохранять результаты. В зависимости от выбранного модуля хранения данные можно затем более подробно анализировать и оценивать. Чтобы сделать запуск сервисного режима как можно более простым для пользователя, мы встроили все функциональные возможности в образ Docker. В сервисном режиме домены для сканирования получаются через модули ввода. По умолчанию новые вредоносные URL-адреса и фишинговые URL-адреса загружаются с URLhaus и PhishTank и ставятся в очередь на сканирование. Нужные модули обработки и хранения можно указать непосредственно в config.yml. По умолчанию активированы следующие модули обработки, использующие хранилище SQLite:

  • ClamAVProcessing
  • JARMProcessing
  • TLSHProcessing
  • YARAProcessing

В дополнение к модулю хранения SQLite был разработан простой веб-интерфейс, позволяющий просматривать и управлять сканированными доменами и URL-адресами.

Веб-интерфейс для модуля хранения SQLite

Однако, если этого интерфейса недостаточно для последующей оценки данных, можно альтернативно или дополнительно активировать модуль хранения MISP. Соответствующие настройки необходимо выполнить в config.yml в разделе MISP.

Следующих двух команд достаточно, чтобы клонировать GIT-репозиторий, создать контейнер Docker и сразу его запустить. После этого веб-интерфейс будет доступен по адресу https://localhost:8000/. Обратите внимание: после запуска контейнеров модули ввода начнут добавлять URL-адреса в очередь обработки, а движок начнёт сканирование хостов.

git clone https://github.com/hpthreatresearch/subcrawl.git

docker-compose up --build 

Модули SubCrawl

Модули ввода

Модули ввода используются только в сервисном режиме. Если SubCrawl запущен в режиме однократного выполнения, необходимо предоставить файл с URL-адресами для сканирования. Реализованы следующие два модуля ввода.

URLhaus

Скачать инструмент