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
GitMonitor — Un modo per monitorare continuamente le informazioni sensibili che potrebbero essere esposte su Github | Kitploit
Strumenti/GitHubGitHub/talkaboutcybersecurity/gitmonitor
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniRilevamento Segreti
GitHubtalkaboutcybersecurity/gitmonitor

GitMonitor

Un modo per monitorare continuamente le informazioni sensibili che potrebbero essere esposte su Github

Vedi Repository

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
172406 anni faRevisionato da Kitploit

GitMonitor

License: GPL v3

GitMonitor

Un modo per monitorare continuamente le informazioni sensibili che potrebbero essere esposte su Github

Riepilogo

So che esistono molti altri strumenti disponibili per trovare informazioni sensibili attualmente trapelate su Github, io stesso ne uso ancora alcuni. Tuttavia, ritengo che manchino ancora alcune funzionalità come:

  • Altri strumenti sono più focalizzati sulla ricerca di informazioni sensibili presenti in un repository di cui è stato fornito l'indirizzo Git. Solo una manciata di strumenti simili, al momento in cui ho sviluppato GitMonitor, si concentrava prima sul trovare i repository di cui hai bisogno, trovare tutti i repository rilevanti, e poi verificare se in essi sono presenti informazioni sensibili.

  • Oltre alle regole per verificare le informazioni sensibili, lo strumento necessita anche di regole per cercare i repository di interesse. I repository da considerare possono essere quelli che contengono parole chiave relative all'azienda o al progetto.

  • Se sei un cacciatore di bug bounty, ti interesseranno solo pochi target alla volta. Tuttavia, se sei un ingegnere della sicurezza per un'azienda, devi sapere quando appare un repository relativo alla tua azienda o al tuo progetto e potrebbe contenere informazioni sensibili. Tali repository possono apparire ovunque su Github, con qualsiasi nome e pubblicati da qualsiasi account. Dovresti ricevere un avviso non appena un repository del genere appare (monitoraggio continuo).

  • Lo strumento ha un meccanismo di reporting flessibile.

Ecco perché ho creato questo strumento - GitMonitor. GitMonitor utilizza due diversi set di regole per trovare ciò di cui hai bisogno. Il set di regole di ricerca cercherà i repository che potrebbero essere correlati alla tua organizzazione o a progetti interni, o qualsiasi altra cosa, clonerà i repository corrispondenti in locale. Quindi, Il set di regole di filtraggio sensibili verificherà se in quei repository esistono informazioni sensibili. Infine, lo strumento segnalerà tramite Slack. Puoi utilizzare questo strumento con Cronjob per creare un sistema di monitoraggio continuo per tracciare le informazioni sensibili relative alla tua organizzazione che trapelano su Github e ricevere i risultati tramite Slack.

Aggiornamento 15 giugno 2020: Abbiamo aggiornato alla versione 1.0. Questa versione corregge alcuni bug in modo che GitMonitor possa funzionare in modo stabile. Ti consigliamo di eseguire un git pull se stai utilizzando versioni precedenti.

Funzionalità

  • Utilizza due diversi set di regole: un set di regole di ricerca (yaml) per cercare il repository di interesse, e un set di regole di filtraggio (regex) per verificare se tali contenitori di interesse contengono informazioni sensibili. Le Regole di Ricerca (yaml) e le Regole di Filtraggio (regex) sono definite separatamente. Gli utenti possono definire regole yaml e regex in modo facile e intuitivo.

  • Set di regole di ricerca: Puoi creare molte regole diverse utilizzando diversi file yaml. Le regole ti permettono di definire in modo flessibile come desideri cercare i repository, puoi usare parole chiave, o parole chiave associate al linguaggio, al nome del file e all'estensione, oppure puoi anche definire di escludere repository dalla ricerca in base a linguaggio, nome del file o estensione. Le parole chiave verranno cercate attraverso i nomi dei repository, i codici dei repository e anche i commit.

  • Set di regole di filtraggio: Puoi aggiungere o modificare facilmente le regex per trovare informazioni sensibili che potrebbero esistere nei repository.

  • Il primo repository che corrisponde al set di regole di ricerca verrà clonato in locale. Successivamente, il set di regole di filtraggio verificherà se questo repository contiene informazioni sensibili. Dopo aver terminato la verifica delle informazioni sensibili, GitMonitor registrerà i risultati e cancellerà automaticamente questo repository in locale per risparmiare spazio prima di continuare a ripetere questo processo fino a quando tutti i repository rilevanti non saranno stati trovati e verificati.

Diagramma di funzionamento

Requisiti

  • Python3
  • Python3-pip.
  • Testato su Ubuntu 18.04 e MacOS. Riteniamo che GitMonitor possa funzionare bene anche su altri sistemi.

Configurazione

1. Installa i requisiti

root@kitploit:~
> python3 -m pip install -r requirements.txt

Assicurati di avere PyYAML versione 5x o superiore installata (pip3 install --ignore-installed PyYAML)

2. Assicurati di aver configurato tutte le informazioni necessarie nel file di configurazione (config.ini)

La seguente tabella spiega il significato di ogni chiave nel file di configurazione:

3. Definisci le credenziali dell'account Github. Hai 2 modi per farlo

  • Definisci le informazioni sulle credenziali nelle variabili d'ambiente:
root@kitploit:~
> export GIT_USERNAME=il tuo nome utente Github
> export GIT_PASSWORD=la tua chiave personale o password Github
  • Oppure definisci le informazioni sulle credenziali nel file di configurazione (sconsigliato):

    • Apri il file config.ini.
    • Inserisci le informazioni sulle credenziali nei valori delle chiavi user e pass.

Esempio di file di configurazione quando definisci le credenziali nelle variabili d'ambiente:

Esempio di file di configurazione

4. Scrivi le regole (Regole di ricerca). Metti le tue regole nella directory rules

Puoi creare molti file yaml diversi come il modello di regola per definire più parole chiave. Un file di regole apparirà come nell'immagine qui sotto:

File di regole di esempio

5. Aggiungi altre espressioni regolari al file libs/regex.py - Regole di filtraggio sensibili (Opzionale)

6. Esegui GitMonitor

root@kitploit:~
> python3 gitmonitor.py

7. Puoi pianificare l'esecuzione automatica dello strumento utilizzando Cronjob.

Ad esempio:

Esempio di cronjob

Da fare

  • Funzionalità: Report tramite email.
  • Funzionalità: Inviare risultato a Elasticsearch.
  • Sviluppo: Scrivere setup.py
  • Sviluppo: Scrivere Dockerfile

Il mio team

  • Tony - Capo progetto
  • musashi137 - Sviluppatore principale

Ringraziamenti speciali

  • GitMAD per il meccanismo di ricerca di informazioni sensibili basato su regex

Contributi

Molte aree di questo progetto potrebbero essere migliorate e modificate in modo significativo durante il refactoring del codice corrente e l'implementazione di nuove funzionalità. Il feedback con miglioramenti e le pull request da parte della comunità saranno molto apprezzati e accettati.

In generale, seguiamo il flusso di lavoro Git "fork-and-pull".

  1. Fai il fork del repo su GitHub
  2. Clona il progetto sulla tua macchina
  3. Fai commit delle modifiche sul tuo branch
  4. Carica il tuo lavoro sul tuo fork
  5. Invia una Pull request in modo che possiamo rivedere le tue modifiche

NOTA: Assicurati di unire l'ultimo aggiornamento da "upstream" prima di fare una pull request!

Donazioni

Offrimi un caffè

Scarica lo strumento
  • Report tramite Slack.

  • Questo strumento può essere programmato tramite Cronjob per un monitoraggio continuo.

  • ChiaveDescrizione
    userNome utente Github - Lascia vuoto se hai impostato le credenziali Github tramite variabili d'ambiente
    passPassword Github - Lascia vuoto se hai impostato le credenziali Github tramite variabili d'ambiente
    webhooksToken del Webhook in entrata per inviare messaggi da GitMonitor a Slack
    ruleLa directory che contiene il set di regole di ricerca
    sourceLa directory per scaricare il repository
    logLa directory conterrà il file JSON che registra lo stato dopo ogni scansione, questo file JSON viene utilizzato per confrontare i risultati tra scansioni (per identificare nuovi repository)
    startDefinisce il banner per l'inizio della scansione e il banner per il risultato della scansione del Set di Regole di Filtraggio Sensibili - Verrà mostrato nei risultati inviati a Slack
    endDefinisce il banner per la fine della scansione e il banner per il risultato della scansione del Set di Regole di Ricerca - Verrà mostrato nei risultati inviati a Slack
    allDefinisce il banner per mostrare tutti i repository - Verrà mostrato nei risultati inviati a Slack