
gitGraber: überwacht GitHub, um in Echtzeit nach sensiblen Daten für verschiedene Online-Dienste wie Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe zu suchen und zu finden...

gitGraber ist ein in Python3 entwickeltes Tool, um GitHub zu überwachen und in Echtzeit sensible Daten für verschiedene Online-Dienste wie Google, Amazon (AWS), Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe, Twilio … zu suchen und zu finden.

Es ist wichtig zu verstehen, dass gitGraber nicht dazu entwickelt wurde, die Historie von Repositories zu überprüfen – viele Tools können das bereits hervorragend. gitGraber wurde ursprünglich entwickelt, um die zuletzt indizierten Dateien auf GitHub zu überwachen und zu parsen. Wenn gitGraber etwas Interessantes findet, erhalten Sie eine Benachrichtigung auf Ihrem Slack-Kanal. Sie können es auch verwenden, um Ergebnisse direkt in der Befehlszeile zu erhalten.
Nach unserer Erfahrung sind wir überzeugt, dass Lecks nicht nur von den Organisationen selbst ausgehen, sondern auch von Dienstleistern und Mitarbeitern, die nicht unbedingt ein „Profil“ haben, das darauf hindeutet, dass sie für eine bestimmte Organisation arbeiten.
Regexe sollen so genau wie möglich sein. Manchmal gibt es möglicherweise falsch-positive Ergebnisse. Fühlen Sie sich frei, mitzuwirken, um die Erkennung zu verbessern und neue Regexe für die Mustererkennung hinzuzufügen.
Wir bevorzugen es, falsch-positive Ergebnisse zu reduzieren, anstatt für jeden „Standard“-API-Schlüssel, der von gitGraber gefunden wird, aber für Ihre Überwachung irrelevant ist, eine Benachrichtigung zu senden.
gitGraber zeigt einige Dinge direkt in der CLI an: GitHub-Anfrage, Statuscode-Missbrauchserkennung (200 oder 403) … und wenn Sie nichts wie z.B. [+] POSSIBLE FOO TOKEN FOUND sehen, dann hat gitGraber einfach keine geheimen Token für Ihr definiertes Schlüsselwort gefunden.
Diese Meldung erscheint, wenn GitHub eine große Anzahl von Anfragen von Ihrem eigenen GitHub-Token erkennt. Keine Sorge, gitGraber kann damit umgehen und versucht, ein anderes Token aus der config.py-Datei zu verwenden. Hinweis: Dies ist eine vorübergehende Begrenzung und Sie müssen kein weiteres Token erstellen.
Nein, um dies zu vermeiden, speichert gitGraber alle Repository-URLs in einer Datei namens rawGitUrls.txt. Wenn ein Repository bereits von gitGraber gescannt wurde und ein API-Schlüssel gefunden wurde, erhalten Sie keine Benachrichtigung.
Sie müssen die Datei tokens.py bearbeiten und das Muster als Listenargument beim Initialisieren des Tokens hinzufügen. Um beispielsweise das Muster XXXX zum MAILCHIMP-Token hinzuzufügen, wird die Zeile tokensList.append(Token('MAILCHIMP', '\W(?:[a-f0-9]{32}(-us[0-9]{1,2}))\W')) zu 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 Show this help message and exit
-k KEYWORDSFILE, --keyword KEYWORDSFILE Specify a keywords file (-k keywordsfile.txt)
-q QUERY, --query QUERY Specify your github query (-q "apikey")
-m, --monitor Enable monitoring of your search query by creating cron job [Every 30 mins]
-d, --discord Enable discord notifications
-s, --slack Enable slack notifications
-tg, --telegram Enable telegram notifications
-w WORDLIST, --wordlist WORDLIST Create a wordlist that fills dynamically with discovered filenames on GitHub
-l LIMIT_DAYS, --limit LIMIT_DAYS Limit the results to commits less than N days old
Um beispielsweise ein bestimmtes Wort in Kombination mit jedem Wort der Datei keywordsfile.txt auf GitHub zu durchsuchen und an Slack auszugeben :
python3 gitGraber.py -k keywordsfile.txt -q YOURWORD -s
Es ist möglich, beispielsweise einen bestimmten Domainnamen zu suchen, dieser muss jedoch in doppelte Anführungszeichen eingeschlossen werden :
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s
Wenn Sie eine benutzerdefinierte Wortliste basierend auf den auf GitHub gefundenen Dateien erstellen möchten, um sie dann mit Ihrem bevorzugten Fuzzing-Tool zu verwenden, fügen Sie das Argument -w hinzu :
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -w mysuperwordlist.txt
Wenn Sie Ihre Suchabfrage alle 30 Minuten überwachen möchten, können Sie das Flag -m verwenden, das gitGraber anweist, einen Cron-Job basierend auf Ihrer Abfrage zu erstellen :
python3 gitGraber.py -k keywordsfile.txt -q \"yahoo.com\" -s -m
Der obige Befehl sucht alle 30 Minuten nach Geheimnissen in Ihrer Suchabfrage und sendet Ihnen eine Slack-Benachrichtigung, sobald es Treffer gibt.
gitGraber benötigt einige Abhängigkeiten. Installieren Sie sie in Ihrer Umgebung:
pip3 install -r requirements.txt
Bevor Sie gitGraber starten, müssen Sie die Konfigurationsdatei config.py anpassen :
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 }So starten Sie gitGraber : python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s
Derzeit unterstützt gitGraber 31 verschiedene Token. Alle diese Erkennungsmodelle (Regex) sind in der Datei tokens.py gespeichert :
Einige Wortlisten und Regexe wurden von uns erstellt, andere sind von anderen Repos/Forschern inspiriert :
Danke für Ihren Beitrag und Ihre Hilfe zur Verbesserung von gitGraber:
Dieses Projekt dient ausschließlich zu Bildungs- und ethischen Testzwecken. Die Verwendung dieses Tools zum Angreifen von Zielen ohne vorherige beidseitige Zustimmung ist illegal. Die Entwickler übernehmen keine Haftung und sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
| Dienst | Link |
|---|
| GitHub | So erstellen Sie ein GitHub API-Token |
| Discord | So erstellen Sie eine Discord-Webhook-URL |
| Slack | So erstellen Sie eine Slack-Webhook-URL |
| Telegram | So erstellen Sie einen Telegram-Bot |