Google Dorks y Google Hacking
Google Dorks y Google Hacking
Section titled “Google Dorks y Google Hacking”Introducción
Section titled “Introducción”El Google Dork es una técnica de búsqueda avanzada que utiliza operadores y palabras clave específicas en el buscador de Google para encontrar información que normalmente no aparece en los resultados de búsqueda regulares.
La técnica de Google Dorking se utiliza a menudo en el hacking ético para encontrar información sensible y crítica en línea. Es una forma eficaz de recopilar información valiosa de una organización o individuo que puede ser utilizada para realizar pruebas de penetración y otros fines de seguridad.
¿Qué información se puede encontrar?
Section titled “¿Qué información se puede encontrar?”Al utilizar Google Dorks, un profesional de seguridad puede buscar:
- Credenciales expuestas: Usuarios y contraseñas
- Archivos confidenciales: Documentos internos, configuraciones
- Información de bases de datos: Dumps, backups
- Datos financieros: Información de tarjetas, facturas
- Vulnerabilidades: Paneles de administración, directorios expuestos
- Información corporativa: Empleados, estructura organizacional
- Configuraciones de sistemas: Archivos de configuración expuestos
Importancia en OSINT y Pentesting
Section titled “Importancia en OSINT y Pentesting”- Reconocimiento pasivo: No genera logs en sistemas objetivo
- Información pública: Todo está indexado por Google
- Eficiencia: Resultados rápidos y precisos
- Cobertura amplia: Millones de sitios web indexados
- Costo cero: Herramienta completamente gratuita
Operadores Básicos de Google
Section titled “Operadores Básicos de Google”Operadores Fundamentales
Section titled “Operadores Fundamentales”| Operador | Descripción | Ejemplo |
|---|---|---|
site: | Busca en un sitio específico | site:example.com |
filetype: | Busca archivos de un tipo específico | filetype:pdf |
intitle: | Busca en el título de las páginas | intitle:"admin panel" |
inurl: | Busca en la URL | inurl:admin |
intext: | Busca en el contenido de la página | intext:password |
cache: | Muestra la versión en caché | cache:example.com |
link: | Páginas que enlazan a una URL | link:example.com |
related: | Sitios relacionados | related:example.com |
Operadores de Exclusión y Combinación
Section titled “Operadores de Exclusión y Combinación”| Operador | Descripción | Ejemplo |
|---|---|---|
- | Excluye términos | site:example.com -www |
"" | Búsqueda exacta | "exact phrase" |
* | Comodín | admin * panel |
OR | Operador lógico OR | admin OR administrator |
AND | Operador lógico AND | login AND password |
() | Agrupación | (admin OR administrator) site:example.com |
Los 50+ Google Dorks Más Útiles
Section titled “Los 50+ Google Dorks Más Útiles”1. Archivos de Configuración y Credenciales
Section titled “1. Archivos de Configuración y Credenciales”# Archivos de configuración expuestosfiletype:env "DB_PASSWORD"filetype:env "API_KEY"filetype:config "password"filetype:ini "password"filetype:conf "password"
# Archivos de base de datosfiletype:sql "INSERT INTO" "password"filetype:sql "CREATE TABLE users"filetype:db "password"
# Archivos de configuración webfiletype:php "mysql_connect"filetype:asp "password"filetype:jsp "password"
# Variables de entornointext:"DB_PASSWORD" filetype:envintext:"SECRET_KEY" filetype:env2. Paneles de Administración
Section titled “2. Paneles de Administración”# Paneles de admin genéricosintitle:"Admin Panel" OR intitle:"Administration"intitle:"Login" OR intitle:"Sign In"inurl:admin OR inurl:administratorinurl:login OR inurl:signin
# Paneles específicosintitle:"phpMyAdmin"intitle:"cPanel"intitle:"Webmin"intitle:"DirectAdmin"intitle:"ISPConfig"
# Paneles de CMSintitle:"WordPress › Log In"intitle:"Joomla Administration"intitle:"Drupal" inurl:user/login3. Directorios y Archivos Sensibles
Section titled “3. Directorios y Archivos Sensibles”# Directorios expuestosintitle:"Index of" "Parent Directory"intitle:"Index of" "admin"intitle:"Index of" "backup"intitle:"Index of" "config"intitle:"Index of" "logs"
# Archivos de backupfiletype:bak OR filetype:backupfiletype:old OR filetype:origfiletype:tmp "password"
# Archivos de logfiletype:log "password" OR "login"filetype:log "error" OR "warning"4. Información de Empleados y Contactos
Section titled “4. Información de Empleados y Contactos”# Información de empleadossite:linkedin.com "Company Name" "employee"filetype:pdf "curriculum" OR "resume"filetype:doc "employee list"
# Contactos y emailsfiletype:xls "email" OR "contact"filetype:csv "email" OR "@"intext:"@company.com"
# Organigramasfiletype:pdf "organizational chart"filetype:ppt "company structure"5. Documentos Corporativos
Section titled “5. Documentos Corporativos”# Documentos internosfiletype:pdf "confidential" OR "internal use"filetype:doc "private" OR "restricted"filetype:ppt "internal" site:example.com
# Informes financierosfiletype:pdf "financial report" OR "annual report"filetype:xls "budget" OR "financial"
# Contratos y legalesfiletype:pdf "contract" OR "agreement"filetype:doc "terms and conditions"6. Vulnerabilidades Web
Section titled “6. Vulnerabilidades Web”# Errores de aplicaciónintext:"Warning: mysql_connect()"intext:"Fatal error:" "MySQL"intext:"Error Occurred While Processing Request"
# Información de versionesintext:"Apache/" "Server at"intext:"nginx/" "server"intitle:"Apache Tomcat" "version"
# Archivos de instalaciónfiletype:php "install" OR "setup"intitle:"Installation" OR "Setup Wizard"7. Dispositivos IoT y Cámaras
Section titled “7. Dispositivos IoT y Cámaras”# Cámaras IPintitle:"Live View" inurl:ViewerFrameintitle:"Network Camera" inurl:home.htmlinurl:"/view/index.shtml"
# Dispositivos de redintitle:"Router Configuration"intitle:"Switch Configuration"intitle:"Wireless Configuration"
# Sistemas de monitoreointitle:"SCADA" OR "HMI"intitle:"Control System"8. Servicios de Cloud y APIs
Section titled “8. Servicios de Cloud y APIs”# AWS S3 Bucketssite:s3.amazonaws.com filetype:xmlinurl:"s3.amazonaws.com" "Index of /"
# Google Cloudsite:storage.googleapis.comsite:appspot.com "Index of"
# APIs expuestasinurl:"/api/" "key" OR "token"filetype:json "api_key" OR "access_token"9. Bases de Datos Expuestas
Section titled “9. Bases de Datos Expuestas”# Interfaces de BDintitle:"phpMyAdmin" "Welcome to phpMyAdmin"intitle:"Adminer" "Database"intitle:"MongoDB" "admin"
# Archivos de dumpfiletype:sql "CREATE TABLE"filetype:sql "INSERT INTO users"filetype:bak "database"10. Información de Redes Sociales
Section titled “10. Información de Redes Sociales”# Perfiles de empleadossite:facebook.com "works at Company"site:twitter.com "@company.com"site:instagram.com "#company"
# Posts relacionadossite:reddit.com "company name" "employee"site:glassdoor.com "company reviews"Dorks Avanzados por Tecnología
Section titled “Dorks Avanzados por Tecnología”Apache y Nginx
Section titled “Apache y Nginx”# Archivos de configuración Apachefiletype:conf "ServerRoot" OR "DocumentRoot"filetype:htaccess "RewriteRule" OR "AuthUserFile"intext:"Apache Server Status" "Server Version"
# Archivos de configuración Nginxfiletype:conf "server_name" OR "listen"intext:"nginx/1." "server status"Bases de Datos
Section titled “Bases de Datos”# MySQLintext:"MySQL Error" OR "mysql_fetch_array()"filetype:sql "mysql" "password"intext:"Access denied for user" "using password"
# PostgreSQLintext:"PostgreSQL query failed" OR "pg_connect()"filetype:sql "postgresql" "password"
# MongoDBintext:"MongoDB" "unauthorized" OR "authentication"site:*.mongodb.net OR site:*.mongodb.com
# Oracleintext:"ORA-" "error" OR "Oracle Error"filetype:ora "password" OR "connect"Frameworks Web
Section titled “Frameworks Web”# Laravelfiletype:env "APP_KEY" OR "DB_PASSWORD"intext:"Laravel" "Whoops, looks like something went wrong"inurl:"/.env" "APP_KEY"
# Djangointext:"Django" "DEBUG = True"filetype:py "SECRET_KEY" "Django"
# Ruby on Railsfiletype:yml "database" "password" "rails"intext:"Ruby on Rails" "error occurred"
# Node.jsfiletype:json "password" OR "secret" "node"intext:"Express" "Error:"CMS Específicos
Section titled “CMS Específicos”# WordPressfiletype:txt "DB_PASSWORD" "wp-config"inurl:wp-admin OR inurl:wp-loginsite:*/wp-content/debug.log
# Joomlafiletype:php "JConfig" "password"inurl:administrator/index.php "Joomla"
# Drupalfiletype:php "drupal" "password"inurl:user/login "Drupal"
# Magentoinurl:downloader/ "Magento Connect"intext:"Magento Commerce" "admin"Metodología de Google Dorking
Section titled “Metodología de Google Dorking”Fase 1: Reconocimiento Inicial
Section titled “Fase 1: Reconocimiento Inicial”# Script básico de reconocimiento#!/bin/bash
TARGET="example.com"
echo "=== RECONOCIMIENTO INICIAL ==="echo "Objetivo: $TARGET"
# 1. Subdominios básicosecho -e "\n[1] Buscando subdominios..."SUBDOMAIN_DORKS=( "site:*.$TARGET -www" "site:$TARGET -site:www.$TARGET")
# 2. Archivos expuestos básicosecho -e "\n[2] Buscando archivos expuestos..."FILE_DORKS=( "site:$TARGET filetype:pdf" "site:$TARGET filetype:doc" "site:$TARGET filetype:xls")
# 3. Paneles de administraciónecho -e "\n[3] Buscando paneles de admin..."ADMIN_DORKS=( "site:$TARGET inurl:admin" "site:$TARGET intitle:\"Admin Panel\"" "site:$TARGET inurl:login")Fase 2: Búsqueda Específica
Section titled “Fase 2: Búsqueda Específica”import requestsimport timeimport urllib.parse
class GoogleDorker: def __init__(self, target): self.target = target self.session = requests.Session() self.session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' })
def search_dork(self, dork): """Ejecuta un Google Dork específico""" query = f"{dork} site:{self.target}" encoded_query = urllib.parse.quote(query) url = f"https://www.google.com/search?q={encoded_query}"
try: response = self.session.get(url) return self.parse_results(response.text) except Exception as e: print(f"Error ejecutando dork: {e}") return []
def search_multiple_dorks(self, dorks): """Ejecuta múltiples dorks con delay""" results = {} for dork in dorks: print(f"Ejecutando: {dork}") results[dork] = self.search_dork(dork) time.sleep(2) # Delay para evitar rate limiting return results
# Ejemplo de usodorker = GoogleDorker("example.com")sensitive_dorks = [ 'filetype:env "password"', 'intitle:"Index of" "backup"', 'inurl:admin', 'filetype:sql "password"']
results = dorker.search_multiple_dorks(sensitive_dorks)Fase 3: Validación de Resultados
Section titled “Fase 3: Validación de Resultados”#!/bin/bash# Script para validar URLs encontradas
validate_urls() { local urls_file="$1" local output_file="$2"
echo "=== VALIDACIÓN DE URLs ==="
while IFS= read -r url; do echo "Validando: $url"
# Verificar si la URL responde status_code=$(curl -s -o /dev/null -w "%{http_code}" "$url" --max-time 10)
if [[ $status_code -eq 200 ]]; then echo "✅ ACTIVA: $url" | tee -a "$output_file"
# Verificar contenido sensible content=$(curl -s "$url" --max-time 10) if echo "$content" | grep -qi "password\|admin\|login\|config"; then echo "🚨 CONTENIDO SENSIBLE DETECTADO: $url" | tee -a "$output_file" fi else echo "❌ NO RESPONDE ($status_code): $url" fi
sleep 1 done < "$urls_file"}
# Usovalidate_urls "found_urls.txt" "validated_results.txt"Casos de Uso Prácticos
Section titled “Casos de Uso Prácticos”Caso 1: Auditoría de Seguridad Corporativa
Section titled “Caso 1: Auditoría de Seguridad Corporativa”Objetivo: Encontrar información sensible expuesta de la empresa XYZ Corp.
# 1. Información de empleadossite:linkedin.com "XYZ Corp" "employee"site:facebook.com "works at XYZ Corp"
# 2. Documentos corporativossite:xyzcorp.com filetype:pdf "internal" OR "confidential"site:xyzcorp.com filetype:doc "employee" OR "staff"
# 3. Configuraciones expuestassite:xyzcorp.com filetype:env OR filetype:configsite:xyzcorp.com intitle:"Index of" "config"
# 4. Subdominios y serviciossite:*.xyzcorp.com -site:www.xyzcorp.comsite:xyzcorp.com inurl:admin OR inurl:panelCaso 2: Investigación de Brechas de Datos
Section titled “Caso 2: Investigación de Brechas de Datos”Objetivo: Verificar si credenciales de la organización están expuestas.
# 1. Archivos de credenciales"@xyzcorp.com" filetype:txt OR filetype:csv"@xyzcorp.com" "password" filetype:sql
# 2. Dumps de bases de datos"xyzcorp" filetype:sql "CREATE TABLE""xyzcorp" filetype:sql "INSERT INTO users"
# 3. Configuraciones con passwords"xyzcorp.com" "mysql_connect" "password""xyzcorp.com" filetype:php "password"Caso 3: Reconocimiento de Infraestructura
Section titled “Caso 3: Reconocimiento de Infraestructura”Objetivo: Mapear la infraestructura tecnológica de la organización.
# 1. Servidores y serviciossite:xyzcorp.com "Apache" OR "nginx" OR "IIS"site:xyzcorp.com "Server: " OR "X-Powered-By:"
# 2. Aplicaciones website:xyzcorp.com "WordPress" OR "Joomla" OR "Drupal"site:xyzcorp.com "Laravel" OR "Django" OR "Rails"
# 3. Servicios en la nubesite:s3.amazonaws.com "xyzcorp"site:storage.googleapis.com "xyzcorp"
# 4. Dispositivos IoT"xyzcorp" intitle:"Network Camera""xyzcorp" intitle:"Router" OR "Switch"Herramientas Complementarias
Section titled “Herramientas Complementarias”1. Dorksearch Automático
Section titled “1. Dorksearch Automático”#!/usr/bin/env python3"""Automatizador de Google Dorks con múltiples funcionalidades"""
import requestsimport jsonimport timeimport randomfrom bs4 import BeautifulSoupimport argparse
class AdvancedDorker: def __init__(self): self.session = requests.Session() self.user_agents = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36' ]
def rotate_user_agent(self): """Rota User-Agent para evitar detección""" ua = random.choice(self.user_agents) self.session.headers.update({'User-Agent': ua})
def search_with_proxy(self, dork, proxy=None): """Ejecuta búsqueda con proxy opcional""" if proxy: self.session.proxies = {'http': proxy, 'https': proxy}
self.rotate_user_agent() # Implementar lógica de búsqueda pass
def export_results(self, results, format='json'): """Exporta resultados en diferentes formatos""" if format == 'json': with open('dork_results.json', 'w') as f: json.dump(results, f, indent=2) elif format == 'csv': # Implementar exportación CSV pass
# Dorks categorizadosDORK_CATEGORIES = { 'credentials': [ 'filetype:env "DB_PASSWORD"', 'filetype:config "password"', 'intext:"mysql_connect" "password"' ], 'admin_panels': [ 'intitle:"Admin Panel"', 'inurl:admin/login', 'intitle:"phpMyAdmin"' ], 'sensitive_files': [ 'intitle:"Index of" "backup"', 'filetype:sql "password"', 'filetype:log "password"' ]}2. Google Dorking con APIs
Section titled “2. Google Dorking con APIs”import googlesearchimport time
def advanced_google_dork(dork, num_results=10, delay=1): """ Ejecuta Google Dork usando la API de googlesearch-python """ results = [] try: for url in googlesearch.search(dork, num=num_results, stop=num_results, pause=delay): results.append(url) print(f"Encontrado: {url}") except Exception as e: print(f"Error en búsqueda: {e}")
return results
# Ejemplo de uso masivodef mass_dorking(target, categories): all_results = {}
for category, dorks in categories.items(): print(f"\n=== CATEGORÍA: {category.upper()} ===") category_results = []
for dork in dorks: full_dork = f"{dork} site:{target}" print(f"Ejecutando: {full_dork}")
results = advanced_google_dork(full_dork, num_results=5, delay=2) category_results.extend(results)
time.sleep(random.uniform(3, 7)) # Delay aleatorio
all_results[category] = category_results
return all_results
# Usotarget = "example.com"results = mass_dorking(target, DORK_CATEGORIES)3. Integración con Burp Suite
Section titled “3. Integración con Burp Suite”# Extensión básica para Burp Suitefrom burp import IBurpExtender, ITabfrom javax.swing import JPanel, JButton, JTextArea, JLabelimport threading
class BurpExtender(IBurpExtender, ITab): def registerExtenderCallbacks(self, callbacks): self._callbacks = callbacks self._helpers = callbacks.getHelpers()
callbacks.setExtensionName("Google Dorker")
# Crear UI self._panel = JPanel() self._dork_area = JTextArea(10, 50) self._result_area = JTextArea(20, 50) self._execute_btn = JButton("Ejecutar Dorks", actionPerformed=self.execute_dorks)
# Layout self._panel.add(JLabel("Google Dorks:")) self._panel.add(self._dork_area) self._panel.add(self._execute_btn) self._panel.add(JLabel("Resultados:")) self._panel.add(self._result_area)
callbacks.addSuiteTab(self)
def getTabCaption(self): return "Google Dorker"
def getUiComponent(self): return self._panel
def execute_dorks(self, event): # Ejecutar dorks en thread separado threading.Thread(target=self._run_dorks).start()
def _run_dorks(self): dorks = self._dork_area.getText().split('\n') results = []
for dork in dorks: if dork.strip(): # Implementar lógica de búsqueda result = f"Resultados para: {dork}\n" results.append(result)
self._result_area.setText('\n'.join(results))Evasión y Técnicas Anti-Detección
Section titled “Evasión y Técnicas Anti-Detección”1. Rotación de IPs y Proxies
Section titled “1. Rotación de IPs y Proxies”#!/bin/bash# Script con rotación de proxies
PROXIES=( "proxy1:port" "proxy2:port" "proxy3:port")
rotate_proxy() { local proxy=${PROXIES[$RANDOM % ${#PROXIES[@]}]} export http_proxy="http://$proxy" export https_proxy="http://$proxy" echo "Usando proxy: $proxy"}
# Ejecutar dork con proxy rotativoexecute_dork_with_rotation() { local dork="$1"
for i in {1..3}; do rotate_proxy
# Ejecutar búsqueda (ejemplo con curl) response=$(curl -s --proxy "$http_proxy" \ "https://www.google.com/search?q=$(echo "$dork" | sed 's/ /%20/g')")
if [[ $? -eq 0 ]]; then echo "Búsqueda exitosa con proxy $i" break fi
sleep 5 done}2. Delays Inteligentes
Section titled “2. Delays Inteligentes”import randomimport time
class SmartDelay: def __init__(self): self.request_count = 0 self.last_request_time = 0
def calculate_delay(self): """Calcula delay inteligente basado en patrones""" self.request_count += 1 current_time = time.time()
# Delay base entre 2-5 segundos base_delay = random.uniform(2, 5)
# Aumentar delay cada 10 búsquedas if self.request_count % 10 == 0: base_delay += random.uniform(5, 10)
# Delay adicional si las búsquedas son muy frecuentes if current_time - self.last_request_time < 3: base_delay += random.uniform(3, 8)
self.last_request_time = current_time return base_delay
def apply_delay(self): """Aplica el delay calculado""" delay = self.calculate_delay() print(f"Aplicando delay de {delay:.2f} segundos...") time.sleep(delay)
# Uso en dorking automatizadodelay_manager = SmartDelay()
for dork in dork_list: execute_dork(dork) delay_manager.apply_delay()3. Variación de Consultas
Section titled “3. Variación de Consultas”def generate_dork_variations(base_dork): """Genera variaciones de un dork para evitar detección""" variations = []
# Variaciones básicas variations.append(base_dork) variations.append(base_dork.replace('"', "'")) variations.append(base_dork.replace(' AND ', ' & ')) variations.append(base_dork.replace(' OR ', ' | '))
# Agregar wildcards if '*' not in base_dork: variations.append(base_dork.replace(' ', ' * '))
# Usar sinónimos synonyms = { 'admin': ['administrator', 'root', 'manager'], 'login': ['signin', 'auth', 'access'], 'password': ['passwd', 'pwd', 'secret'] }
for word, syns in synonyms.items(): if word in base_dork.lower(): for syn in syns: variations.append(base_dork.replace(word, syn))
return list(set(variations)) # Eliminar duplicados
# Ejemplobase = 'site:example.com intitle:"admin login"'variations = generate_dork_variations(base)for var in variations: print(var)Aspectos Legales y Éticos
Section titled “Aspectos Legales y Éticos”Marco Legal Internacional
Section titled “Marco Legal Internacional”Legislación Aplicable:
Section titled “Legislación Aplicable:”Estados Unidos:
- Computer Fraud and Abuse Act (CFAA): Prohibe acceso no autorizado
- Digital Millennium Copyright Act (DMCA): Protege contenido digital
- State Privacy Laws: Leyes estatales de privacidad
Unión Europea:
- GDPR: Regulación de protección de datos
- NIS Directive: Seguridad de redes y sistemas de información
- Cybersecurity Act: Marco de ciberseguridad
América Latina:
- Brasil (LGPD): Lei Geral de Proteção de Dados
- México: Ley Federal de Protección de Datos Personales
- Argentina: Ley de Protección de Datos Personales
Consideraciones Éticas
Section titled “Consideraciones Éticas”Uso Responsable del Google Dorking:
Section titled “Uso Responsable del Google Dorking:”Principios Éticos: ✅ Permitido: - Investigación de seguridad autorizada - Auditorías de seguridad con consentimiento - Investigación académica con permisos - Verificación de exposición de datos propios - Pentesting con autorización escrita
❌ Prohibido: - Acceso no autorizado a sistemas - Descarga de información confidencial - Uso con fines maliciosos - Violación de términos de servicio - Explotación de vulnerabilidades sin autorizaciónMejores Prácticas Legales:
Section titled “Mejores Prácticas Legales:”- Obtener autorización por escrito antes de realizar dorking
- Respetar robots.txt y términos de servicio
- No acceder a contenido protegido sin autorización
- Reportar vulnerabilidades de manera responsable
- Documentar todas las actividades para auditoría legal
Disclaimer Legal
Section titled “Disclaimer Legal”⚠️ AVISO LEGAL IMPORTANTE:
Esta documentación sobre Google Dorks es únicamente parafines educativos y de investigación en ciberseguridad.
RESPONSABILIDAD DEL USUARIO:- Obtener autorización explícita antes de usar estas técnicas- Cumplir con todas las leyes locales e internacionales- Respetar la privacidad y términos de servicio- No utilizar para acceso no autorizado
USO ÉTICO OBLIGATORIO:- Solo en sistemas propios o con autorización- Para mejorar la seguridad, no para comprometerla- Siguiendo principios de disclosure responsable- Con fines defensivos y educativos únicamente
EXENCIÓN DE RESPONSABILIDAD:Los autores no se responsabilizan por el mal uso de estainformación. El uso indebido puede constituir delito.Recursos Adicionales
Section titled “Recursos Adicionales”Bases de Datos de Dorks
Section titled “Bases de Datos de Dorks”- Google Hacking Database (GHDB): https://www.exploit-db.com/google-hacking-database
- Pentest-Tools Dorks: https://pentest-tools.com/information-gathering/google-hacking
- DorkSearch: https://dorksearch.com/
- Pastebin Dorks: Repositorios de dorks actualizados
Herramientas Especializadas
Section titled “Herramientas Especializadas”# 1. Pagodo - Dorking automatizadogit clone https://github.com/opsdisk/pagodo.gitcd pagodopip install -r requirements.txtpython pagodo.py -d example.com -g dorks.txt
# 2. GooDork - Dorker en Gogo get github.com/dwisiswant0/goodorkgoodork -t example.com -q "admin panel"
# 3. Dorkbot - Framework de dorkinggit clone https://github.com/utiso/dorkbot.gitcd dorkbotpython dorkbot.py -l google -o example.comAPIs y Servicios
Section titled “APIs y Servicios”# Integración con APIs alternativas
# 1. Bing Search APIimport requests
def bing_dork(query, api_key): endpoint = "https://api.bing.microsoft.com/v7.0/search" headers = {"Ocp-Apim-Subscription-Key": api_key} params = {"q": query, "count": 50}
response = requests.get(endpoint, headers=headers, params=params) return response.json()
# 2. DuckDuckGo (sin API oficial, scraping)def duckduckgo_dork(query): url = f"https://duckduckgo.com/html/?q={query}" # Implementar scraping responsable pass
# 3. Yandex Search APIdef yandex_dork(query, api_key): url = "https://yandex.com/search/xml" params = { "query": query, "key": api_key, "folderid": "folder_id" } # Implementar llamada a API passComunidades y Recursos
Section titled “Comunidades y Recursos”- OWASP: Guías de testing web
- NIST: Frameworks de ciberseguridad
- SANS: Recursos de seguridad informática
- Bug Bounty Platforms: HackerOne, Bugcrowd
- Security Conferences: DEF CON, Black Hat, BSides
Conclusiones
Section titled “Conclusiones”Google Dorking es una técnica fundamental en el arsenal de cualquier profesional de ciberseguridad. Su poder radica en la capacidad de encontrar información sensible que las organizaciones han expuesto inadvertidamente en internet.
Puntos Clave:
Section titled “Puntos Clave:”- Herramienta poderosa: Puede revelar vulnerabilidades críticas
- Accesible y gratuita: Solo requiere conocimiento de operadores
- Reconocimiento pasivo: No genera logs en sistemas objetivo
- Requiere responsabilidad: Debe usarse éticamente y legalmente
- Complementa otras técnicas: Parte integral de OSINT y pentesting
Recomendaciones Finales:
Section titled “Recomendaciones Finales:”- Para Pentesters: Integrar dorking en metodologías de testing
- Para Organizaciones: Auditar regularmente su exposición en buscadores
- Para Individuos: Verificar qué información personal está indexada
- Para Estudiantes: Practicar en entornos controlados y legales
Recuerda siempre: Con gran poder viene gran responsabilidad. Usa estas técnicas únicamente para mejorar la seguridad, nunca para comprometer sistemas o violar la privacidad.
Última actualización: 2025-01-23 Versión: 3.0