
Trova segreti divulgati tramite ricerca su GitHub
Github Search è una funzionalità piuttosto potente e utile che può essere utilizzata per cercare dati sensibili nei repository. La raccolta di Github dorks può rivelare informazioni sensibili personali e/o organizzative come chiavi private, credenziali, token di autenticazione, ecc. Questa lista dovrebbe essere utile per valutare la sicurezza ed eseguire pen-testing dei sistemi.
github-dork.py è un semplice strumento Python che può cercare nel tuo repository o nei repository della tua organizzazione/utente. Al momento non è uno strumento perfetto, ma fornisce funzionalità di base per automatizzare la ricerca nei tuoi repository rispetto ai dork specificati nel file di testo.
Questo strumento utilizza github3.py per interfacciarsi con l'API di ricerca di GitHub.
Clona questo repository ed esegui:
pip install .
Puoi anche eseguire github-dorks usando Docker per un ambiente consistente:
# Costruisci l'immagine Docker
docker build -t github-dorks .
# Esegui con un token GitHub (consigliato)
docker run -e GH_TOKEN=your_github_token github-dorks -u someuser
# Esegui con nome utente/password
docker run -e GH_USER=your_username -e GH_PWD=your_password github-dorks -u someuser
# Salva i risultati in un file 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 - Variabile d'ambiente per specificare l'utente GitHub
GH_PWD - Variabile d'ambiente per specificare una password
GH_TOKEN - Variabile d'ambiente per specificare un token GitHub
GH_URL - Variabile d'ambiente per specificare l'URL base di GitHub Enterprise
Di seguito sono riportati alcuni esempi di utilizzo:
github-dork.py -r techgaun/github-dorks # cerca un singolo repo
github-dork.py -u techgaun # cerca tutti i repo di un utente
github-dork.py -u dev-nepal # cerca tutti i repo di un'organizzazione
GH_USER=techgaun GH_PWD=<mypass> github-dork.py -u dev-nepal # cerca come utente autenticato
GH_TOKEN=<github_token> github-dork.py -u dev-nepal # cerca usando un token di autenticazione
GH_URL=https://github.example.com github-dork.py -u dev-nepal # cerca un'istanza di GitHub Enterprise
Si prega di considerare il contributo di dork che possono rivelare informazioni potenzialmente sensibili su GitHub.
Al momento non sto categorizzando. Invece, elencherò semplicemente i dork con una descrizione. Molti dork possono essere modificati per rendere la ricerca più specifica o generica. Puoi vedere più opzioni qui.
| Dork | Descrizione |
|---|
| filename:.npmrc _auth | Dati di autenticazione del registro npm |
| filename:.dockercfg auth | Dati di autenticazione del registro Docker |
| extension:pem private | Chiavi private |
| extension:ppk private | Chiavi private PuttyGen |
| filename:id_rsa or filename:id_dsa | Chiavi SSH private |
| extension:sql mysql dump | Dump MySQL |
| extension:sql mysql dump password | Dump MySQL cercare password; puoi provare varianti |
| filename:credentials aws_access_key_id | Potrebbe restituire falsi negativi con valori fittizi |
| filename:.s3cfg | Potrebbe restituire falsi negativi con valori fittizi |
| filename:wp-config.php | File di configurazione WordPress |
| filename:.htpasswd | File htpasswd |
| filename:.env DB_USERNAME NOT homestead | Laravel .env (anche CI, vari framework Ruby) |
| filename:.env MAIL_HOST=smtp.gmail.com | Configurazione SMTP Gmail (prova anche diversi servizi SMTP) |
| filename:.git-credentials | Archivio credenziali Git, aggiungi NOT username per risultati più validi |
| PT_TOKEN language:bash | Token di PivotalTracker |
| filename:.bashrc password | Cerca password, ecc. in .bashrc (prova anche con .bash_profile) |
| filename:.bashrc mailchimp | Variazione di sopra (prova più varianti) |
| filename:.bash_profile aws | Chiavi di accesso e segrete AWS |
| rds.amazonaws.com password | Possibili credenziali Amazon RDS |
| extension:json api.forecast.io | Prova variazioni, trova chiavi/segrete API |
| extension:json mongolab.com | Credenziali MongoLab in file JSON di configurazione |
| extension:yaml mongolab.com | Credenziali MongoLab in file YAML di configurazione (prova con yml) |
| jsforce extension:js conn.login | Possibili credenziali Salesforce in progetti Node.js |
| SF_USERNAME salesforce | Possibili credenziali Salesforce |
| filename:.tugboat NOT _tugboat | Configurazione Digital Ocean Tugboat |
| HEROKU_API_KEY language:shell | Chiavi API Heroku |
| HEROKU_API_KEY language:json | Chiavi API Heroku in file JSON |
| filename:.netrc password | Netrc che possibilmente contiene credenziali sensibili |
| filename:_netrc password | Netrc che possibilmente contiene credenziali sensibili |
| filename:hub oauth_token | Configurazione hub che memorizza i token GitHub |
| filename:robomongo.json | File di credenziali MongoDB usato da RoboMongo |
| filename:filezilla.xml Pass | File di configurazione FileZilla con possibili utente/password per FTP |
| filename:recentservers.xml Pass | File di configurazione FileZilla con possibili utente/password per FTP |
| filename:config.json auths | Dati di autenticazione del registro Docker |
| filename:idea14.key | Chiave IntelliJ Idea 14, prova varianti per altre versioni |
| filename:config irc_pass | Possibile configurazione IRC |
| filename:connections.xml | Possibile configurazione connessioni DB, prova varianti per essere specifico |
| filename:express.conf path:.openshift | Configurazione OpenShift, solo email e server però |
| filename:.pgpass | File PostgreSQL che può contenere password |
| filename:proftpdpasswd | Nomi utente e password di ProFTPD creati da cPanel |
| filename:ventrilo_srv.ini | Configurazione Ventrilo |
| [WFClient] Password= extension:ica | Informazioni WinFrame-Client necessarie agli utenti per connettersi ai server applicativi Citrix |
| filename:server.cfg rcon password | Password RCON Counter Strike |
| JEKYLL_GITHUB_TOKEN | Token GitHub usati per Jekyll |
| filename:.bash_history | File della cronologia Bash |
| filename:.cshrc | File RC per shell csh |
| filename:.history | File della cronologia (spesso usato da molti strumenti) |
| filename:.sh_history | Cronologia della shell Korn |
| filename:sshd_config | Configurazione del server OpenSSH |
| filename:dhcpd.conf | Configurazione del servizio DHCP |
| filename:prod.exs NOT prod.secret.exs | File di configurazione di produzione Phoenix |
| filename:prod.secret.exs | Segreto di produzione Phoenix |
| filename:configuration.php JConfig password | File di configurazione Joomla |
| filename:config.php dbpasswd | Password del database per applicazioni PHP (es. forum phpBB) |
| path:sites databases password | Credenziali del database del sito Drupal |
| shodan_api_key language:python | Chiavi API Shodan (prova anche altri linguaggi) |
| filename:shadow path:etc | Contiene password crittografate e informazioni sugli account di nuovi sistemi Unix |
| filename:passwd path:etc | Contiene informazioni sugli account utente comprese password crittografate dei tradizionali sistemi Unix |
| extension:avastlic "support.avast.com" | Contiene chiavi di licenza per Avast! Antivirus |
| filename:dbeaver-data-sources.xml | Configurazione DBeaver contenente credenziali MySQL |
| filename:.esmtprc password | Configurazione esmtp |
| extension:json googleusercontent client_secret | Credenziali OAuth per accedere alle API Google |
| HOMEBREW_GITHUB_API_TOKEN language:shell | Token GitHub solitamente impostato dagli utenti Homebrew |
| xoxp OR xoxb | Token bot e privati di Slack |
| .mlab.com password | Credenziali MongoDB ospitate su MLAB |
| filename:logins.json | Raccolta di password salvate di Firefox (di solito key3.db nello stesso repository) |
| filename:CCCam.cfg | File di configurazione del server CCCam |
| msg nickserv identify filename:config | Possibili password di login IRC |
| filename:settings.py SECRET_KEY | Chiavi segrete Django (di solito consentono session hijacking, RCE, ecc.) |
| filename:secrets.yml password | Nomi utente/password, applicazioni Rails |
| filename:master.key path:config | Chiave master Rails (usata per decifrare credentials.yml.enc per Rails 5.2+) |
| filename:deployment-config.json | Creato da sftp-deployment per Atom, contiene dettagli e credenziali del server |
| filename:.ftpconfig | Creato da remote-ssh per Atom, contiene dettagli e credenziali del server SFTP/SSH |
| filename:.remote-sync.json | Creato da remote-sync per Atom, contiene dettagli e credenziali del server FTP e/o SCP/SFTP/SSH |
| filename:sftp.json path:.vscode | Creato da vscode-sftp per VSCode, contiene dettagli e credenziali del server SFTP/SSH |
| filename:sftp-config.json | Creato da SFTP per Sublime Text, contiene dettagli e credenziali del server FTP/FTPS o SFTP/SSH |
| filename:WebServers.xml | Creato da IDE Jetbrains, contiene credenziali del server web con password codificate (non crittografate!) |
| "api_hash" "api_id" | Token API Telegram |
| "https://hooks.slack.com/services/" | URL dei servizi Slack spesso hanno un token API segreto come suffisso |
| filename:github-recovery-codes.txt | Chiave di recupero GitHub |
| filename:gitlab-recovery-codes.txt | Chiave di recupero GitLab |
| filename:discord_backup_codes.txt | Chiave di recupero Discord |
| extension:yaml cloud.redislabs.com | Credenziali Redis fornite da Redis Labs trovate in un file YAML |
| extension:json cloud.redislabs.com | Credenziali Redis fornite da Redis Labs trovate in un file JSON |