
GitHub検索で漏洩したシークレットを発見
GitHub Search は非常に強力で便利な機能であり、リポジトリ上の機密データを検索するために使用できます。GitHub dork のコレクションは、秘密鍵、資格情報、認証トークンなどの機密性の高い個人情報や組織情報を明らかにする可能性があります。このリストは、セキュリティ評価やシステムのペネトレーションテストに役立つことを目的としています。
github-dork.py は、リポジトリや組織/ユーザーのリポジトリを検索できるシンプルな Python ツールです。現時点では完成度は高くありませんが、テキストファイルで指定された dork に対してリポジトリの検索を自動化する基本的な機能を提供します。
このツールは github3.py を使用して GitHub Search API と通信します。
このリポジトリをクローンして実行してください:
pip install .
一貫した環境を得るために、Docker を使用して github-dorks を実行することもできます:
# Docker イメージをビルド
docker build -t github-dorks .
# GitHub トークンを使用して実行(推奨)
docker run -e GH_TOKEN=your_github_token github-dorks -u someuser
# ユーザー名/パスワードを使用して実行
docker run -e GH_USER=your_username -e GH_PWD=your_password github-dorks -u someuser
# 結果を CSV ファイルに保存
docker run -v $(pwd)/output:/app/output -e GH_TOKEN=your_github_token github-dorks -u someuser -o /app/output/results.csv
GH_USER - GitHub ユーザーを指定する環境変数
GH_PWD - パスワードを指定する環境変数
GH_TOKEN - GitHub トークンを指定する環境変数
GH_URL - GitHub Enterprise ベース URL を指定する環境変数
以下にいくつかの使用例を示します:
github-dork.py -r techgaun/github-dorks # 単一のリポジトリを検索
github-dork.py -u techgaun # ユーザーのすべてのリポジトリを検索
github-dork.py -u dev-nepal # 組織のすべてのリポジトリを検索
GH_USER=techgaun GH_PWD=<mypass> github-dork.py -u dev-nepal # 認証済みユーザーとして検索
GH_TOKEN=<github_token> github-dork.py -u dev-nepal # 認証トークンを使用して検索
GH_URL=https://github.example.com github-dork.py -u dev-nepal # GitHub Enterprise インスタンスを検索
GitHub 上で機密情報を漏洩する可能性のある dork の提供をご検討ください。
現時点ではカテゴリ分けは行っていません。代わりに、説明付きの dork リストを単純に掲載します。多くの dork は検索をより特化または汎用的にするために修正できます。詳細なオプションはこちらを参照してください。
| Dork | 説明 |
|---|
| filename:.npmrc _auth | npm レジストリの認証データ |
| filename:.dockercfg auth | Docker レジストリの認証データ |
| extension:pem private | 秘密鍵 |
| extension:ppk private | puttygen 秘密鍵 |
| filename:id_rsa or filename:id_dsa | SSH 秘密鍵 |
| extension:sql mysql dump | MySQL ダンプ |
| extension:sql mysql dump password | MySQL ダンプのパスワード検索; バリエーションを試すことができます |
| filename:credentials aws_access_key_id | ダミー値で偽陰性を返す可能性あり |
| filename:.s3cfg | ダミー値で偽陰性を返す可能性あり |
| filename:wp-config.php | WordPress 設定ファイル |
| filename:.htpasswd | htpasswd ファイル |
| filename:.env DB_USERNAME NOT homestead | Laravel の .env(CI、様々な Ruby ベースのフレームワークも同様) |
| filename:.env MAIL_HOST=smtp.gmail.com | Gmail SMTP 設定(他の SMTP サービスも試してみてください) |
| filename:.git-credentials | Git 資格情報ストア、より有効な結果を得るために NOT username を追加 |
| PT_TOKEN language:bash | Pivotal Tracker トークン |
| filename:.bashrc password | .bashrc 内のパスワードなどを検索 (.bash_profile でも試してください) |
| filename:.bashrc mailchimp | 上記のバリエーション(さらにバリエーションを試す) |
| filename:.bash_profile aws | AWS アクセスキーとシークレットキー |
| rds.amazonaws.com password | Amazon RDS の可能性のある資格情報 |
| extension:json api.forecast.io | バリエーションを試し、API キー/シークレットを見つける |
| extension:json mongolab.com | JSON 設定内の Mongolab 資格情報 |
| extension:yaml mongolab.com | YAML 設定内の Mongolab 資格情報(yml でも試す) |
| jsforce extension:js conn.login | Node.js プロジェクト内の Salesforce 資格情報の可能性 |
| SF_USERNAME salesforce | Salesforce 資格情報の可能性 |
| filename:.tugboat NOT _tugboat | Digital Ocean tugboat 設定 |
| HEROKU_API_KEY language:shell | Heroku API キー |
| HEROKU_API_KEY language:json | JSON ファイル内の Heroku API キー |
| filename:.netrc password | 機密性の高い資格情報を保持する可能性のある netrc |
| filename:_netrc password | 機密性の高い資格情報を保持する可能性のある netrc |
| filename:hub oauth_token | GitHub トークンを保存する hub 設定 |
| filename:robomongo.json | Robomongo が使用する MongoDB 資格情報ファイル |
| filename:filezilla.xml Pass | FTP へのユーザー名/パスワードを含む可能性のある FileZilla 設定ファイル |
| filename:recentservers.xml Pass | FTP へのユーザー名/パスワードを含む可能性のある FileZilla 設定ファイル |
| filename:config.json auths | Docker レジストリの認証データ |
| filename:idea14.key | IntelliJ Idea 14 キー、他のバージョン用にバリエーションを試す |
| filename:config irc_pass | 可能性のある IRC 設定 |
| filename:connections.xml | 可能性のあるデータベース接続設定、特定するためにバリエーションを試す |
| filename:express.conf path:.openshift | OpenShift 設定(ただしメールとサーバーのみ) |
| filename:.pgpass | パスワードを含む可能性のある PostgreSQL ファイル |
| filename:proftpdpasswd | cpanel によって作成された proftpd のユーザー名とパスワード |
| filename:ventrilo_srv.ini | Ventrilo 設定 |
| [WFClient] Password= extension:ica | Citrix Application Server に接続するためにユーザーが必要とする WinFrame-Client 情報 |
| filename:server.cfg rcon password | Counter Strike RCON パスワード |
| JEKYLL_GITHUB_TOKEN | Jekyll で使用される GitHub トークン |
| filename:.bash_history | Bash 履歴ファイル |
| filename:.cshrc | csh シェルの RC ファイル |
| filename:.history | 履歴ファイル(多くのツールでよく使用される) |
| filename:.sh_history | Korn シェル履歴 |
| filename:sshd_config | OpenSSH サーバー設定 |
| filename:dhcpd.conf | DHCP サービス設定 |
| filename:prod.exs NOT prod.secret.exs | Phoenix 本番設定ファイル |
| filename:prod.secret.exs | Phoenix 本番シークレット |
| filename:configuration.php JConfig password | Joomla 設定ファイル |
| filename:config.php dbpasswd | PHP アプリケーションデータベースパスワード(例: phpBB フォーラムソフトウェア) |
| path:sites databases password | Drupal ウェブサイトデータベース資格情報 |
| shodan_api_key language:python | Shodan API キー(他の言語も試す) |
| filename:shadow path:etc | 新しい Unix システムの暗号化されたパスワードとアカウント情報を含む |
| filename:passwd path:etc | 従来の Unix システムの暗号化されたパスワードを含むユーザーアカウント情報を含む |
| extension:avastlic "support.avast.com" | Avast! Antivirus のライセンスキーを含む |
| filename:dbeaver-data-sources.xml | MySQL 資格情報を含む DBeaver 設定 |
| filename:.esmtprc password | esmtp 設定 |
| extension:json googleusercontent client_secret | Google API にアクセスするための OAuth 資格情報 |
| HOMEBREW_GITHUB_API_TOKEN language:shell | Homebrew ユーザーがよく設定する GitHub トークン |
| xoxp OR xoxb | Slack ボットとプライベートトークン |
| .mlab.com password | MLAB ホスト型 MongoDB 資格情報 |
| filename:logins.json | Firefox 保存パスワードコレクション(key3.db が同じリポジトリにあることが多い) |
| filename:CCCam.cfg | CCCam サーバー設定ファイル |
| msg nickserv identify filename:config | 可能性のある IRC ログインパスワード |
| filename:settings.py SECRET_KEY | Django シークレットキー(通常、セッションハイジャック、RCE などが可能) |
| filename:secrets.yml password | ユーザー名/パスワード、Rails アプリケーション |
| filename:master.key path:config | Rails マスターキー(Rails 5.2+ の credentials.yml.enc の復号化に使用) |
| filename:deployment-config.json | Atom 用の sftp-deployment によって作成され、サーバー詳細と資格情報を含む |
| filename:.ftpconfig | Atom 用の remote-ssh によって作成され、SFTP/SSH サーバー詳細と資格情報を含む |
| filename:.remote-sync.json | Atom 用の remote-sync によって作成され、FTP および/または SCP/SFTP/SSH サーバー詳細と資格情報を含む |
| filename:sftp.json path:.vscode | VSCode 用の vscode-sftp によって作成され、SFTP/SSH サーバー詳細と資格情報を含む |
| filename:sftp-config.json | Sublime Text 用の SFTP によって作成され、FTP/FTPS または SFTP/SSH サーバー詳細と資格情報を含む |
| filename:WebServers.xml | Jetbrains IDE によって作成され、エンコードされたパスワードを持つウェブサーバー資格情報を含む(暗号化されていません!) |
| "api_hash" "api_id" | Telegram API トークン |
| "https://hooks.slack.com/services/" | Slack サービスの URL には、多くの場合、秘密の API トークンが接尾辞として含まれている |
| filename:github-recovery-codes.txt | GitHub 復旧キー |
| filename:gitlab-recovery-codes.txt | GitLab 復旧キー |
| filename:discord_backup_codes.txt | Discord 復旧キー |
| extension:yaml cloud.redislabs.com | YAML ファイル内の Redis Labs が提供する Redis 資格情報 |
| extension:json cloud.redislabs.com | JSON ファイル内の Redis Labs が提供する Redis 資格情報 |