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 用于文件提交与分析

查看仓库
76923天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Strelka 横幅

版本发布   |   拉取请求   |   问题

GitHub release Build Status Pull Requests Slack License

Strelka Web UI 是一个基于浏览器和 API 的文件提交前端,用于 Strelka 企业文件扫描器。它允许用户向 Strelka 集群提交文件,并轻松查看历史响应结果。Strelka Web UI 支持 LDAP 认证和 API 访问,提供了与 Strelka 扫描器交互的安全灵活方式。本文档提供了有关如何设置和使用 Strelka Web UI 的详细信息,以及其功能和相关项目。

Strelka UI 结果页面
Strelka UI 结果页面

功能特性

文件提交 UI 提供以下功能:

  • 向 Strelka 集群提交文件,并在浏览器中查看响应。
  • 在本地或远程数据库中存储并查看之前的提交结果和活动记录。
  • 支持 LDAP 认证
  • API 支持

前置要求

  • 可访问的 Strelka 实例(参见:Strelka 快速入门)
  • Docker
  • Docker-compose
  • Python 3.9+

快速开始

默认情况下,Strelka UI 配置为使用最小的“快速开始”部署,允许用户测试系统。此部署将针对本地 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 中静态设置。

在本地运行时,配置的优先级为:系统环境 -> .env -> ./app/config/config.py。在 Docker 中运行时,配置的优先级为:Docker 环境 -> 系统环境 -> ./app/config/config.py。

请参考 ./app/example.env 进行环境变量设置。

环境变量选项

以下详细说明 ./app/config/config.py 中的配置项。

外部热链接支持

您还可以在 UI 提交表中设置引用,使用户能够根据 request.id 快速跳转到外部站点。通过修改 ./ui/src/config.js 并按照下表 SEARCH_URL 的示例,您可以为用户提供指向外部站点(例如 SIEM / 日志系统)的链接。确保您的链接中包含字符串 <REPLACE>,UI 将用相关文件的请求 ID 替换该字符串。

./ui/src/config.js 中支持的修改字段:

Field NameValueExample
SEARCH_URL外部应用程序的搜索 URL例如:https://search.com/?q=request.id=

提供 CA 证书

如果您的网络环境需要自定义 CA 捆绑包(例如公司 TLS 检查代理),您可以在构建时和运行时提供它,而无需将任何证书文件提交到存储库。

构建时 — 在运行 docker compose build 之前,通过 CUSTOM_CA_CERT 传递 CA 捆绑包的路径。证书使用 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 捆绑包放在该目录中,并在 ./app/strelka_ui/.env 中或作为 Docker 环境变量设置 REQUESTS_CA_BUNDLE(可选地设置 SSL_CERT_FILE):

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

示例

有关如何使用 Python requests 对 Strelka UI API 进行身份验证、收集扫描统计信息以及提交文件的示例,可在 ./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 创建的 React JS 应用程序,由 Flask 提供服务。UI 使用 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_HOSTStrelka 主机名(例如 0.0.0.0)是
STRELKA_PORTStrelka 端口号(例如 57314)是
STRELKA_CERTStrelka 的证书路径,如果需要(例如 /path/to/cert.pem)否
CA_CERT_PATHLDAP 的 CA 证书路径,如果需要(例如 /path/to/ca_certs)否
VIRUSTOTAL_API_KEY用于 VirusTotal 哈希查询的 API 密钥是
VIRUSTOTAL_API_LIMIT限制 VirusTotal 扫描的文件数量(默认:30)是
LDAP_URLLDAP 服务器的 URL(例如 ldaps://ldap.example.com:636)否
LDAP_SEARCH_BASELDAP 查询的搜索基础(例如 DC=example,DC=com)否
LDAP_USERNAME_ORGANIZATIONLDAP 查询的用户名组织(例如 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_FOLDERUI 的构建文件夹(例如 build)是
MIGRATION_DIRECTORYSQLAlchemy 迁移目录(例如 ./migrations)是
DATABASE_USERNAME数据库用户名(例如 admin)是
DATABASE_PASSWORD数据库密码(例如 password123)是
DATABASE_HOST数据库主机名(例如 db.example.com)是
DATABASE_PORT数据库端口号(例如 5432)是
DATABASE_DBNAME数据库名称(例如 mydb)是
API_KEY_EXPIRATIONAPI 密钥过期的天数(例如 30)是
SEARCH_NAME外部应用程序的搜索名称例如:Splunk
DEFAULT_EXCLUDED_SUBMITTERS默认从提交表视图中排除的用户。默认情况下可用于隐藏自动化任务。例如:SearchBot