Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
strelka-ui — Strelka Web UI pour la soumission et l'analyse de fichiers. | Kitploit
Outils/GitHubGitHub/target/strelka-ui
Outils DéfensifsAnalyse de MalwareRenseignement sur les MenacesAuthentificationAnalyse de Journaux
GitHubtarget/strelka-ui

strelka-ui

Strelka Web UI pour la soumission et l'analyse de fichiers.

Voir le dépôt
769il y a 25 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Bannière Strelka

Versions   |   Pull Requests   |   Issues

GitHub release Build Status Pull Requests Slack License

L'interface Web Strelka est un frontend de soumission de fichiers basé sur navigateur et API pour Strelka Enterprise File Scanner. Elle permet aux utilisateurs de soumettre des fichiers à un cluster Strelka et de consulter facilement les résultats historiques des réponses. L'interface Web Strelka prend en charge l'authentification LDAP et l'accès API, offrant un moyen sécurisé et flexible d'interagir avec le scanner Strelka. Ce document fournit des détails sur la configuration et l'utilisation de l'interface Web Strelka, ainsi que sur ses fonctionnalités et ses projets connexes.

Page de résultats de l'interface Strelka
Page de résultats de l'interface Strelka

Fonctionnalités

L'interface de soumission de fichiers offre les fonctionnalités suivantes :

  • Soumettre des fichiers à un cluster Strelka et examiner les réponses depuis votre navigateur.
  • Stocker et consulter les résultats et l'activité des soumissions précédentes dans une base de données locale ou distante.
  • Prise en charge de l'authentification LDAP
  • Prise en charge de l'API

Prérequis

  • Instance Strelka accessible (voir : Démarrage rapide de Strelka)
  • Docker
  • Docker-compose
  • Python 3.9+

Démarrage rapide

Par défaut, l'interface Strelka est configurée pour utiliser un déploiement minimal "quickstart" qui permet aux utilisateurs de tester le système. Ce déploiement cible une instance Strelka locale et démarre une base de données locale. Les utilisateurs pourront accéder à ce système avec le nom d'utilisateur / le mot de passe de leur choix. Pour plus d'informations sur le ciblage d'une instance Strelka distante, d'une base de données distante ou sur l'utilisation de LDAP pour l'authentification, voir la section Configuration supplémentaire :

Étape 1 : S'assurer qu'un cluster Strelka est prêt

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

Étape 2 : Construire et démarrer l'interface Strelka UI (Docker)

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

Étape 3 : Accéder à l'interface Strelka UI

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

Étapes supplémentaires

Cette section fournit des détails sur la façon de cibler une instance Strelka distante, une base de données distante pour le stockage et un serveur LDAP pour l'authentification, pour une utilisation plus sécurisée. Pour activer ces options, vous pouvez utiliser des variables d'environnement pour remplacer les valeurs par défaut.

Configuration des variables d'environnement

La configuration du backend est fournie via des variables d'environnement et peut être définie statiquement dans ./app/config/config.py.

En local, la précédence de configuration est : System environment -> .env -> ./app/config/config.py. Dans Docker, la précédence de configuration est : Docker environment -> System environment -> ./app/config/config.py.

Veuillez vous référer à ./app/example.env pour la configuration des variables d'environnement.

Options des variables d'environnement

Les éléments suivants détaillent les éléments de configuration dans ./app/config/config.py.

Prise en charge des liens externes

Vous pouvez également définir une référence dans le tableau de soumission de l'interface pour permettre aux utilisateurs de basculer rapidement vers un site externe en fonction du request.id. En modifiant ./ui/src/config.js et en suivant l'exemple SEARCH_URL dans le tableau suivant, vous pouvez fournir aux utilisateurs un lien vers un site externe (p. ex., SIEM / logger). Assurez-vous que votre lien contient la chaîne <REPLACE> et l'interface remplacera cette chaîne par l'ID de requête du fichier concerné.

Champs de modification pris en charge dans ./ui/src/config.js :

Field NameValueExample

Fourniture des certificats CA

Si votre environnement réseau nécessite un bundle CA personnalisé (par exemple, un proxy d'inspection TLS d'entreprise), vous pouvez le fournir à la fois au moment de la construction et à l'exécution sans engager aucun fichier de certificat dans le dépôt.

Au moment de la construction — transmettez le chemin de votre bundle CA via CUSTOM_CA_CERT avant d'exécuter docker compose build. Le certificat est monté de manière éphémère à l'aide d'un secret BuildKit et n'est jamais écrit dans une couche d'image :

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

Sur les réseaux ouverts où aucun CA personnalisé n'est nécessaire, omettez entièrement la variable — la construction se dégrade de manière gracieuse :

root@kitploit:~
docker compose up --build

Au moment de l'exécution — le répertoire certs à la racine du projet est monté dans /certs à l'intérieur du conteneur en cours d'exécution. Placez votre bundle CA à cet endroit et définissez REQUESTS_CA_BUNDLE (et éventuellement SSL_CERT_FILE) dans ./app/strelka_ui/.env ou en tant que variable d'environnement Docker :

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

API

L'interface Strelka fournit également des routes API pour un accès scripté par les utilisateurs. Veuillez consulter les routes ci-dessous pour plus de détails :

Routes d'authentification

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

Routes 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

Exemple

Des exemples pour s'authentifier à l'API de l'interface Strelka, recueillir les statistiques de scan et soumettre un fichier à l'aide de requests Python se trouvent dans ./misc/examples/api_examples.py

Base de données

La base de données utilise https://www.sqlalchemy.org/ comme ORM. Flask-Migrate est utilisé pour fournir les migrations de base de données via Alembic. Un fichier de script d'assistance, manage.py, est fourni pour aider aux tâches courantes de base de données.

Si vous créez une nouvelle base de données, ou si vous modifiez la base actuelle, vous devez effectuer les étapes suivantes - bien que ces commandes soient exécutées pour vous au démarrage du cluster :

Générer une nouvelle migration à partir des modifications du modèle :

  • python manage.py db migrate

Mettre à jour la base de données en utilisant la configuration de base de données actuelle

  • python manage.py db upgrade

Détails de l'application

L'application backend est principalement composée des technologies suivantes :

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

L'interface frontend est une application React JS créée avec React et servie par Flask. L'interface utilise la bibliothèque Antd et Antd ProComponents, et le routage est géré par React Router.

  • create-react-app
  • Ant Financial UI
  • Antd ProComponents
  • React Router
Page de tableau de bord de l'interface Strelka
Page de tableau de bord de l'interface Strelka

Projets connexes

  • Strelka

Licence

Strelka UI et son code associé sont publiés sous les termes de la licence Apache 2.0.

Bannière Target
Télécharger l’outil
Field NameValueRequired
STRELKA_HOSTHôte Strelka (p. ex., 0.0.0.0)Oui
STRELKA_PORTNuméro de port Strelka (p. ex., 57314)Oui
STRELKA_CERTChemin vers le certificat pour Strelka, si nécessaire (p. ex., /path/to/cert.pem)Non
CA_CERT_PATHChemin vers les certificats CA pour LDAP, si nécessaire (p. ex., /path/to/ca_certs)Non
VIRUSTOTAL_API_KEYClé API pour la recherche de hachage VirusTotalOui
VIRUSTOTAL_API_LIMITLimite du nombre de fichiers à analyser par VirusTotal (défaut : 30)Oui
LDAP_URLURL du serveur LDAP (p. ex., ldaps://ldap.example.com:636)Non
LDAP_SEARCH_BASEBase de recherche pour les requêtes LDAP (p. ex., DC=example,DC=com)Non
LDAP_USERNAME_ORGANIZATIONOrganisation du nom d'utilisateur pour les requêtes LDAP (p. ex., org//)Non
LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELDAttribut LDAP pour le nom de compte (p. ex., sAMAccountName)Non
LDAP_ATTRIBUTE_FIRST_NAME_FIELDAttribut LDAP pour le prénom (p. ex., givenName)Non
LDAP_ATTRIBUTE_LAST_NAME_FIELDAttribut LDAP pour le nom de famille (p. ex., sn)Non
LDAP_ATTRIBUTE_MEMBER_OF_FIELDAttribut LDAP pour l'appartenance à un groupe (p. ex., memberOf)Non
LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELDAttribut LDAP pour l'exigence d'appartenance (p. ex., AD Attribute)Non
STATIC_ASSET_FOLDERDossier de build pour l'interface (p. ex., build)Oui
MIGRATION_DIRECTORYRépertoire des migrations SQLAlchemy (p. ex., ./migrations)Oui
DATABASE_USERNAMENom d'utilisateur de la base de données (p. ex., admin)Oui
DATABASE_PASSWORDMot de passe de la base de données (p. ex., password123)Oui
DATABASE_HOSTNom d'hôte de la base de données (p. ex., db.example.com)Oui
DATABASE_PORTNuméro de port de la base de données (p. ex., 5432)Oui
DATABASE_DBNAMENom de la base de données (p. ex., mydb)Oui
API_KEY_EXPIRATIONDurée d'expiration de la clé API en jours (p. ex., 30)Oui
SEARCH_URL
URL de recherche de l'application externe
Ex : https://search.com/?q=request.id=
SEARCH_NAMENom de recherche de l'application externeEx : Splunk
DEFAULT_EXCLUDED_SUBMITTERSUtilisateurs par défaut à exclure de la vue du tableau des soumissions. Utile pour masquer les automatisations par défaut.Ex : SearchBot