Skip to main content

A better GitHub Dorking Utility

Project description

GH Dorker

GH Dorker is picking up where several GitHub dorking tools leave off. Many of these dorkers grow stale and old becuase the code is very tangled and intertwined. GH-Dorker is building on the work of several other dorkers and creating a more modular approach.

Usage

  1. Install with pip pip install ghdorker
  2. (Optional) you can either export an environment variable named "GH_TOKEN" or include it in a local .env file to ensure you can make the most requests. See "Creating a personal access token" for more information on how to do so.
usage: ghdorker [-h] [-v] [-s {repo,user,org}] [-d DORKS] [--debug] [-o OUTPUT_FILENAME] [--options INPUT_OPTION [INPUT_OPTION ...]] search

Search github for github dorks

positional arguments:
  search                What you would like to search (eg. repo, username, or organization)

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -s {repo,user,org}, --scope {repo,user,org}
                        The type of GitHub object you would like to search
  -d DORKS, --dorks DORKS
                        Github dorks file. Eg: github-dorks.txt
  --debug               Set this if you would like to see verbose logging.
  -o OUTPUT_FILENAME, --outputFile OUTPUT_FILENAME
                        File to write results to. This overwrites the file provided! Accepts .json or .csv as output file types.
  --options INPUT_OPTION [INPUT_OPTION ...]
                        YAML Options to target for dorking for example: all.cloud.aws

Use responsibly, Enjoy pentesting

Here is a simple example:

# The source is a repo and it is running against the gh_dorks_test.txt file
ghdorker -s repo -d samples/dorks.txt dtaivpp/NewsTicker

Additionally you can create a yaml config file like so for using only specific dorks on repos.

all:
  identity:
    - filename:.dockercfg auth
    - filename:id_rsa or filename:id_dsa
    - filename:.npmrc _auth
    - datafilename:.dockercfg auth
    - dataextension:pem private
    - extension:ppk private
  cloud:
    aws:
      - rds.amazonaws.com password
      - filename:.bash_profile aws
    google:
      - extension:json googleusercontent client_secret

This would run all the dorks that fall under the cloud section of the YAML.

ghdorker -s repo dtaivpp/NewsTicker -d samples/dorks.yaml --options all.cloud

This would run all the dorks that fall under the aws and the identity sections. It's okay to duplicate entries under different sections as on the backend it is checking each entry for uniqueness.

ghdorker -s repo dtaivpp/NewsTicker -d samples/dorks.yaml --options all.cloud.aws all.identiy

And finally here is an example of how you could output the results to either a json or csv file.

ghdorker -s repo dtaivpp/NewsTicker -d samples/dorks.yaml --options all.cloud -o output.json

As an aside, rate limiting is already built into the codebase. It will not allow you to make more requests than allowable. GH-Dorker grabs your real rate limits live from GitHub so it will make the maximim amount of requests permittable in a given timeframe.

Contributing

For how to contribute please see CONTRIBUTING.md.

Credits

Reference points for creating GitDorker and compiling dorks lists

  • @techgaun - This was the primary repo I was looking to for inspiration when writing this dorker
  • @obheda12 - You have one of the cleanest README's ive read in a while and if you couldn't tell has inspired much of this project's structure

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghdorker-0.3.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

ghdorker-0.3.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file ghdorker-0.3.0.tar.gz.

File metadata

  • Download URL: ghdorker-0.3.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for ghdorker-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b7e6fa6adc119637fff9b2cf53e97648af3359cacdc4d0bf536fdd48cb8ef2bf
MD5 7fad66090e86c374fe40e69394168287
BLAKE2b-256 74d0924bfc94ebd34915002f994008d9753e8fd0ddad0bde5f4668ca21676e05

See more details on using hashes here.

File details

Details for the file ghdorker-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ghdorker-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for ghdorker-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a460969966e01b3b0989e4b8c44c8e3ea43d5d89636c9320a89990ed8bf7c911
MD5 0a59fa1f142d5fa948f061ab8719db8f
BLAKE2b-256 aa59db4659229e53599d37a55d55f712cc07df90776a33d0b4794436594807e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page