GitGraber is a tool developed in Python3 to monitor GitHub to search and find sensitive data in real time for different online services such as: Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe.
How it work ?
It’s important to understand that gitGraber is not designed to check history of repositories, many tools can already do that great. gitGraber was originally developed to monitor and parse last indexed files on GitHub. If gitGraber find something interesting, you will receive a notification on your Slack channel. You can also use it to have results directly on the command line.
In our experience, we are convinced that leaks do not come only from the organizations themselves, but also from service providers and employees, who do not necessarily have a “profile” indicating that they work for a particular organization.
Regex are supposed to be the more precise than possible. Sometimes, maybe you will have false-positive, feel free to contribute to improve recon and add new regex for pattern detection.
We prefer to reduce false positive instead to send notification for every “standard” API keys which could found by gitGraber but irrelevant for your monitoring.
How to use gitGraber ?
usage: gitGraber.py [-h] [-k KEYWORDSFILE] [-q QUERY] [-s] [-w WORDLIST]
-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 query (-q “apikey”)
-s, –slack Enable slack notifications
-w WORDLIST, –wordlist WORDLIST
Create a wordlist that fills dynamically with
discovered filenames on GitHub
gitGraber needs some dependencies, to install them on your environment:
pip3 install -r requirements.txt
Before to start gitGraber you need to modify the configuration file
- Add your own Github tokens :
GITHUB_TOKENS = ['yourToken1Here','yourToken2Here']
- Add your own Slack Webhook :
SLACK_WEBHOOKURL = 'https://hooks.slack.com/services/TXXXX/BXXXX/XXXXXXX'
To start and use gitGraber :
python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s
We recommend creating a cron that will execute the script regulary:
*/15 * * * * cd /BugBounty/gitGraber/ && /usr/bin/python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s >/dev/null 2>&1
Credit: Reptou & Hisxo