
Encuentra secretos filtrados mediante búsqueda en GitHub
La búsqueda de GitHub es una característica bastante potente y útil que se puede usar para buscar datos sensibles en repositorios. La colección de dorks de GitHub puede revelar información sensible personal y/u organizacional como claves privadas, credenciales, tokens de autenticación, etc. Se supone que esta lista es útil para evaluar la seguridad y realizar pruebas de penetración de sistemas.
github-dork.py es una herramienta simple en Python que puede buscar en tu repositorio o en los repositorios de tu organización/usuario. No es una herramienta perfecta en este momento, pero proporciona funcionalidad básica para automatizar la búsqueda en tus repositorios según los dorks especificados en el archivo de texto.
Esta herramienta utiliza github3.py para comunicarse con la API de búsqueda de GitHub.
Clona este repositorio y ejecuta:
pip install .
También puedes ejecutar github-dorks usando Docker para un entorno consistente:
# Construir la imagen Docker
docker build -t github-dorks .
# Ejecutar con un token de GitHub (recomendado)
docker run -e GH_TOKEN=tu_token_github github-dorks -u someuser
# Ejecutar con usuario/contraseña
docker run -e GH_USER=tu_usuario -e GH_PWD=tu_contraseña github-dorks -u someuser
# Guardar resultados en un archivo CSV
docker run -v $(pwd)/output:/app/output -e GH_TOKEN=tu_token_github github-dorks -u someuser -o /app/output/results.csv
GH_USER - Variable de entorno para especificar el usuario de GitHub
GH_PWD - Variable de entorno para especificar una contraseña
GH_TOKEN - Variable de entorno para especificar el token de GitHub
GH_URL - Variable de entorno para especificar la URL base de GitHub Enterprise
Algunos ejemplos de uso se muestran a continuación:
github-dork.py -r techgaun/github-dorks # buscar un solo repositorio
github-dork.py -u techgaun # buscar todos los repositorios de un usuario
github-dork.py -u dev-nepal # buscar todos los repositorios de una organización
GH_USER=techgaun GH_PWD=<mipass> github-dork.py -u dev-nepal # buscar como usuario autenticado
GH_TOKEN=<token_github> github-dork.py -u dev-nepal # buscar usando token de autenticación
GH_URL=https://github.example.com github-dork.py -u dev-nepal # buscar una instancia de GitHub Enterprise
Por favor, considera contribuir con dorks que puedan revelar información potencialmente sensible en GitHub.
No estoy categorizando en este momento. En su lugar, voy a listar los dorks con una descripción. Muchos de los dorks se pueden modificar para hacer la búsqueda más específica o genérica. Puedes ver más opciones aquí.
| Dork | Descripción |
|---|
| filename:.npmrc _auth | Datos de autenticación del registro npm |
| filename:.dockercfg auth | Datos de autenticación del registro docker |
| extension:pem private | Claves privadas |
| extension:ppk private | Claves privadas de puttygen |
| filename:id_rsa or filename:id_dsa | Claves SSH privadas |
| extension:sql mysql dump | Volcado de MySQL |
| extension:sql mysql dump password | Volcado de MySQL buscar contraseña; puedes probar variantes |
| filename:credentials aws_access_key_id | Podría devolver falsos negativos con valores ficticios |
| filename:.s3cfg | Podría devolver falsos negativos con valores ficticios |
| filename:wp-config.php | Archivos de configuración de WordPress |
| filename:.htpasswd | Archivos htpasswd |
| filename:.env DB_USERNAME NOT homestead | .env de Laravel (también CI, varios frameworks basados en Ruby) |
| filename:.env MAIL_HOST=smtp.gmail.com | Configuración SMTP de Gmail (prueba también con diferentes servicios SMTP) |
| filename:.git-credentials | Almacén de credenciales de Git, añade NOT username para resultados más válidos |
| PT_TOKEN language:bash | Tokens de Pivotal Tracker |
| filename:.bashrc password | Busca contraseñas, etc. en .bashrc (prueba también con .bash_profile) |
| filename:.bashrc mailchimp | Variación de lo anterior (prueba más variaciones) |
| filename:.bash_profile aws | Claves de acceso y secretas de AWS |
| rds.amazonaws.com password | Posibles credenciales de Amazon RDS |
| extension:json api.forecast.io | Prueba variaciones, encuentra claves/secretos de API |
| extension:json mongolab.com | Credenciales de MongoLab en configuraciones JSON |
| extension:yaml mongolab.com | Credenciales de MongoLab en configuraciones YAML (prueba con yml) |
| jsforce extension:js conn.login | Posibles credenciales de Salesforce en proyectos Node.js |
| SF_USERNAME salesforce | Posibles credenciales de Salesforce |
| filename:.tugboat NOT _tugboat | Configuración de Digital Ocean tugboat |
| HEROKU_API_KEY language:shell | Claves de API de Heroku |
| HEROKU_API_KEY language:json | Claves de API de Heroku en archivos JSON |
| filename:.netrc password | netrc que posiblemente contiene credenciales sensibles |
| filename:_netrc password | netrc que posiblemente contiene credenciales sensibles |
| filename:hub oauth_token | Configuración de hub que almacena tokens de GitHub |
| filename:robomongo.json | Archivo de credenciales de MongoDB usado por Robomongo |
| filename:filezilla.xml Pass | Archivo de configuración de FileZilla con posible usuario/contraseña para FTP |
| filename:recentservers.xml Pass | Archivo de configuración de FileZilla con posible usuario/contraseña para FTP |
| filename:config.json auths | Datos de autenticación del registro docker |
| filename:idea14.key | Clave de IntelliJ Idea 14, prueba variaciones para otras versiones |
| filename:config irc_pass | Posible configuración de IRC |
| filename:connections.xml | Posible configuración de conexiones a bases de datos, prueba variaciones para ser específico |
| filename:express.conf path:.openshift | Configuración de OpenShift, solo email y servidor |
| filename:.pgpass | Archivo de PostgreSQL que puede contener contraseñas |
| filename:proftpdpasswd | Nombres de usuario y contraseñas de proftpd creados por cPanel |
| filename:ventrilo_srv.ini | Configuración de Ventrilo |
| [WFClient] Password= extension:ica | Información de WinFrame-Client necesaria para que los usuarios se conecten a servidores Citrix Application |
| filename:server.cfg rcon password | Contraseñas RCON de Counter Strike |
| JEKYLL_GITHUB_TOKEN | Tokens de GitHub usados para Jekyll |
| filename:.bash_history | Archivo de historial de Bash |
| filename:.cshrc | Archivo RC para shell csh |
| filename:.history | Archivo de historial (usado a menudo por muchas herramientas) |
| filename:.sh_history | Archivo de historial de Korn shell |
| filename:sshd_config | Configuración del servidor OpenSSH |
| filename:dhcpd.conf | Configuración del servicio DHCP |
| filename:prod.exs NOT prod.secret.exs | Archivo de configuración de producción de Phoenix |
| filename:prod.secret.exs | Secreto de producción de Phoenix |
| filename:configuration.php JConfig password | Archivo de configuración de Joomla |
| filename:config.php dbpasswd | Contraseña de base de datos de aplicación PHP (por ejemplo, software de foro phpBB) |
| path:sites databases password | Credenciales de base de datos de sitios web Drupal |
| shodan_api_key language:python | Claves de API de Shodan (prueba también otros lenguajes) |
| filename:shadow path:etc | Contiene contraseñas encriptadas e información de cuentas de sistemas Unix nuevos |
| filename:passwd path:etc | Contiene información de cuentas de usuarios incluyendo contraseñas encriptadas de sistemas Unix tradicionales |
| extension:avastlic "support.avast.com" | Contiene claves de licencia para Avast! Antivirus |
| filename:dbeaver-data-sources.xml | Configuración de DBeaver que contiene credenciales de MySQL |
| filename:.esmtprc password | Configuración de esmtp |
| extension:json googleusercontent client_secret | Credenciales OAuth para acceder a APIs de Google |
| HOMEBREW_GITHUB_API_TOKEN language:shell | Token de GitHub usualmente establecido por usuarios de Homebrew |
| xoxp OR xoxb | Tokens privados y de bot de Slack |
| .mlab.com password | Credenciales de MongoDB alojado en MLAB |
| filename:logins.json | Colección de contraseñas guardadas de Firefox (key3.db usualmente en el mismo repositorio) |
| filename:CCCam.cfg | Archivo de configuración del servidor CCCam |
| msg nickserv identify filename:config | Posibles contraseñas de inicio de sesión de IRC |
| filename:settings.py SECRET_KEY | Claves secretas de Django (normalmente permiten secuestro de sesión, RCE, etc.) |
| filename:secrets.yml password | Nombres de usuario/contraseñas, aplicaciones Rails |
| filename:master.key path:config | Clave maestra de Rails (usada para descifrar credentials.yml.enc para Rails 5.2+) |
| filename:deployment-config.json | Creado por sftp-deployment para Atom, contiene detalles del servidor y credenciales |
| filename:.ftpconfig | Creado por remote-ssh para Atom, contiene detalles del servidor SFTP/SSH y credenciales |
| filename:.remote-sync.json | Creado por remote-sync para Atom, contiene detalles del servidor FTP y/o SCP/SFTP/SSH y credenciales |
| filename:sftp.json path:.vscode | Creado por vscode-sftp para VSCode, contiene detalles del servidor SFTP/SSH y credenciales |
| filename:sftp-config.json | Creado por SFTP para Sublime Text, contiene detalles del servidor FTP/FTPS o SFTP/SSH y credenciales |
| filename:WebServers.xml | Creado por IDEs Jetbrains, contiene credenciales de servidores web con contraseñas codificadas (no encriptadas!) |
| "api_hash" "api_id" | Token de API de Telegram |
| "https://hooks.slack.com/services/" | URL de servicios de Slack a menudo tienen token de API secreto como sufijo |
| filename:github-recovery-codes.txt | Clave de recuperación de GitHub |
| filename:gitlab-recovery-codes.txt | Clave de recuperación de GitLab |
| filename:discord_backup_codes.txt | Clave de recuperación de Discord |
| extension:yaml cloud.redislabs.com | Credenciales de Redis proporcionadas por Redis Labs encontradas en un archivo YAML |
| extension:json cloud.redislabs.com | Credenciales de Redis proporcionadas por Redis Labs encontradas en un archivo JSON |