All Projects → BishopFox → Gitgot

BishopFox / Gitgot

Licence: lgpl-3.0
Semi-automated, feedback-driven tool to rapidly search through troves of public data on GitHub for sensitive secrets.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gitgot

Sn0int
Semi-automatic OSINT framework and package manager
Stars: ✭ 814 (-15.56%)
Mutual labels:  osint, reconnaissance, recon, security-scanner
Git Hound
Reconnaissance tool for GitHub code search. Finds exposed API keys using pattern matching, commit history searching, and a unique result scoring system.
Stars: ✭ 602 (-37.55%)
Mutual labels:  osint, security-tools, reconnaissance, recon
Intrec Pack
Intelligence and Reconnaissance Package/Bundle installer.
Stars: ✭ 177 (-81.64%)
Mutual labels:  osint, security-tools, reconnaissance, recon
Hosthunter
HostHunter a recon tool for discovering hostnames using OSINT techniques.
Stars: ✭ 427 (-55.71%)
Mutual labels:  osint, security-tools, reconnaissance, recon
Rengine
reNgine is an automated reconnaissance framework for web applications with a focus on highly configurable streamlined recon process via Engines, recon data correlation and organization, continuous monitoring, backed by a database, and simple yet intuitive User Interface. reNgine makes it easy for penetration testers to gather reconnaissance with…
Stars: ✭ 3,439 (+256.74%)
Mutual labels:  osint, security-tools, reconnaissance, recon
querytool
Querytool is an OSINT framework based on Google Spreadsheets. With this tool you can perform complex search of terms, people, email addresses, files and many more.
Stars: ✭ 104 (-89.21%)
Mutual labels:  osint, recon, reconnaissance
Recon My Way
This repository created for personal use and added tools from my latest blog post.
Stars: ✭ 271 (-71.89%)
Mutual labels:  security-tools, reconnaissance, recon
Spiderfoot
SpiderFoot automates OSINT for threat intelligence and mapping your attack surface.
Stars: ✭ 6,882 (+613.9%)
Mutual labels:  osint, reconnaissance, security-tools
Osmedeus
Fully automated offensive security framework for reconnaissance and vulnerability scanning
Stars: ✭ 3,391 (+251.76%)
Mutual labels:  osint, security-tools, reconnaissance
Aiodnsbrute
Python 3.5+ DNS asynchronous brute force utility
Stars: ✭ 370 (-61.62%)
Mutual labels:  osint, security-tools, recon
Favfreak
Making Favicon.ico based Recon Great again !
Stars: ✭ 564 (-41.49%)
Mutual labels:  osint, reconnaissance, recon
Witnessme
Web Inventory tool, takes screenshots of webpages using Pyppeteer (headless Chrome/Chromium) and provides some extra bells & whistles to make life easier.
Stars: ✭ 436 (-54.77%)
Mutual labels:  osint, security-tools, reconnaissance
Odin
Automated network asset, email, and social media profile discovery and cataloguing.
Stars: ✭ 476 (-50.62%)
Mutual labels:  osint, reconnaissance, recon
Reconky-Automated Bash Script
Reconky is an great Content Discovery bash script for bug bounty hunters which automate lot of task and organized in the well mannered form which help them to look forward.
Stars: ✭ 167 (-82.68%)
Mutual labels:  osint, recon, reconnaissance
Recon Pipeline
An automated target reconnaissance pipeline.
Stars: ✭ 278 (-71.16%)
Mutual labels:  security-tools, reconnaissance, recon
mailcat
Find existing email addresses by nickname using API/SMTP checking methods without user notification. Please, don't hesitate to improve cat's job! 🐱🔎 📬
Stars: ✭ 219 (-77.28%)
Mutual labels:  osint, recon, reconnaissance
XposedOrNot
XposedOrNot (XoN) tool is to search an aggregated repository of xposed passwords comprising of ~850 million real time passwords. Usage of such compromised passwords is detrimental to individual account security.
Stars: ✭ 120 (-87.55%)
Mutual labels:  osint, recon, reconnaissance
Rapidscan
🆕 The Multi-Tool Web Vulnerability Scanner.
Stars: ✭ 775 (-19.61%)
Mutual labels:  security-tools, reconnaissance, security-scanner
Ntlmrecon
Enumerate information from NTLM authentication enabled web endpoints 🔎
Stars: ✭ 252 (-73.86%)
Mutual labels:  osint, reconnaissance, recon
flydns
Related subdomains finder
Stars: ✭ 29 (-96.99%)
Mutual labels:  osint, recon, reconnaissance

License Python version

Description

GitGot is a semi-automated, feedback-driven tool to empower users to rapidly search through troves of public data on GitHub for sensitive secrets.

How it Works

During search sessions, users will provide feedback to GitGot about search results to ignore, and GitGot prunes the set of results. Users can blacklist files by filename, repository name, username, or a fuzzy match of the file contents.

Blacklists generated from previous sessions can be saved and reused against similar queries (e.g., example.com v.s. subdomain.example.com v.s. Example Org). Sessions can also be paused and resumed at any time.

Read more about the semi-automated, human-in-the-loop design here: https://know.bishopfox.com/blog/going-semi-automated-in-an-automated-world-using-human-in-the-loop-workflows-to-improve-our-security-tools

Install Instructions

Manual Instructions

[1] Install the ssdeep dependency for fuzzy hashing.

Ubuntu/Debian (or equivalent for your distro):

apt-get install python3-dev libfuzzy-dev ssdeep

or, for Mac OSX:

brew install ssdeep

For Windows or *nix distributions without the ssdeep package, please see the ssdeep installation instructions.

[2] After installing ssdeep, install the Python dependencies using pip:

pip3 install -r requirements.txt

Docker Instructions

Run gitgot-docker.sh to build the GitGot docker image (if it doesn't already exist) and execute the dockerized version of the GitGot tool.

On invocation, gitgot-docker.sh will create and mount logs and states directories from the host's current working directory. If this gitgot-docker.sh is executed from the GitGot project directory it will update the docker container with changes to gitgot.py or checks/:

./gitgot-docker.sh -q example.com

(See gitgot-docker.sh for specific docker commands)

Usage

GitHub requires a token for rate-limiting purposes. Create a GitHub API token with no permissions/no scope. This will be equivalent to public GitHub access, but it will allow access to use the GitHub Search API. Set this token at the top of gitgot.py as shown below:

ACCESS_TOKEN = "<NO-PERMISSION-GITHUB-TOKEN-HERE>"

(Alternatively, this token can be set as the GITHUB_ACCESS_TOKEN environment variable)

After adding the token, you are ready to go:

# Default RegEx list and logfile location (/logs/<query>.log) are used when no others are specified.

# Query for the string "example.com" using default GitHub search behavior (i.e., tokenization).
# This will find com.example (e.g., Java) or example.com (Website)
./gitgot.py -q example.com

# Query self-hosted GitHub instance
./gitgot.py -q example.com -u https://git.example.com

# Query for the exact string "example.com". See Query Syntax in the next section for more details.
./gitgot.py -q '"example.com"'

# Query through GitHub gists
./gitgot.py --gist -q CompanyName

# Using GitHub advanced search syntax
./gitgot.py -q "org:github cats"

# Custom RegEx List and custom log files location
./gitgot.py -q example.com -f checks/default.list -o example1.log

# Recovery from existing session
./gitgot.py -q example.com -r example.com.state

# Using an existing session (w/blacklists) for a new query
./gitgot.py -q "Example Org" -r example.com.state

Query Syntax

GitGot queries are fed directly into the GitHub code search API, so check out GitHub's documentation for more advanced query syntax.

UI Commands

  • Ignore similar [c]ontent: Blacklists a fuzzy hash of the file contents to ignore future results that are similar to the selected file
  • Ignore [r]epo/[u]ser/[f]ilename: Ignores future results by blacklisting selected strings
  • Search [/(mykeyword)]: Provides a custom regex expression with a capture group to searches on-the-fly (e.g., /(secretToken))
  • [a]dd to Log: Add RegEx matches to log file, including all on-the-fly search results from search command
  • Next[<Enter>], [b]ack: Advances through search results, or returns to previous results
  • [s]ave state: Saves the blacklists and progress in the search results from the session
  • [q]uit: Quit
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].