
dorksのリストを指定し、必要に応じて以下のいずれかを指定します:
-u)-uf)-org)-of)-r)さらに、以下も指定できます:
-o)-vif)すべての入力ファイル(dorks、ユーザー、組織)は改行区切りにする必要があります。
リポジトリをクローンし、次を実行します:
pip install -r requirements.txt
必須パラメータはdorksファイル (-d) のみです。techguan's github-dorks.txt を参考にしてください。
出力ディレクトリを指定すると、dorksリストの各dorkに対してファイルが作成され、結果がそこに保存されるとともに画面にも出力されます。空または存在しないディレクトリのみを使用してください。そうしないと、そのディレクトリがクリアされ、内容が置き換えられます。
ユーザーまたは組織ファイル内のユーザー・組織が、存在しないものや公開コードがないものを事前に除去していない場合は、--valid-items-filename (-vif) を指定することを強くお勧めします。これにより、最初のdorkを検索するときに無効なユーザー・組織をフィルタリングし、それ以降のdorkではそれらに対する検索を回避できます。出力ファイルは、後のスクリプト実行時の入力ユーザー/組織ファイルとしても使用できます。
使用例:
python gh-dork.py -d dorks.txt # 基本使用
python gh-dork.py -d dorks.txt -u molly # 特定のユーザーのリポジトリを検索
python gh-dork.py -d dorks.txt -uf users.txt # リスト内の全ユーザーのリポジトリを検索
python gh-dork.py -d dorks.txt -uf users.txt -vif valid_users.txt # リスト内の全ユーザーのリポジトリを検索(存在しないユーザーを除外)
python gh-dork.py -d dorks.txt -org github # 特定の組織のリポジトリを検索
python gh-dork.py -d dorks.txt -of orgs.txt # リスト内の全組織のリポジトリを検索
python gh-dork.py -d dorks.txt -of orgs.txt -vif valid_orgs.txt # リスト内の全組織のリポジトリを検索(存在しない組織を除外)
python gh-dork.py -d dorks.txt -r molly/gh-dork # 指定されたリポジトリを検索
python gh-dork.py -d dorks.txt -o results # results/ ディレクトリ内のファイルに結果を保存(既存のディレクトリ内容を上書き)
認証は環境変数を使用して行います。GitHubのプライベートアクセストークン (GH_TOKEN)、またはユーザー名とパスワード (GH_USER と GH_PASS) で認証できます。二要素認証が有効な場合は、二要素認証コードの入力が求められます。
また、GitHub EnterpriseのベースURL (GH_URL) を指定して、そのGitHubインスタンスに対して検索することもできます。省略した場合は、github.com に対して実行されます。
認証情報が提供されなかった場合、または認証情報が無効な場合でもスクリプトは実行されますが、認証されていないユーザー向けのはるかに低いレート制限の対象となります。
techgaun/github-dorks をベースに、大まかに基づいています。