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 для отправки и анализа файлов

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

Популярное

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

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

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

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

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

Баннер Strelka

Релизы   |   Pull Requests   |   Issues

GitHub release Build Status Pull Requests Slack License

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

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

Возможности

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

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

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

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

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

По умолчанию веб-интерфейс Strelka настроен на минимальное развёртывание «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.

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

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

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

Field NameValueExample

Предоставление сертификатов 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 также предоставляет 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, получения статистики сканирования и отправки файла с использованием 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/

Фронтенд-интерфейс — это React JS-приложение, созданное с помощью React и раздаваемое Flask. В интерфейсе используются библиотека Antd и Antd ProComponents, а маршрутизация осуществляется через React Router.

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

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

  • Strelka

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

Strelka UI и связанный с ним код выпущены на условиях лицензии Apache 2.0.

Баннер Target
Скачать инструмент
Field NameValueRequired
STRELKA_HOSTИмя хоста Strelka (например, 0.0.0.0)Да
STRELKA_PORTНомер порта Strelka (например, 57314)Да
STRELKA_CERTПуть к сертификату для Strelka, если требуется (например, /path/to/cert.pem)Нет
CA_CERT_PATHПуть к сертификатам CA для LDAP, если требуется (например, /path/to/ca_certs)Нет
VIRUSTOTAL_API_KEYAPI-ключ для проверки хешей в VirusTotalДа
VIRUSTOTAL_API_LIMITОграничение количества файлов, сканируемых VirusTotal (по умолчанию: 30)Да
LDAP_URLURL LDAP-сервера (например, ldaps://ldap.example.com:636)Нет
LDAP_SEARCH_BASEБаза поиска для LDAP-запросов (например, DC=example,DC=com)Нет
LDAP_USERNAME_ORGANIZATIONОрганизация имени пользователя для LDAP-запросов (например, org//)Нет
LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELDАтрибут LDAP для имени учётной записи (например, sAMAccountName)Нет
LDAP_ATTRIBUTE_FIRST_NAME_FIELDАтрибут LDAP для имени (например, givenName)Нет
LDAP_ATTRIBUTE_LAST_NAME_FIELDАтрибут LDAP для фамилии (например, sn)Нет
LDAP_ATTRIBUTE_MEMBER_OF_FIELDАтрибут LDAP для членства (например, memberOf)Нет
LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELDАтрибут LDAP для требования членства (например, AD Attribute)Нет
STATIC_ASSET_FOLDERПапка сборки для интерфейса (например, build)Да
MIGRATION_DIRECTORYКаталог миграций SQLAlchemy (например, ./migrations)Да
DATABASE_USERNAMEИмя пользователя базы данных (например, admin)Да
DATABASE_PASSWORDПароль базы данных (например, password123)Да
DATABASE_HOSTИмя хоста базы данных (например, db.example.com)Да
DATABASE_PORTНомер порта базы данных (например, 5432)Да
DATABASE_DBNAMEИмя базы данных (например, mydb)Да
API_KEY_EXPIRATIONСрок действия API-ключа в днях (например, 30)Да
SEARCH_URL
Поисковый URL внешнего приложения
Например: https://search.com/?q=request.id=
SEARCH_NAMEИмя поиска во внешнем приложенииНапример: Splunk
DEFAULT_EXCLUDED_SUBMITTERSПользователи, исключаемые из представления таблицы отправок по умолчанию. Полезно для скрытия автоматизаций по умолчанию.Например: SearchBot