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
Strumenti/GitHubGitHub/dropbox/securitybot
Utilità e FrameworkThreat IntelligenceAutenticazioneRisposta agli IncidentiAnalisi dei LogArchived
GitHubdropbox/securitybot

securitybot

Alerting distribuito per le masse!

Vedi Repository
98910787 anni 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

Securitybot

Allarmi distribuiti per tutti!

Securitybot è un'implementazione open-source di un chatbot per allarmi distribuiti, come descritto nell'articolo del blog di Ryan Huber. Gli allarmi distribuiti migliorano l'efficienza di monitoraggio del tuo team di sicurezza e possono aiutarti a rilevare incidenti di sicurezza più rapidamente ed efficientemente. Abbiamo cercato di rimuovere tutte le specificità Dropbox da questo codice in modo che la configurazione della tua istanza sia abbastanza semplice. Dovrebbe essere relativamente facile installare i requisiti elencati in un contenitore virtualenv/Docker e lasciare che il bot faccia il suo lavoro. Forniamo anche un semplice frontend per esplorare il database, ricevere chiamate API e creare allarmi personalizzati in modo che il bot contatti le persone come desiderato.

Distribuzione

Questa guida illustra come configurare un'istanza di Securitybot il più rapidamente possibile, senza fronzoli. La collegheremo a Slack, SQL e Duo. Una volta terminato, avremo un file che assomiglia a main.py.

SQL

Avrai bisogno di un database chiamato securitybot su un server MySQL da qualche parte. Abbiamo fornito una funzione chiamata init_sql situata in securitybot/sql.py che inizializzerà SQL. Attualmente è configurata per utilizzare l'host localhost con utente root e nessuna password. Dovrai modificarlo perché ovviamente non è così che è configurato il tuo database.

Slack

Avrai bisogno di un token per poter integrare con Slack. La cosa migliore da fare è creare un bot user e usare quel token per Securitybot. Dovrai anche impostare un canale in cui il bot riferirà quando gli utenti specificano di non aver eseguito un'azione. Trova l'ID univoco per quel canale (sarà simile a C123456) e assicurati di invitare il bot user in quel canale, altrimenti non potrà inviare messaggi.

Duo

Per Duo, vorrai creare un'istanza di Auth API, darle un nome intelligente e tenere traccia della chiave di integrazione, della chiave segreta e dell'URI dell'endpoint dell'API Auth.

Esecuzione del bot

Dai un'occhiata al file main.py fornito nella directory principale per un esempio su come utilizzare tutto ciò. Sostituisci tutte le variabili globali con quanto trovato sopra. Se tutto quanto sopra è stato generato con successo, Securitybot dovrebbe essere operativo. Per testarlo, invia un messaggio al bot user a cui è assegnato e dì hi. Per testare il processo di gestione di un allarme, invia test per testare il bot.

Architettura

Securitybot è stato progettato per essere il più modulare possibile. Ciò significa che è possibile scambiare facilmente sistemi di chat, provider 2FA e sorgenti dati degli allarmi. L'unico sistema strettamente integrato con il bot è SQL, ma aggiungere supporto per altri database non dovrebbe essere difficile. Avere un database rende gli allarmi persistenti e significa che il bot non perde (troppo) stato se si verifica un guasto temporaneo.

Securitybot propriamente detto

Il bot stesso esegue un piccolo insieme di funzioni:

  1. Legge i messaggi, interpretandoli come comandi.
  2. Sonda ogni oggetto utente per aggiornare il loro stato, se applicabile.
  3. Preleva nuovi allarmi dal database e li assegna agli utenti o li scala a un utente sconosciuto.

La messaggistica, il 2FA e la gestione degli allarmi sono forniti da moduli configurabili e aggiunti al bot durante l'inizializzazione.

Comandi

Il bot gestisce i messaggi in arrivo come comandi. L'analisi e la gestione dei comandi avviene nella classe Securitybot e i comandi stessi sono forniti in due punti. Le funzioni per i comandi sono definite in commands.py e la loro struttura è definita in commands.yaml nella directory config/.

Messaggistica

Securitybot è progettato per essere compatibile con una vasta gamma di sistemi di messaggistica. Attualmente forniamo binding per Slack, ma sentiti libero di contribuire con altri plugin, come per Gitter o Zulip, a monte. La messaggistica è resa possibile da securitybot/chat/chat.py che fornisce un piccolo numero di funzioni per interrogare gli utenti in un gruppo di messaggistica, inviare messaggi a quegli utenti e inviare messaggi a un canale/room specifico. Per aggiungere binding per un nuovo sistema di messaggistica, sottoclassa Chat.

2FA

Il supporto 2FA è fornito da auth/auth.py, che incapsula il 2FA asincrono in alcune funzioni che consentono di verificare la capacità 2FA, avviare una sessione 2FA e controllare lo stato della sessione 2FA. Forniamo supporto per Duo Push tramite Duo Auth API, ma aggiungere supporto per un prodotto diverso o una soluzione 2FA interna è semplice come creare una sottoclasse di Auth.

Gestione dei compiti

La gestione dei compiti è fornita da tasker/tasker.py e dalla classe Tasker. Poiché gli allarmi sono registrati in un database SQL, il Tasker fornito è SQLTasker. Questo fornisce supporto per prelevare nuovi compiti e aggiornarli tramite singoli oggetti Task.

Blacklist

Le blacklist sono gestite dal database SQL, fornito in blacklist/blacklist.py e dalla sottoclasse blacklist/sql_blacklist.py.

Utenti

L'oggetto User fornisce supporto per la gestione dello stato utente. Teniamo traccia di qualsiasi informazione che un sistema di messaggistica ci fornisce, ma in realtà usiamo solo l'ID univoco e il nome utente di un utente per contattarlo.

Allarmi

Gli allarmi sono identificati in modo univoco da un hash SHA-256 che deriva da un hash dell'evento che li ha generati. Assumiamo che un hash SHA-256 sia sufficientemente casuale da non avere collisioni. Se incontri una collisione SHA-256, contatta qualcuno presso l'Università più vicina e goditi la fama e la fortuna che ti porterà.

FAQ

Per favore, chiedici cose

Contributi

I contributori devono attenersi al Dropbox Contributor License Agreement.

Licenza

Copyright 2016 Dropbox, Inc.

Concesso in licenza secondo l'Apache License, Versione 2.0 (la "Licenza"); non puoi utilizzare questo file se non in conformità con la Licenza. Puoi ottenere una copia della Licenza all'indirizzo

http://www.apache.org/licenses/LICENSE-2.0

Salvo quanto diversamente stabilito dalla legge applicabile o concordato per iscritto, il software distribuito sotto la Licenza è distribuito "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, espresse o implicite. Vedi la Licenza per il linguaggio specifico che regola i permessi e le limitazioni.

Scarica lo strumento