
gitGraber: monitora GitHub per cercare e trovare dati sensibili in tempo reale per diversi servizi online come: Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe...

gitGraber è uno strumento sviluppato in Python3 per monitorare GitHub, cercare e trovare dati sensibili in tempo reale per diversi servizi online come: Google, Amazon (AWS), Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe, Twilio...

È importante capire che gitGraber non è progettato per controllare la cronologia dei repository, molti strumenti lo fanno già bene. gitGraber è stato sviluppato originariamente per monitorare e analizzare gli ultimi file indicizzati su GitHub. Se gitGraber trova qualcosa di interessante, riceverai una notifica sul tuo canale Slack. Puoi anche usarlo per avere risultati direttamente sulla riga di comando.
Nella nostra esperienza, siamo convinti che le fughe di dati non provengano solo dalle organizzazioni stesse, ma anche da fornitori di servizi e dipendenti, che non hanno necessariamente un "profilo" che indichi che lavorano per una particolare organizzazione.
Le regex dovrebbero essere il più precise possibile. A volte, potresti avere falsi positivi, sentiti libero di contribuire per migliorare il riconoscimento e aggiungere nuove regex per il rilevamento dei pattern.
Preferiamo ridurre i falsi positivi invece di inviare notifiche per ogni chiave API "standard" che gitGraber potrebbe trovare ma che non è rilevante per il tuo monitoraggio.
gitGraber mostra alcune cose direttamente nella CLI: richiesta GitHub, rilevamento abuso del codice di stato (200 o 403)... e se non vedi qualcosa come [+] POSSIBLE FOO TOKEN FOUND è semplicemente perché gitGraber non ha trovato token segreti per la tua parola chiave definita.
Questo messaggio appare quando GitHub rileva un grande numero di richieste dal tuo token GitHub personale. Non preoccuparti, gitGraber può gestirlo e proverà a usare un altro token definito nel file config.py. Nota: Questo è un limite temporaneo e non hai bisogno di creare un altro token.
No, per evitarlo, gitGraber memorizza tutti gli URL dei repository in un file chiamato rawGitUrls.txt. Se un repository è già stato scansionato da gitGraber e ha trovato una chiave API, non riceverai una notifica.
Devi modificare il file tokens.py e aggiungere il pattern come argomento lista durante l'inizializzazione del token. Ad esempio, per aggiungere il pattern XXXX al token MAILCHIMP, la riga tokensList.append(Token('MAILCHIMP', '\W(?:[a-f0-9]{32}(-us[0-9]{1,2}))\W')) diventa tokensList.append(Token('MAILCHIMP', '\W(?:[a-f0-9]{32}(-us[0-9]{1,2}))\W', ['XXXX'])).
usage: gitGraber.py [-h] [-k KEYWORDSFILE] [-q QUERY] [-s] [-w WORDLIST]
optional arguments:
-h, --help Mostra questo messaggio di aiuto ed esci
-k KEYWORDSFILE, --keyword KEYWORDSFILE Specifica un file di parole chiave (-k keywordsfile.txt)
-q QUERY, --query QUERY Specifica la tua query GitHub (-q "apikey")
-m, --monitor Abilita il monitoraggio della tua query di ricerca creando un cron job (ogni 30 minuti)
-d, --discord Abilita le notifiche Discord
-s, --slack Abilita le notifiche Slack
-tg, --telegram Abilita le notifiche Telegram
-w WORDLIST, --wordlist WORDLIST Crea una wordlist che si popola dinamicamente con i nomi dei file scoperti su GitHub
-l LIMIT_DAYS, --limit LIMIT_DAYS Limita i risultati ai commit più recenti di N giorni
Ad esempio, per cercare una parola specifica su GitHub in combinazione con ogni parola del file keywordsfile.txt e inviare l'output a Slack:
python3 gitGraber.py -k keywordsfile.txt -q YOURWORD -s
È possibile cercare un nome di dominio specifico, ad esempio, ma questo deve essere racchiuso tra doppi apici:
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s
Se desideri creare una wordlist personalizzata basata sui file trovati su GitHub per usarla poi con il tuo strumento di fuzzing preferito, aggiungi l'argomento -w:
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -w mysuperwordlist.txt
Se vuoi monitorare la tua query di ricerca ogni 30 minuti, puoi usare il flag -m che dice a gitGraber di creare un cron job basato sulla tua query:
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -m
L'esempio sopra cercherà segreti ogni 30 minuti sulla tua query di ricerca e ti invierà una notifica Slack ogni volta che ci sono corrispondenze.
gitGraber necessita di alcune dipendenze, per installarle nel tuo ambiente:
pip3 install -r requirements.txt
Prima di avviare gitGraber devi modificare il file di configurazione config.py:
GITHUB_TOKENS = ['yourToken1Here','yourToken2Here']DISCORD_WEBHOOKURL = 'https://discordapp.com/api/webhooks/7XXXX/XXXXXX'SLACK_WEBHOOKURL = 'https://hooks.slack.com/services/TXXXX/BXXXX/XXXXXXX'TELEGRAM_CONFIG = { "token": "XXXXX:xXXXXXXXXXXXXX", "chat_id": -99999999 }Per avviare gitGraber: python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s
Attualmente, gitGraber supporta 31 token diversi. Tutti questi modelli di rilevamento (regex) sono memorizzati nel file tokens.py:
Alcune wordlist e regex sono state create da noi e altre sono ispirate da altri repository/ricercatori:
Grazie per il tuo contributo e per il tuo aiuto nel migliorare gitGraber:
Questo progetto è realizzato solo per scopi educativi e di test etici. L'utilizzo di questo strumento per attaccare obiettivi senza previo consenso reciproco è illegale. Gli sviluppatori declinano ogni responsabilità e non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento.
| Servizio | Link |
|---|
| GitHub | Come creare un token API GitHub |
| Discord | Come creare un URL Webhook Discord |
| Slack | Come creare un URL Webhook Slack |
| Telegram | Come creare un bot Telegram |