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

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

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

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

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

Категории

Все категории
Loading categories
strelka-ui — Strelka Web UI для отправки и анализа файлов | Kitploit
Инструменты/GitHubGitHub/target/strelka-ui
Оборонительные ИнструментыАнализ вредоносных программРазведка угрозАутентификацияАнализ Журналов
GitHubtarget/strelka-ui

strelka-ui

Strelka Web UI для отправки и анализа файлов

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

Популярное

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

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

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

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

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

Strelka Banner

Releases   |   Pull Requests   |   Issues

GitHub release Build Status Pull Requests Slack License

Strelka Web UI — это браузерный и API-ориентированный фронтенд для отправки файлов в Strelka Enterprise File Scanner. Он позволяет пользователям отправлять файлы в кластер Strelka и легко просматривать исторические результаты ответов. Strelka Web UI поддерживает LDAP-аутентификацию и доступ через API, обеспечивая безопасный и гибкий способ взаимодействия со сканером Strelka. В этом документе описано, как настроить и использовать Strelka Web UI, а также его возможности и связанные проекты.

Strelka UI Results Page
Страница результатов Strelka UI

Возможности

UI для отправки файлов предоставляет следующие возможности:

  • Отправка файлов в кластер Strelka и просмотр ответов из браузера.
  • Хранение и просмотр результатов предыдущих отправок и активности в локальной или удалённой базе данных.
  • Поддержка LDAP-аутентификации
  • Поддержка API

Предварительные требования

  • Доступный экземпляр Strelka (см.: Strelka Quickstart)
  • Docker
  • Docker-compose
  • Python 3.10+

Быстрый старт

По умолчанию Strelka UI настроен на использование минимального развёртывания «quickstart», позволяющего пользователям протестировать систему. Это развёртывание будет нацелено на локальный экземпляр Strelka и запустит локальную базу данных. Пользователи смогут получить доступ к этой системе с любым именем пользователя / паролем. Для получения дополнительной информации о нацеливании на удалённый экземпляр Strelka, базу данных или использовании LDAP для аутентификации см. раздел Дополнительная настройка:

Шаг 1: Убедитесь, что кластер Strelka готов

root@kitploit:~
Start or ensure Strelka cluster is ready and accessible.
See https://github.com/target/strelka for more information.

Шаг 2: Соберите и запустите Strelka UI (Docker)

root@kitploit:~
# Terminal 1
# From the ./strelka-ui directory
$ docker-compose -f docker-compose.yml up

Шаг 3: Получите доступ к Strelka UI

root@kitploit:~
1) Open A Browser
2) Navigate to 0.0.0.0:8080
3) Login with:
    - Username: strelka
    - Password: strelka

Дополнительные шаги

В этом разделе описано, как нацелиться на удалённый экземпляр Strelka, удалённую базу данных для хранения и LDAP-сервер для аутентификации в целях более безопасного использования. Чтобы включить это, вы можете использовать переменные окружения для переопределения значений по умолчанию.

Настройка переменных окружения

Конфигурация бэкенда задаётся через переменные окружения и может быть статически установлена в ./app/config/config.py.

При локальном запуске приоритет конфигурации следующий: System environment -> .env -> ./app/config/config.py. При запуске в Docker приоритет конфигурации следующий: Docker environment -> System environment -> ./app/config/config.py.

Обратитесь к ./app/example.env для настройки переменных окружения.

Параметры переменных окружения

Ниже описаны элементы конфигурации в ./app/config/config.py.

Поддержка внешних горячих ссылок

Вы также можете задать ссылку в таблице отправок UI, чтобы позволить пользователям быстро переходить на внешний сайт на основе request.id. Изменив ./ui/src/config.js и следуя примеру SEARCH_URL в следующей таблице, вы можете предоставить пользователям ссылку на внешний сайт (например, SIEM / логгер). Убедитесь, что ваша ссылка содержит строку <REPLACE>, и UI заменит эту строку на идентификатор запроса соответствующего файла.

Поддерживаемые поля модификации в ./ui/src/config.js:

Field NameValueExample
SEARCH_URL

Предоставление CA-сертификатов

Если ваша сетевая среда требует пользовательского CA-бандла (например, корпоративный прокси для TLS-инспекции), вы можете предоставить его как на этапе сборки, так и во время выполнения, не добавляя файлы сертификатов в репозиторий.

На этапе сборки — передайте путь к вашему CA-бандлу через CUSTOM_CA_CERT перед запуском docker compose build. Сертификат монтируется эфемерно с использованием секрета BuildKit и никогда не записывается ни в один слой образа:

root@kitploit:~
CUSTOM_CA_CERT=/path/to/your/ca-bundle.crt docker compose build
# or, combined with up:
CUSTOM_CA_CERT=/path/to/your/ca-bundle.crt docker compose up --build

В открытых сетях, где пользовательский CA не требуется, полностью опустите переменную — сборка корректно деградирует:

root@kitploit:~
docker compose up --build

Во время выполнения — каталог certs в корне проекта монтируется в /certs внутри запущенного контейнера. Поместите туда ваш CA-бандл и задайте REQUESTS_CA_BUNDLE (и, при необходимости, SSL_CERT_FILE) в ./app/strelka_ui/.env или в качестве переменной окружения Docker:

root@kitploit:~
# ./app/strelka_ui/.env
REQUESTS_CA_BUNDLE=/certs/ca-bundle.crt
SSL_CERT_FILE=/certs/ca-bundle.crt

API

Strelka UI также предоставляет маршруты API для доступа на основе пользовательских скриптов. Обратитесь к приведённым ниже маршрутам для получения подробностей:

Маршруты аутентификации

  • [base url]/api/auth/login (POST)
  • [base url]/api/auth/logout (GET)

Маршруты Strelka

  • [base url]/api/strelka/scans/stats (GET)
  • [base url]/api/strelka/scans/upload (POST, form-encoded)
  • [base url]/api/strelka/scans?page=?&per_page=? (GET)
  • [base url]/api/strelka/scans/scan id

Пример

Примеры того, как аутентифицироваться в API Strelka UI, собирать статистику сканирований и отправлять файл с помощью Python requests, можно найти в ./misc/examples/api_examples.py

База данных

База данных использует https://www.sqlalchemy.org/ в качестве ORM. Flask-Migrate используется для обеспечения миграций БД через Alembic. Предоставляется вспомогательный скрипт manage.py для помощи с типовыми задачами базы данных.

Если вы создаёте новую базу данных или изменяете текущую, вы должны выполнить следующие шаги — хотя при запуске кластера эти команды будут выполнены за вас:

Сгенерировать новую миграцию из изменений модели:

  • python manage.py db migrate

Обновить базу данных, используя текущую конфигурацию базы данных

  • python manage.py db upgrade

Детали приложения

Бэкенд-приложение преимущественно состоит из следующих технологий:

  • https://flask.palletsprojects.com/en/1.1.x/
  • https://www.sqlalchemy.org/
  • https://www.postgresql.org/

Фронтенд UI — это приложение на React JS, созданное с использованием React и обслуживаемое из Flask. UI использует библиотеку Antd и Antd ProComponents, а маршрутизация обрабатывается React Router.

  • create-react-app
  • Ant Financial UI
  • Antd ProComponents
  • React Router
Strelka UI Dashboard Page
Страница панели управления Strelka UI

Связанные проекты

  • Strelka

Лицензирование

Strelka UI и связанный с ним код выпускаются на условиях Apache 2.0 License.

Target Banner
Скачать инструмент
Field NameValueRequired
STRELKA_HOSTStrelka hostname (e.g., 0.0.0.0)Yes
STRELKA_PORTStrelka port number (e.g., 57314)Yes
STRELKA_CERTPath to certificate for Strelka, if needed (e.g., /path/to/cert.pem)No
CA_CERT_PATHPath to CA certificates for LDAP, if needed (e.g., /path/to/ca_certs)No
VIRUSTOTAL_API_KEYAPI Key for VirusTotal Hash LookupYes
VIRUSTOTAL_API_LIMITLimit how many files should be scanned by VirusTotal (Default: 30)Yes
LDAP_URLURL to LDAP server (e.g., ldaps://ldap.example.com:636)No
LDAP_SEARCH_BASESearch base for LDAP queries (e.g., DC=example,DC=com)No
LDAP_USERNAME_ORGANIZATIONUsername organization for LDAP queries (e.g., org//)No
LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELDLDAP attribute for account name (e.g., sAMAccountName)No
LDAP_ATTRIBUTE_FIRST_NAME_FIELDLDAP attribute for first name (e.g., givenName)No
LDAP_ATTRIBUTE_LAST_NAME_FIELDLDAP attribute for last name (e.g., sn)No
LDAP_ATTRIBUTE_MEMBER_OF_FIELDLDAP attribute for member of (e.g., memberOf)No
LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELDLDAP attribute for member requirement (e.g., AD Attribute)No
STATIC_ASSET_FOLDERBuild folder for UI (e.g., build)Yes
MIGRATION_DIRECTORYSQLAlchemy migrations directory (e.g., ./migrations)Yes
DATABASE_USERNAMEDatabase username (e.g., admin)Yes
DATABASE_PASSWORDDatabase password (e.g., password123)Yes
DATABASE_HOSTDatabase hostname (e.g., db.example.com)Yes
DATABASE_PORTDatabase port number (e.g., 5432)Yes
DATABASE_DBNAMEName of the database (e.g., mydb)Yes
API_KEY_EXPIRATIONDuration in days of API key expiration (e.g., 30)Yes
Search URL for the external application
Ex: https://search.com/?q=request.id=
SEARCH_NAMESearch name for the external applicationEx: Splunk
DEFAULT_EXCLUDED_SUBMITTERSDefault users to be exluded from Submission table view. Useful for hiding automations by default.Ex: SearchBot