Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
strelka-ui — Strelka Web UI per l'invio e l'analisi di file | Kitploit
Strumenti/GitHubGitHub/target/strelka-ui
Strumenti DifensiviAnalisi MalwareThreat IntelligenceAutenticazioneAnalisi dei Log
GitHubtarget/strelka-ui

strelka-ui

Strelka Web UI per l'invio e l'analisi di file

Vedi Repository
76923 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Strelka Banner

Releases   |   Pull Requests   |   Issues

GitHub release Build Status Pull Requests Slack License

La Strelka Web UI è un frontend per l'invio di file basato su browser e API per lo Strelka Enterprise File Scanner. Consente agli utenti di inviare file a un cluster Strelka e di consultare facilmente i risultati storici delle risposte. La Strelka Web UI supporta l'autenticazione LDAP e l'accesso API, offrendo un modo sicuro e flessibile di interagire con lo scanner Strelka. Questo documento fornisce dettagli su come configurare e utilizzare la Strelka Web UI, oltre alle sue funzionalità e ai progetti correlati.

Strelka UI Results Page
Pagina dei risultati di Strelka UI

Funzionalità

La UI di invio file fornisce le seguenti funzionalità:

  • Invia file a un cluster Strelka ed esamina le risposte dal tuo browser.
  • Archivia e consulta i risultati e le attività degli invii precedenti in un database locale o remoto.
  • Supporto per l'autenticazione LDAP
  • Supporto API

Prerequisiti

  • Istanza Strelka accessibile (Vedi: Strelka Quickstart)
  • Docker
  • Docker-compose
  • Python 3.9+

Avvio rapido

Per impostazione predefinita, la Strelka UI è configurata per utilizzare una distribuzione minima "quickstart" che consente agli utenti di testare il sistema. Questa distribuzione punta a un'istanza Strelka locale e avvia un database locale. Gli utenti potranno accedere al sistema con qualsiasi nome utente / password desiderino. Per ulteriori informazioni su come puntare a un'istanza Strelka remota, a un database remoto o sull'uso di LDAP per l'autenticazione, vedere la sezione Configurazione aggiuntiva:

Passo 1: assicurarsi che un cluster Strelka sia pronto

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

Passo 2: creare e avviare la Strelka UI (Docker)

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

Passo 3: accedere alla Strelka UI

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

Passaggi aggiuntivi

Questa sezione fornisce dettagli su come puntare a un'istanza Strelka remota, a un database remoto per l'archiviazione e a un server LDAP per l'autenticazione, per un uso più sicuro. Per abilitare queste opzioni, puoi utilizzare variabili d'ambiente per sovrascrivere le impostazioni predefinite.

Configurazione delle variabili d'ambiente

La configurazione del backend è fornita tramite variabili d'ambiente e può essere impostata staticamente in ./app/config/config.py.

In esecuzione locale, la precedenza della configurazione è: System environment -> .env -> ./app/config/config.py. In esecuzione in Docker, la precedenza della configurazione è: Docker environment -> System environment -> ./app/config/config.py.

Fare riferimento a ./app/example.env per la configurazione delle variabili d'ambiente.

Opzioni delle variabili d'ambiente

Di seguito sono dettagliati gli elementi di configurazione in ./app/config/config.py.

Supporto per hotlink esterni

È inoltre possibile impostare un riferimento nella tabella di invio della UI per consentire agli utenti di passare rapidamente a un sito esterno in base al request.id. Modificando ./ui/src/config.js e seguendo l'esempio SEARCH_URL nella tabella seguente, puoi fornire agli utenti un collegamento a un sito esterno (es., SIEM / logger). Assicurati che il collegamento contenga la stringa <REPLACE> e la UI sostituirà quella stringa con l'ID della richiesta del file pertinente.

Campi di modifica supportati in ./ui/src/config.js:

Nome campoValoreEsempio

Fornire certificati CA

Se il tuo ambiente di rete richiede un bundle CA personalizzato (es., un proxy aziendale di ispezione TLS), puoi fornirlo sia in fase di build che di runtime senza archiviare alcun file di certificato nel repository.

Fase di build — passa il percorso del tuo bundle CA tramite CUSTOM_CA_CERT prima di eseguire docker compose build. Il certificato viene montato temporaneamente utilizzando un segreto BuildKit e non viene mai scritto in alcun layer dell'immagine:

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

Sulle reti aperte in cui non è necessario un CA personalizzato, ometti del tutto la variabile: la build degrada con grazia:

root@kitploit:~
docker compose up --build

Fase di runtime — la directory certs alla radice del progetto viene montata su /certs all'interno del container in esecuzione. Posiziona lì il tuo bundle CA e imposta REQUESTS_CA_BUNDLE (e opzionalmente SSL_CERT_FILE) in ./app/strelka_ui/.env o come variabile d'ambiente Docker:

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

API

La Strelka UI fornisce anche route API per l'accesso basato su script utente. Fare riferimento alle route seguenti per i dettagli:

Route di autenticazione

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

Route 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

Esempio

Esempi su come autenticarsi all'API della Strelka UI, raccogliere le statistiche delle scansioni e inviare un file utilizzando Python requests sono disponibili in ./misc/examples/api_examples.py.

Database

Il database utilizza https://www.sqlalchemy.org/ come ORM. Flask-Migrate viene utilizzato per fornire migrazioni del database tramite Alembic. Viene fornito un file script di supporto, manage.py, per assistere nelle comuni attività del database.

Se stai creando un nuovo database o modificando quello corrente, devi eseguire i seguenti passaggi - anche se all'avvio del cluster questi comandi verranno eseguiti per te:

Genera una nuova migrazione dalle modifiche al modello:

  • python manage.py db migrate

Aggiorna il database utilizzando la configurazione corrente del database:

  • python manage.py db upgrade

Dettagli dell'applicazione

L'applicazione backend è composta prevalentemente dalle seguenti tecnologie:

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

La UI frontend è un'applicazione React JS creata con React e servita da Flask. La UI utilizza la libreria Antd e Antd ProComponents, e il routing è gestito da React Router.

  • create-react-app
  • Ant Financial UI
  • Antd ProComponents
  • React Router
Strelka UI Dashboard Page
Pagina dashboard di Strelka UI

Progetti correlati

  • Strelka

Licenza

La Strelka UI e il suo codice associato sono rilasciati secondo i termini della Licenza Apache 2.0.

Target Banner
Scarica lo strumento
Nome campoValoreObbligatorio
STRELKA_HOSTHostname di Strelka (es., 0.0.0.0)Sì
STRELKA_PORTNumero di porta di Strelka (es., 57314)Sì
STRELKA_CERTPercorso del certificato per Strelka, se necessario (es., /path/to/cert.pem)No
CA_CERT_PATHPercorso dei certificati CA per LDAP, se necessario (es., /path/to/ca_certs)No
VIRUSTOTAL_API_KEYChiave API per la ricerca hash su VirusTotalSì
VIRUSTOTAL_API_LIMITLimita il numero di file che devono essere scansionati da VirusTotal (Predefinito: 30)Sì
LDAP_URLURL del server LDAP (es., ldaps://ldap.example.com:636)No
LDAP_SEARCH_BASEBase di ricerca per le query LDAP (es., DC=example,DC=com)No
LDAP_USERNAME_ORGANIZATIONOrganizzazione del nome utente per le query LDAP (es., org//)No
LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELDAttributo LDAP per il nome dell'account (es., sAMAccountName)No
LDAP_ATTRIBUTE_FIRST_NAME_FIELDAttributo LDAP per il nome (es., givenName)No
LDAP_ATTRIBUTE_LAST_NAME_FIELDAttributo LDAP per il cognome (es., sn)No
LDAP_ATTRIBUTE_MEMBER_OF_FIELDAttributo LDAP per l'appartenenza a un gruppo (es., memberOf)No
LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELDAttributo LDAP per il requisito di appartenenza (es., AD Attribute)No
STATIC_ASSET_FOLDERCartella di build per la UI (es., build)Sì
MIGRATION_DIRECTORYDirectory delle migrazioni SQLAlchemy (es., ./migrations)Sì
DATABASE_USERNAMENome utente del database (es., admin)Sì
DATABASE_PASSWORDPassword del database (es., password123)Sì
DATABASE_HOSTHostname del database (es., db.example.com)Sì
DATABASE_PORTNumero di porta del database (es., 5432)Sì
DATABASE_DBNAMENome del database (es., mydb)Sì
API_KEY_EXPIRATIONDurata in giorni della scadenza della chiave API (es., 30)Sì
SEARCH_URLURL di ricerca per l'applicazione esternaEs: https://search.com/?q=request.id=
SEARCH_NAMENome di ricerca per l'applicazione esternaEs: Splunk
DEFAULT_EXCLUDED_SUBMITTERSUtenti predefiniti da escludere dalla vista della tabella degli invii. Utile per nascondere le automazioni per impostazione predefinita.Es: SearchBot