
Trouver des secrets divulgués via la recherche GitHub
GitHub Search est une fonctionnalité assez puissante et utile qui peut être utilisée pour rechercher des données sensibles dans les dépôts. La collecte de dorks GitHub peut révéler des informations personnelles et/ou organisationnelles sensibles telles que des clés privées, des identifiants, des jetons d'authentification, etc. Cette liste est censée être utile pour évaluer la sécurité et effectuer des tests d'intrusion des systèmes.
github-dork.py est un outil Python simple qui peut rechercher dans votre dépôt ou dans les dépôts de votre organisation/utilisateur. Ce n'est pas un outil parfait pour le moment, mais il fournit des fonctionnalités de base pour automatiser la recherche sur vos dépôts par rapport aux dorks spécifiés dans le fichier texte.
Cet outil utilise github3.py pour interagir avec l'API de recherche GitHub.
Clonez ce dépôt et exécutez :
pip install .
Vous pouvez également exécuter github-dorks en utilisant Docker pour un environnement cohérent :
# Build the Docker image
docker build -t github-dorks .
# Run with a GitHub token (recommended)
docker run -e GH_TOKEN=your_github_token github-dorks -u someuser
# Run with username/password
docker run -e GH_USER=your_username -e GH_PWD=your_password github-dorks -u someuser
# Save results to a CSV file
docker run -v $(pwd)/output:/app/output -e GH_TOKEN=your_github_token github-dorks -u someuser -o /app/output/results.csv
GH_USER - Environment variable to specify Github user
GH_PWD - Environment variable to specify a password
GH_TOKEN - Environment variable to specify Github token
GH_URL - Environment variable to specify GitHub Enterprise base URL
Voici quelques exemples d'utilisation :
github-dork.py -r techgaun/github-dorks # search a single repo
github-dork.py -u techgaun # search all repos of a user
github-dork.py -u dev-nepal # search all repos of an organization
GH_USER=techgaun GH_PWD=<mypass> github-dork.py -u dev-nepal # search as authenticated user
GH_TOKEN=<github_token> github-dork.py -u dev-nepal # search using auth token
GH_URL=https://github.example.com github-dork.py -u dev-nepal # search a GitHub Enterprise instance
Veuillez envisager de contribuer des dorks qui peuvent révéler des informations potentiellement sensibles sur GitHub.
Je ne catégorise pas pour l'instant. Je vais plutôt simplement lister les dorks avec une description. De nombreux dorks peuvent être modifiés pour rendre la recherche plus spécifique ou générique. Vous pouvez voir plus d'options ici.
| Dork | Description |
|---|
| filename:.npmrc _auth | Données d'authentification du registre npm |
| filename:.dockercfg auth | Données d'authentification du registre Docker |
| extension:pem private | Clés privées |
| extension:ppk private | Clés privées puttygen |
| filename:id_rsa or filename:id_dsa | Clés SSH privées |
| extension:sql mysql dump | Dump MySQL |
| extension:sql mysql dump password | Dump MySQL - chercher le mot de passe ; vous pouvez essayer des variantes |
| filename:credentials aws_access_key_id | Peut retourner des faux négatifs avec des valeurs factices |
| filename:.s3cfg | Peut retourner des faux négatifs avec des valeurs factices |
| filename:wp-config.php | Fichiers de configuration WordPress |
| filename:.htpasswd | Fichiers htpasswd |
| filename:.env DB_USERNAME NOT homestead | Laravel .env (CI, divers frameworks Ruby aussi) |
| filename:.env MAIL_HOST=smtp.gmail.com | Configuration SMTP Gmail (essayez différents services SMTP aussi) |
| filename:.git-credentials | Stockage des identifiants Git, ajoutez NOT username pour des résultats plus valides |
| PT_TOKEN language:bash | Jetons PivotalTracker |
| filename:.bashrc password | Recherche de mots de passe, etc. dans .bashrc (essayez avec .bash_profile aussi) |
| filename:.bashrc mailchimp | Variation du précédent (essayez plus de variations) |
| filename:.bash_profile aws | Clés d'accès et secrètes AWS |
| rds.amazonaws.com password | Identifiants possibles Amazon RDS |
| extension:json api.forecast.io | Essayez des variations, trouvez des clés/secrets API |
| extension:json mongolab.com | Identifiants MongoDB dans les configurations JSON |
| extension:yaml mongolab.com | Identifiants MongoDB dans les configurations YAML (essayez avec yml) |
| jsforce extension:js conn.login | Identifiants Salesforce possibles dans les projets Node.js |
| SF_USERNAME salesforce | Identifiants Salesforce possibles |
| filename:.tugboat NOT _tugboat | Configuration Digital Ocean Tugboat |
| HEROKU_API_KEY language:shell | Clés API Heroku |
| HEROKU_API_KEY language:json | Clés API Heroku dans les fichiers JSON |
| filename:.netrc password | Netrc qui contient potentiellement des identifiants sensibles |
| filename:_netrc password | Netrc qui contient potentiellement des identifiants sensibles |
| filename:hub oauth_token | Configuration hub qui stocke les jetons GitHub |
| filename:robomongo.json | Fichier d'identifiants MongoDB utilisé par Robomongo |
| filename:filezilla.xml Pass | Fichier de configuration FileZilla avec possible utilisateur/mot de passe FTP |
| filename:recentservers.xml Pass | Fichier de configuration FileZilla avec possible utilisateur/mot de passe FTP |
| filename:config.json auths | Données d'authentification du registre Docker |
| filename:idea14.key | Clé IntelliJ Idea 14, essayez des variations pour d'autres versions |
| filename:config irc_pass | Configuration IRC possible |
| filename:connections.xml | Configuration possible de connexions de base de données, essayez des variations pour être spécifique |
| filename:express.conf path:.openshift | Configuration OpenShift, seulement email et serveur cependant |
| filename:.pgpass | Fichier PostgreSQL pouvant contenir des mots de passe |
| filename:proftpdpasswd | Noms d'utilisateur et mots de passe de proftpd créés par cPanel |
| filename:ventrilo_srv.ini | Configuration Ventrilo |
| [WFClient] Password= extension:ica | Informations WinFrame-Client nécessaires aux utilisateurs pour se connecter aux serveurs d'applications Citrix |
| filename:server.cfg rcon password | Mots de passe RCON Counter Strike |
| JEKYLL_GITHUB_TOKEN | Jetons GitHub utilisés pour Jekyll |
| filename:.bash_history | Fichier d'historique Bash |
| filename:.cshrc | Fichier RC pour le shell csh |
| filename:.history | Fichier d'historique (souvent utilisé par de nombreux outils) |
| filename:.sh_history | Historique Korn Shell |
| filename:sshd_config | Configuration du serveur OpenSSH |
| filename:dhcpd.conf | Configuration du service DHCP |
| filename:prod.exs NOT prod.secret.exs | Fichier de configuration prod Phoenix |
| filename:prod.secret.exs | Secret de production Phoenix |
| filename:configuration.php JConfig password | Fichier de configuration Joomla |
| filename:config.php dbpasswd | Mot de passe de base de données d'application PHP (ex. logiciel de forum phpBB) |
| path:sites databases password | Identifiants de base de données de site Drupal |
| shodan_api_key language:python | Clés API Shodan (essayez d'autres langues aussi) |
| filename:shadow path:etc | Contient des mots de passe chiffrés et des informations de compte des systèmes Unix récents |
| filename:passwd path:etc | Contient des informations de compte utilisateur, y compris les mots de passe chiffrés des systèmes Unix traditionnels |
| extension:avastlic "support.avast.com" | Contient des clés de licence pour Avast! Antivirus |
| filename:dbeaver-data-sources.xml | Configuration DBeaver contenant des identifiants MySQL |
| filename:.esmtprc password | Configuration esmtp |
| extension:json googleusercontent client_secret | Identifiants OAuth pour accéder aux API Google |
| HOMEBREW_GITHUB_API_TOKEN language:shell | Jeton GitHub généralement défini par les utilisateurs de Homebrew |
| xoxp OR xoxb | Jetons Slack bot et privés |
| .mlab.com password | Identifiants MongoDB hébergés MLAB |
| filename:logins.json | Collection de mots de passe enregistrés Firefox (key3.db généralement dans le même dépôt) |
| filename:CCCam.cfg | Fichier de configuration du serveur CCCam |
| msg nickserv identify filename:config | Mots de passe de connexion IRC possibles |
| filename:settings.py SECRET_KEY | Clés secrètes Django (permet généralement le détournement de session, RCE, etc.) |
| filename:secrets.yml password | Noms d'utilisateur/mots de passe, applications Rails |
| filename:master.key path:config | Clé maître Rails (utilisée pour déchiffrer credentials.yml.enc pour Rails 5.2+) |
| filename:deployment-config.json | Créé par sftp-deployment pour Atom, contient des détails et identifiants de serveur |
| filename:.ftpconfig | Créé par remote-ssh pour Atom, contient des détails et identifiants de serveur SFTP/SSH |
| filename:.remote-sync.json | Créé par remote-sync pour Atom, contient des détails et identifiants de serveur FTP et/ou SCP/SFTP/SSH |
| filename:sftp.json path:.vscode | Créé par vscode-sftp pour VSCode, contient des détails et identifiants de serveur SFTP/SSH |
| filename:sftp-config.json | Créé par SFTP pour Sublime Text, contient des détails et identifiants de serveur FTP/FTPS ou SFTP/SSH |
| filename:WebServers.xml | Créé par les IDE JetBrains, contient des identifiants de serveur web avec des mots de passe encodés (pas cryptés !) |
| "api_hash" "api_id" | Jeton API Telegram |
| "https://hooks.slack.com/services/" | Les URL des services Slack ont souvent un jeton API secret en suffixe |
| filename:github-recovery-codes.txt | Clé de récupération GitHub |
| filename:gitlab-recovery-codes.txt | Clé de récupération GitLab |
| filename:discord_backup_codes.txt | Clé de récupération Discord |
| extension:yaml cloud.redislabs.com | Identifiants Redis fournis par Redis Labs trouvés dans un fichier YAML |
| extension:json cloud.redislabs.com | Identifiants Redis fournis par Redis Labs trouvés dans un fichier JSON |