La Internet moderna ya no es imaginable sin los motores de búsqueda. Hay muchos motores de búsqueda en la web, pero como dice el famoso adverbio: “No todos son igual de útiles“. Por lo tanto, la mayoría de ellos tienen tanto sus ventajas como sus desventajas, y por supuesto hay buscadores francamente inútiles.
Cada motor de búsqueda tiene sus propias características y algoritmos de búsqueda, pero el principio es el mismo en todos ellos.
Un bot (“web spider”, “web crawler”) va a una página, analiza el contenido de la misma, lo almacena en el servidor y es enviado a los enlaces de las páginas siguientes. En la mayoría de los casos, la navegación de una página a otra sigue los enlaces contenidos en la primera página y en las siguientes.
Pero las arañas robot no se limitan a las páginas web, e indexan todo el contenido disponible en la web, añadiendo periódicamente información no pública a sus bases de datos. Los administradores, sin preocuparse por las restricciones de acceso a los datos, dejan la información confidencial y a veces secreta en los directorios del sitio, que no son referenciados, creyendo ingenuamente que esto es suficiente. Otro motivo de la fuga puede ser un servidor mal configurado. Sí, no hay mucho más. Y si la información entró en el índice de búsqueda, por lo que el acceso a ella está abierta, sólo puedes pedir lo que necesitas al motor de búsqueda.
Hoy vamos a hablar de cómo construir una consulta para obtener exactamente lo que nos interesa (seguramente, orientado al hacking). Y como habrás deducido por el título, la charla de hoy versará sobre el líder indiscutible entre los buscadores, el de Alphabet, Google.
Qué es Google hacking
El “Google Hacking” o “Google Dorking” es un método de recopilación de información, utilizando las técnicas de búsqueda avanzada de Google. El hecho es que un gran número de sitios web tienen vulnerabilidades conocidas. Y para encontrarlas, todo lo que hay que hacer es escribir las consultas necesarias que mostrarán las vulnerabilidades existentes en sitios específicos. Y si buscas bien, puedes acceder a sitios, bases de datos, servicios, etc.
Incluso algunos de los llamados hackeos del Pentágono o de la NASA, como el robo de información clasificada, son en la mayoría casos consecuentes del uso de esta técnica de Google Hacking. Una cadena de búsqueda avanzada de Google correctamente elaborada, puede buscar una versión vulnerable de una aplicación web o un determinado tipo de archivo .pwd, .sql. para limitar aún más la búsqueda. La búsqueda también puede limitarse a las páginas de un sitio en particular, o puede buscar información específica en todos los sitios, dando una lista de recursos que contienen la información.
Operadores de las Consultas de Búsqueda en Google
Dominar la búsqueda de Google es una herramienta útil para los usuarios comunes que quieren aprovechar el poder de este motor de búsqueda para obtener exactamente lo que buscan; para los investigadores de código abierto; e incluso para los hackers que quieren reunir información sobre un sitio que están atacando o que quieren encontrar objetivos vulnerables.
Veremos la sintaxis de las consultas de búsqueda en Google que pueden ser útiles para cualquiera que busque algo. En la sección final de este artículo veremos ejemplos de cómo las búsquedas en Google pueden ser utilizadas por los hackers y los pentesters.
La mayoría de los operadores pueden utilizarse en una consulta en combinación con otros. Puedes agrupar los elementos de la consulta de varias maneras y utilizar paréntesis y operadores lógicos para crear consultas muy precisas que te permitan encontrar las páginas que deseas y eliminar los datos innecesarios.
Con los operadores puedes filtrar documentos con contenido específico o con palabras concretas en el título o el texto, encontrar información sensible como archivos de configuración y documentos con contraseñas, y simplemente -con mucha habilidad- buscar en Google como un profesional.
Los operadores avanzados forman parte de la consulta estándar de Google. Tienen la siguiente sintaxis:
operador:término de búsqueda
Un término de búsqueda, sencillamente, es algo que hay que encontrar. También en este artículo se utilizará a veces la expresión “palabra clave“, que es lo mismo que el término de búsqueda, es decir, cualquier palabra o frase que se quiera encontrar.
Google puede buscar en la web, en imágenes, en noticias y en otras áreas; no todos los operadores avanzados funcionan de la misma manera para cada tipo de búsqueda. Esta información también aparecerá en el cuadro resumen más adelante.
Opciones Avanzadas de Búsqueda en Google
Búsqueda de una sola palabra
Ejemplo de consulta de búsqueda
hacking
Significado:
Se buscará la palabra “hacking
“. No se trata necesariamente de una coincidencia exacta: los resultados pueden contener palabras con distintas mayúsculas, números, etc. Es posible que se encuentren páginas web que contengan sinónimos en lugar de la palabra que buscas. Los resultados de la búsqueda pueden ser personalizados, es decir, pueden basarse en tu ubicación e intereses. Por ejemplo, una búsqueda de “excursiones
” probablemente mostrará excursiones en tu localidad.
Búsqueda mejorada
google hacking
Si se utilizan dos o más palabras, se obtendrán resultados en los que se utilicen todas las palabras. Es decir, está implícito un AND lógico entre las palabras. Por lo tanto, puedes obtener exactamente el mismo resultado introduciendo “google AND hacking”. No se busca necesariamente por coincidencia exacta de la frase: puede haber palabras con mayúsculas, números y sinónimos en los resultados de la búsqueda.
Búsqueda de frases textuales, búsqueda de palabras y expresiones con caracteres especiales
"Pentesting con Google Hacking"
Si se utilizan comillas, se buscará una coincidencia exacta de la frase. También debes utilizar caracteres especiales entre comillas que, de otro modo, se interpretarían de forma diferente (por ejemplo, / (barra oblicua) sin comillas se interpretará como un espacio en la consulta de búsqueda).
Forzar un OR lógico (buscar cualquier palabra o frase)
tesla OR edison
Si necesitas un OR lógico, es decir, una búsqueda de uno u otro, utiliza el operador “OR”. Debe escribirse en mayúsculas, y también puede usar el símbolo de pleca o pipe (|).
Ten en cuenta que, en la mayoría de los casos, Google seguirá dando prioridad a los resultados que contengan ambos términos. La especificación de un OR lógico suele ser útil sólo cuando los dos términos ocurren con poca frecuencia.
Agrupar palabras de búsqueda con paréntesis
curso online (java OR php)
Algunos operadores, entre ellos OR, son más útiles en las consultas complejas. Para entender este ejemplo, recuerda que el AND lógico está implícito por defecto, por lo que este ejemplo equivale a escribir:
curso AND online AND (java OR php)
Significa que debe haber la palabra “curso”, debe haber la palabra “online” y debe haber una de las dos palabras (o las dos a la vez – esto no está prohibido) “java” o “php”.
Si omitiéramos los paréntesis, es decir, si escribiéramos la expresión así:
curso online java OR php
Significaría:
curso AND online AND java OR php
Los operadores AND tienen prioridad sobre los OR, es decir, se ejecutan primero. Así que esta expresión significaría: buscar una frase que tenga las tres palabras “curso online java” o la frase “php” (sin otras palabras calificativas).
Excluir palabras específicas
tesla -motors
Si quieres encontrar todos los sitios que mencionan “tesla” y te refieres al inventor, y no quieres sitios sobre Tesla Motors. Puedes utilizar el signo menos (-
) para que Google excluya cualquier resultado con la palabra “motors”.
No debe haber ningún espacio entre el signo menos y la palabra.
Excluir varias palabras de una búsqueda
Es posible especificar varias palabras clave negativas. Al igual que con las palabras clave positivas, es posible combinar varias palabras clave negativas en un solo objetivo:
curso online -java -php -javascipt
Recuerda que cada signo menos debe estar emparejado con una palabra clave u operador.
Excluir una frase exacta
tesla -motors -"rock n roll"
Puedes excluir una frase completa de varias palabras utilizando un signo menos (-
) seguido de una frase entre comillas.
Si es necesario, puedes combinar palabras negativas individuales con frases negativas de concordancia exacta (utiliza solo frases entrecomilladas).
Coincidencia en términos generales, utilizando un comodín
tesla -motors "rock * roll"
Si quieres saber más sobre una banda llamado tesla, pero no te importa cómo se escribe exactamente “rock-n-roll“, “rock and roll“, “rock & roll” o lo que sea, puedes usar un asterisco (*
), que es un comodín para cualquier palabra.
Las sustituciones son más predecibles dentro de una coincidencia exacta (cuando se utilizan comillas), lo que te permite encontrar más o menos coincidencias cuando no puedes reducir tu consulta de búsqueda a una sola frase. El comodín (*
) sólo funciona a nivel de palabra. En las búsquedas de Google, no hay ningún comodín que represente un solo carácter.
Buscar palabras próximas entre ellas
tesla AROUND(3) edison
Si necesitas encontrar palabras que no sólo están presentes en un documento, sino que están próximas entre sí, utiliza el operador AROUND(X)
. Le dice a Google que sólo devuelva los resultados en los que haya dos palabras con una diferencia de X palabras.
Frases como “Tesla contra Edison” se muestran como coincidentes, mientras que los artículos en los que se menciona a ambas personas en párrafos diferentes no aparecerán en los resultados de la búsqueda.
Buscar frases coincidentes cercanas
"nikola tesla" AROUND(2) "thomas alva edison"
Puedes buscar frases exactamente coincidentes dentro de un rango determinado. Para ello, combina AROUND(X) con frases de coincidencia exacta (entre comillas).
AROUND(X) sólo funciona en los elementos inmediatamente anteriores o posteriores a la sentencia, por lo que debe utilizarse con cuidado cuando se combine con otras sentencias o frases que no sean coincidencias exactas.
Buscar en un sitio específico
Si sólo necesitamos buscar en un sitio, podemos hacerlo así:
site:esgeeks.com pdf
Esto mostrará todas las menciones de ‘pdf’ en esgeeks.com.
El operador “site:
” es un comando avanzado que te permite especificar un dominio concreto que deseas buscar.
“site:
” puede utilizarse con el dominio raíz y los subdominios. El operador “site:” puede combinarse con otros operadores y palabras clave.
- Buscar en esgeeks todos los artículos que mencionan a hacking:
site:esgeeks.com hacking
Buscar contenido en TLDs específicos
Busca en todas las páginas web .edu un documento que contenga “administracion linux pdf”:
site:".edu" administracion linux pdf
Con “site:
” no tienes que escribir todo el dominio. Por ejemplo, supongamos que quieres encontrar cualquier contenido con lecciones sobre sqli en los sitios web de las universidades. Para ello, especifica el dominio de nivel superior (TLD) “.edu”: (la siguiente búsqueda en idioma inglés ofrece mejores resultados que en español para el término sqli)
site:".edu" sqli lesson
El operador “site:
” no funciona con un nombre de dominio parcial. Sólo acepta nombres de dominio completos, subdominios, dominios raíz o dominios de nivel superior (TLD). Puedes utilizar dominios de primer nivel para países específicos “co.uk
“, “com.mx
” o “.es
“.
Buscar material en varios dominios de nivel superior
nikola tesla (site:gov OR site:edu)
Al igual que con las palabras clave, puedes combinar los operadores “site:
” con un OR lógico para buscar varios dominios de grupo.
Las búsquedas individuales suelen ser más fáciles y menos confusas, pero este ejemplo es sólo para ilustrar que se pueden utilizar varios operadores avanzados simultáneamente, creando expresiones de búsqueda complejas.
Búsqueda por sinónimos y significados aproximados
Google entiende el significado de tu consulta y no busca sobre la base de la coincidencia exacta, también los resultados de la búsqueda contienen textos con sinónimos. Por ello, los resultados pueden ser demasiado vagos. Es importante tenerlo en cuenta: por defecto busca sinónimos, palabras con formas diferentes y palabras con mayúsculas y minúsculas.
Utilizar la coincidencia exacta para bloquear los sinónimos
"descuento pasajes avión"
Esta es otra situación en la que las coincidencias exactas pueden ayudar. No sólo le dice a Google que busque la frase completa, sino que también evita las coincidencias amplias de cualquier tipo, incluidos los sinónimos.
Obviamente, los resultados pueden seguir conteniendo sinónimos (esto es normal en los contenidos escritos de forma natural), pero el uso de coincidencias exactas garantiza que haya al menos una aparición de “descuento pasajes avión” en cada uno de los resultados de la búsqueda.
Coincidencia exacta de una sola palabra
"vuelo" económico
Esto puede parecer superfluo a primera vista, pero puedes aplicar una coincidencia exacta para una sola palabra. En este caso, Google no devolverá resultados con sinónimos de una sola palabra.
Es decir, Google buscará la palabra “económico
” de diferentes formas (por ejemplo, “barato”, “bajo precio”, “rebajado”), pero todos los resultados tendrán forzosamente la palabra “vuelo
” en esa forma (sin “pasaje”, “tarifa aérea”, etc.). Utiliza una coincidencia exacta de una sola palabra cuando quieras excluir variantes de esa palabra.
Buscar sólo el texto de la página
Factores de relevancia secundaria
Si busca una frase exacta que no se encuentra en ninguna página, o hay muy pocos resultados, Google puede mostrar resultados basados en factores de relevancia secundaria. Ejemplo: mostrar una página que no contiene el texto que se busca, pero que está enlazada por un enlace saliente con un texto ancla relevante.
En estos casos raros se puede utilizar el operador “intext:
“. Esto hace que Google busque el texto en el cuerpo del documento (lo que está dentro de la etiqueta HTML body).
intext:"Codificador vs Programador vs Desarrollador"
Buscar todas las palabras clave en el texto
allintext: Codificador Programador Desarrollador
¿Y si quieres encontrar un conjunto de palabras, pero no tienen que ser una frase con una coincidencia exacta? Puedes utilizar un operador “intext:
” por separado para cada palabra o utilizar “allintext:
“, que indica a Google que aplique “intext:
” a todas las palabras que siguen al operador.
Todos los resultados tendrán palabras objetivo en el cuerpo del texto, en diferentes combinaciones u orden. Ten mucho cuidado al mezclar “allintext:
” (o cualquier otro operador como “allin…:“) con otros comandos, o puedes obtener resultados inesperados. El operador “allintext:
” intentará manejar automáticamente todo lo que venga después.
Búsqueda por título de la página (nombre)
intitle:"tesla vs edison"
Utiliza el operador “intitle:
” para especificar que la palabra clave o frase (entre comillas) debe aparecer en el título del documento.
Comprobación de varias palabras clave en un titular
intitle:tesla intitle:vs intitle:edison
Si quieres buscar páginas con títulos que contengan varias palabras dadas, pero no quieres limitarte a una coincidencia exacta, puedes utilizar varios operadores “intitle:
” simultáneamente. Si hay muchas palabras, la consulta puede volverse difícil de manejar, afortunadamente hay una manera más sencilla…
Búsqueda simple de varias palabras en el título
allintitle: tesla vs edison
Al igual que “allintext:
“, existe el operador “allintitle:
“. Hará que se busquen todas las coincidencias de las siguientes palabras clave.
Los dos últimos términos de búsqueda son equivalentes. Pero, de nuevo, ten cuidado al utilizar “allintitle:
” con otros operadores, ya que intentará absorber todo lo que le sigue.
Buscar frases exactas y palabras individuales en el título
intitle:"google hacking" intitle
El operador “intitle:
” permite buscar por coincidencia exacta una frase (entrecomillada) y combinarla con palabras individuales que pueden estar en cualquier parte del título.
Búsqueda por título y texto
intitle:"google hacking" "esgeeks.com"
Puedes buscar tanto el título como el texto de un artículo al mismo tiempo. Los resultados de la búsqueda mostrarán las páginas que cumplen ambos requisitos. Puedes utilizar tanto frases comunes como frases de coincidencia exacta (como en el ejemplo anterior). ¡Inténtalo!
Búsqueda por rango
intitle:"top 7..9 hechos" tesla
Operador de rango ..
(dos puntos) permite especificar rangos específicos de números. Los rangos se especifican sin espacios, es decir, un dígito, luego dos puntos a la vez, luego otro dígito.
intitle:"top 7..9 hechos" "nikola tesla"
Buscar artículos con el título exacto
intitle:"Guía Completa sobre el Uso de dirsearch"
Utiliza el operador “intitle:” con un título que coincida exactamente (entre comillas) para encontrar material específico.
Búsqueda por título, excluyendo sitios
intitle: "Guía completa de Linux" -site:esgeeks.com
Utiliza el signo menos (-
) con el operador “site:
” para excluir determinados sitios.
Buscar un texto único y de coincidencia exacta
"Autopsy es una herramienta de código abierto que se utiliza para realizar operaciones forenses en la imagen de disco de las evidencias" -site:esgeeks.com
Otra opción para encontrar documentos idénticos, es buscar una coincidencia exacta para una frase larga y única. También es posible excluir algunos sitios web.
Búsqueda de un texto único en sólo texto
intext: "Autopsy es una herramienta forense digital de código abierto desarrollada por Basis Technology"
Si quieres estar absolutamente seguro de que el texto único está presente en el cuerpo del documento, puedes utilizar el operador “intext:
“. Puede utilizarse con operadores (y sus negaciones) como site: y otros.
De hecho, cuando se busca una coincidencia exacta para una frase, “intext:
” suele devolver resultados similares a los de una búsqueda sin él. “intext:” resulta útil cuando se obtienen resultados extraños o se quiere estar absolutamente seguro de que sólo se busca en el cuerpo del texto.
Encontrar una cita de la que no estás seguro
tipos de empresas las que han sido hackeadas y las que no
Si estás buscando una cita larga, pero no estás seguro de si la recuerdas correctamente, puedes confiar en Google: ingresa sin comillas y es muy probable que veas la opción correcta.
Buscar en todas las páginas de un sitio: Mostrar el índice del sitio (todas las páginas)
site:esgeeks.com
Puedes buscar artículos y archivos específicos en un sitio concreto utilizando el operador site:
Este operador puede combinarse con otros, así como con la búsqueda de una frase exacta. O puedes utilizarlo por sí mismo, que mostrará todas las páginas que Google conoce.
Buscar en todos los sitios menos en uno
Inyección SQL -site:wikipedia.org -site:esgeeks.com
Si está interesado en los resultados de cualquier sitio, pero de uno o más específicos, utiliza -site:
Puedes especificar varios sitios a excluir.
Buscar un subdominio específico
chat site:waplain.growuz.com
Recuerda que puedes utilizar “site:
” con el subdominio completo.
Por supuesto, con “-site:
” también puedes excluir un subdominio específico.
Búsqueda por palabra clave, sitio y título
sql site:esgeeks.com intitle:vulnerabilidad
Puedes combinar diferentes operadores y encontrar exactamente lo que necesitas.
Buscar sitios similares
related:esgeeks.com
Si quieres encontrar sitios similares, o información sobre sitios similares que no sean uno específico, puedes utilizar el operador “related:
“.
El operador “related:” es impresionante cuando funciona. Recuerda que sólo funciona para ciertos nichos y generalmente para sitios grandes. Por cierto, es uno de los pocos operadores de búsqueda de Google que no puede utilizarse simultáneamente con otros operadores.
Buscar contenido en una ruta específica
pdf site:nasa.gov/upload
Puedes utilizar el operador “site:
” para especificar rutas de acceso a sitios concretos.
Recuerda que esto sólo funciona para las URL que siguen directamente al nombre del dominio. Entonces, ¿cómo puedo buscar texto en otras partes de la URL?
Buscar en carpetas del sitio
hackaton inurl:2022
Por suerte, Google tiene un operador “inurl:
” que permite buscar en parte de la dirección de la página.
Buscar por rango de fechas
google dorking daterange:2458272-2459598
Si quieres limitar tu búsqueda a un rango de fechas específico, existe el operador “daterange:
“, que, en teoría, te permite especificar las fechas de publicación.
Lamentablemente, en los resultados orgánicos normales las fechas de publicación no siempre son precisas, y en la práctica “daterange:
” devuelve resultados bastante extraños. También puedes notar que se utiliza un formato de fecha bastante extraño. El operador “daterange:” utiliza el formato de fecha juliana. Por ejemplo, el día 18 de enero de 2022 es 2459597.5 en fecha juliana.
Buscar en un amplio rango de fechas
google dorking 2020..2022
Si no necesitas una precisión especial en el rango de fechas, utiliza el operador de rango ..
(dos puntos) con años. Los años suelen ser lo suficientemente únicos como para que los resultados sean bastante relevantes.
Ten en cuenta que esta no es una búsqueda especial de fechas, es algo complicado. Por desgracia, el operador de rango no siempre funciona correctamente cuando se combina con “inurl:
” y otros operadores avanzados.
Buscar por tipo de archivo específico
"seguridad de la información" filetype:pdf
El operador “filetype:
” permite especificar una extensión de archivo, por ejemplo, PDF. En el ejemplo anterior estamos interesados en buscar archivos PDF que contengan la frase exacta “seguridad de la información“.
El operador “filetype:
” permite especificar diferentes tipos de archivos. También puedes probar con “doc”, “docx”, “rtf” (Word), “xls”, “xlsx” (Excel), “ppt”, “pptx” (PowerPoint) y “txt” (archivos de texto). También puede utilizar “filetype:” para especificar ciertas opciones de páginas web, como “html”, “htm”, “php”, “asp”, etc. Ten en cuenta que la extensión del archivo debe especificarse normalmente en la URL, por lo que estas consultas no son exhaustivas.
Búsqueda dentro del texto de anclaje
inanchor: "Email Temporal"
Puedes utilizar el operador “inanchor:
” para buscar dentro del texto ancla. Por ejemplo, la consulta de búsqueda anterior busca sitios enlazados desde sitios que utilizan la frase “Email Temporal” en el texto de anclaje.
Recuerda que el operador “inanchor:
” sólo representa una pequeña muestra del índice y ya no es apoyado activamente por Google.
Búsqueda de múltiples palabras dentro del texto ancla
allinanchor: tesla anuncia "model x"
Como todas las demás variaciones de “allin…“, “allinanchor:
” se aplica a todas las palabras que le siguen, buscando todas estas palabras en el texto ancla, pero no como una coincidencia exacta.
Los operadores de búsqueda de anclaje (“inanchor:”, “allinanchor:”) pueden ser útiles para tu investigación inicial, pero no esperes que sean completa y exactamente representativos de todos los enlaces a tu sitio o al de tus competidores.
Filtrar el subdominio “www”
site:esgeeks.com -inurl:www
Para profundizar en el índice del sitio, la combinación de “site:
” con “inurl:
” se convertirá rápidamente en tus mejores amigos. Por ejemplo, tal vez quieres ver las páginas que no están incluidos en el subdominio “www
“. Puedes usar “site:
” junto con la coincidencia negativa del operador “inurl:
“:
Si se selecciona una versión con www como nombre canónico (la forma en que se ve la dirección predeterminada), verás rápidamente nuevos subdominios (si los hay). Esto puede servir como un buen punto de partida para profundizar más en el estudio de la estructura del sitio.
Filtrar múltiples subdominios
site:amazon.com -inurl:www -inurl:aws -inurl:developer -inurl:kdp
Este concepto se puede ampliar bastante restringiendo constantemente las búsquedas para excluir cada vez más dominios.
Se pueden utilizar docenas de expresiones con “inurl:
” – no se sabe si hay algún límite en el número, pero la mayoría de los sitios no necesitarán tantas de todos modos. Tenlo en cuenta por si lo necesitas.
Buscar un solo subdominio
site:en.kali.tools
Puedes centrarte en un solo subdominio. Para buscar en un solo subdominio, es preferible utilizar el operador “site:
“. Porque el uso de “site:
” puede encontrar el texto en cualquier parte de una URL.
Puedes ampliar este concepto buscando tanto en subdominios como en carpetas al mismo tiempo.
site:en.kali.tools/all
Filtrar páginas inseguras
site:amazon.com -inurl:https
Lo interesante es que se puede utilizar “inurl:
” para incluir o excluir las páginas seguras (https:) de los resultados.
Si estás convirtiendo un sitio de “http:
” a “https:
” este truco puede ayudarte a que las nuevas páginas se indexen correctamente y las antiguas desaparezcan gradualmente del índice.
Búsqueda por parámetro URL
site:amazon.com inurl:hacking-etico
Puedes utilizar “inurl:” para apuntar al parámetro URL de una página dinámica.
Recuerda que no hay forma de especificar exactamente el parámetro de la URL: Google puede encontrar el texto en cualquier parte de la URL. Pero la buena noticia es que los parámetros suelen tener nombres únicos.
Búsqueda por múltiples atributos de URL
allinurl: amazon hacking etico
Al igual que “allintitle:
” y “allintext:
” existe un operador “allinurl:
“. En este ejemplo, está buscando páginas de búsqueda interna en Amazon que tengan la palabra “Nikon” en la URL:
Por desgracia, “allinurl:
” tiene dos problemas. Una de ellas es que no se puede combinar de forma fiable con “site:
“, lo que limita las opciones. La segunda es que tiende a devolver resultados extraños. En la mayoría de los casos se recomienda utilizar varios “inurl:
” en su lugar.
Búsqueda de archivos de texto perdidos
site:esgeeks.com filetype:txt -inurl:robots.txt
Es posible que te preguntes si has olvidado archivos de documentos en algún lugar del sitio que Google pueda haber recogido. Puedes comprobarlo mediante una combinación de “site:
” y “filetype:
“.
El ejemplo excluye el archivo “robots.txt” de los resultados (utilizando “-inurl:
“).
Esta combinación es una buena manera de limpiar los archivos que se dejaron accidentalmente en el sitio.
Encontrar páginas duplicadas en un sitio web
site:amazon.com "hacking ético"
Utilizando el operador “site:
” con una frase de coincidencia exacta puedes encontrar páginas duplicadas o muy similares.
Buscar encabezados duplicados
site:amazon.com intitle:"hacking ético"
Usando “site:
” más “intitle:
” puedes encontrar páginas en el sitio que pueden ser completos duplicados.
Encontrar títulos duplicados con exclusión
site:amazon.com intitle:"hacking ético" -inurl:review -inurl:reviews
Al buscar, puedes agrupar diferentes operadores, logrando el nivel de precisión deseado.
Encontrar el dominio en otras zonas de dominio
site:esgeeks.* -site:esgeeks.com
Esta es una forma rápida y sencilla de encontrar nombres de dominio registrados en otras zonas de dominio (TLD).
Información de la página
info:esgeeks.com
Con info:
puedes obtener una breve información sobre la página. En la mayoría de los sitios se muestra simplemente una cita aleatoria de la página de interés y su título.
Encontrar la versión en caché del sitio
cache:esgeeks.com/google-hacking-google-dorking/
Esto no es realmente una búsqueda, el comando cache:
es la capacidad de ver una versión en caché del sitio. Es decir, si el sitio ha cambiado recientemente, es posible que la versión anterior se haya almacenado en la caché.
Búsqueda para Hackers en Google
Google permite analizar un sitio de destino sin ni siquiera hacer una consulta en él. A través de Google se pueden encontrar sitios vulnerables, así como información sensible. Veamos algunos ejemplos de hackeo con Google.
Buscar carpetas del sitio web con contenido abierto para ver
Encuentra carpetas que te permiten ver su contenido, para un sitio específico:
intitle:"index of /" Parent Directory site:sitioweb.com
En este ejemplo y en los siguientes, en lugar de sitioweb.com, escriba el sitio web que te interesa.
Ejemplo:
intitle:"index of /" site:cancilleria.gob.ec
Busca cualquier sitio que te permita ver el contenido de las carpetas:
intitle:"index of /" Parent Directory
O así:
intitle:"index of /"
Encontrar carpetas de administración con un índice abierto
Buscar carpetas de administración, cuyo contenido se puede ver, en un sitio web determinado:
intitle:"Index of /admin" site:sitioweb.com
Busca cualquier sitio con la carpeta admin abierta para navegar:
intitle:"Index of /admin"
Buscar carpetas de contraseñas con un índice abierto
Buscar carpetas de contraseñas abiertas en el sitio objetivo:
intitle:"Index of /password" site:sitioweb.com
En cualquier sitio:
intitle:"Index of /password"
Búsqueda de directorios de correo con índice abierto
Buscar directorios de correo en un sitio específico:
intitle:"Index of /mail" site:sitioweb.com
En cualquier sitio:
intitle:"Index of /mail"
Además de las carpetas enteras con información sensible o con un índice abierto para navegar, se pueden buscar archivos con información sensible.
Buscar archivos con información interesante, como passwd
En el sitio de destino:
intitle:"Index of /" passwd site:sitioweb.com
En cualquier sitio:
intitle:"Index of /" passwd
Buscar archivos password.txt
Los archivos de texto están disponibles para su descarga y un archivo llamado password.txt (contraseña), puede contener las credenciales de acceso. Búsqueda por sitio objetivo:
intitle:"Index of /" password.txt site:sitioweb.com
En cualquier sitio:
intitle:"Index of /" password.txt
Buscar archivos htaccess
En un sitio web concreto:
intitle:"Index of /" .htaccess site:sitioweb.com
En cualquier sitio:
intitle:"Index of /" .htaccess
Buscar archivos por extensión
Los sitios web pueden tener todo tipo de archivos abandonados. Y no es infrecuente que las carpetas del sitio se utilicen para compartir archivos, para compartir ficheros. Algunas de estas carpetas pueden formar parte de una red local y no estar destinadas al acceso público. Sin embargo, pueden aparecer en el índice porque Google rastrea los hosts, incluso por dirección IP.
Volveremos a buscar archivos con diferentes extensiones más adelante. A continuación, se muestra un ejemplo de cómo buscar archivos con la extensión .mdb (base de datos de Microsoft Access) en un sitio concreto:
intitle:"index of ftp" .accdb site:sitioweb.com
En cualquier sitio:
intitle:"index of ftp" .accdb
Buscar en las páginas de administración y de inicio de sesión
Busca páginas que contengan las palabras “login” “admin” en su título en un sitio concreto:
Intitle: "login" "admin" site:sitioweb.com
Presta atención a las barreras lingüísticas regionales:
site:sitioweb.com ingresar
Utiliza también inurl
junto con las palabras admin, login, etc. para buscar paneles de control.
Buscar páginas que contengan la palabra admin en un sitio web determinado:
inurl:admin site:sitioweb.com
Buscar páginas que contengan la palabra login en un sitio web determinado:
inurl:login site:sitioweb.com
Buscar archivos
El operador filetype permite buscar archivos con extensiones específicas. Dependiendo del propósito, puedes buscar documentos de texto, fotos, archivos de configuración, archivos de sistema, etc.
- Buscar archivos de texto que contengan la palabra passwd en una URL en un sitio web específico:
inurl:passwd filetype:txt site:sitioweb.com
- Buscar archivos db que contengan admin en la URL del dominio de destino:
inurl:admin filetype:db site:sitioweb.com
- Búsqueda de registros en el dominio de destino
filetype:log site:sitioweb.com
- Búsqueda de archivos Excel y csv en el dominio de destino:
filetype:xls csv site:sitioweb.com
Para reducir el tiempo de búsqueda, puedes buscar en varias extensiones a la vez, utilizar el OR lógico y usar paréntesis:
site:sitioweb.com (inurl:pdf OR inurl:mp4 OR inurl:avi OR inurl:log)
Puedes especificar muchas extensiones y agruparlas, por ejemplo, buscar en todos los documentos, buscar en todos los archivos, buscar en los medios, etc. Con estas grandes construcciones se puede comprobar rápidamente el sitio de destino en busca de archivos olvidados:
site:sitioweb.com (inurl:doc OR inurl:docx OR inurl:rtf OR inurl:xls OR inurl:xlsx OR inurl:ppt OR inurl:pptx)
Buscar subdominios
Puedes utilizar Google para encontrar los subdominios de un sitio web. No es la forma más rápida o fiable, y sólo funciona bien para sitios con una www en el nombre canónico, como www.kali.org. A veces es mejor utilizar un programa diseñado para este fin para encontrar subdominios. Pero como alternativa, es útil conocer esta característica.
Por ejemplo, estamos interesados en www.kali.org, así que hacemos la primera consulta:
site:kali.org -site:www.kali.org
Encuentra los primeros subdominios:
- tools.kali.org
- git.kali.org
- forums.kali.org
Realiza la siguiente consulta, excluyendo de la búsqueda los subdominios encontrados:
site:kali.org -site:www.kali.org -site:tools.kali.org -site:git.kali.org -site:forums.kali.org
Encuentra los siguientes subdominios:
- docs.kali.org
- cdimage.kali.org
- pkg.kali.org
- http.kali.org
- security.kali.org
También los excluyes de la búsqueda. Y así continuas hasta excluir (y encontrar) todos los subdominios.
La ventaja de esta forma de enumerar subdominios:
- no nos delatamos: el objetivo no puede saber de nuestra actividad
- el resultado está clasificado por Google: lo más público está arriba, lo más “interesante” está abajo
- como los datos aquí son asimilados de varias fuentes, podemos encontrar algo interesante
Buscar hosts en puertos específicos
Con inurl: puedes buscar sitios, hosts que utilicen puertos específicos. Para reducir los resultados falsos, puedes especificar el nombre del servicio en ese puerto:
inurl:10000 webmin
Puedes obtener resultados más precisos utilizando inurl:
junto con la negación -intext
de la búsqueda:
inurl:8080 -intext:8080
Ejemplo: buscar routers D-Link:
inurl:8080 intitle:"D-LINK SYSTEMS"
Buscar errores en la base de datos
La búsqueda de errores comunes en las bases de datos permitía encontrar sitios con diferentes RDBMS e incluso sitios vulnerables a la inyección SQL, por ejemplo.
Aparentemente, Google ahora excluye de sus resultados de búsqueda las páginas que han sido afectadas por un error. En los resultados del buscador hay un sinfín de foros con soluciones al mismo problema…
Aun así, se puede encontrar algo interesante.
Buscar en los volcados de la base de datos
"# Dumping data for table"
Añade username, password, admin y cosas similares para hacerlo aún más interesante.
Buscar contraseñas de conexión a la base de datos
filetype:inc intext:mysql_connect
En este ejemplo estamos buscando archivos con la extensión .inc
. Este es un nombre común para los archivos a incluir (incorporar) en el código. En estos archivos buscamos el texto mysql_connect
– código para conectarse a la base de datos. Es decir, buscamos archivos de código fuente que contengan conexión al SGBD que requiera contraseña. En consecuencia, podemos encontrar archivos con contraseñas del sistema de gestión de bases de datos MySQL.
La conexión a MySQL se puede hacer de muchas maneras diferentes – incluso PHP tiene varias extensiones para ello. Son posibles muchas opciones diferentes, por ejemplo:
filetype:inc intext:"new mysqli"
filetype:inc intext:"mysqli_init();"
filetype:inc intext:"= new PDO("
filetype:inc intext:"->db_connect();"
intext:DB_PASSWORD filetype:env
También deberías experimentar con el tipo de archivo: prueba con .txt
, .php
, etc.
Búsqueda de contraseñas en volcados de bases de datos
CREATE USER 'user'@'host' IDENTIFIED BY 'password';
IDENTIFIED BY va seguido de la contraseña del usuario. Para buscar vertederos que puedan tener una contraseña:
filetype:sql "Identified by" -csv
Otra opción basada en una sintaxis alternativa:
filetype:sql "Identified by" ("Grant * on *" | "create user")
Buscar archivos de configuración de OpenVPN
Utilizando estos archivos, es posible conectarse a los servidores OpenVPN de otras personas:
filetype:ovpn
Buscar servidores FTP
inurl:ftp:// "Index of"
Búsqueda de certificados del sitio
inurl:/wp-includes/certificates/
Búsqueda de código fuente con contraseñas
"pwd=" "UID=" ext:inc
Este es sólo uno de los muchos ejemplos: usa tu creatividad. Las extensiones de los archivos pueden ser diferentes.
Búsqueda de documentos con contraseña
(filetype:xls OR filetype:xlsx) inurl:password
Observa que se utiliza un OR lógico, así como paréntesis. Así, se buscan los archivos con la extensión xls o xlsx, que contienen la palabra password en la dirección del archivo.
Puedes buscar diferentes tipos de archivos:
(filetype:odt OR filetype:doc OR filetype:docx) inurl:password
Búsqueda de claves de acceso SSH
¿Fuerza bruta, vulnerabilidades, ingeniería social? ¡Deja de agonizar! Solo tienes que coger las llaves del servidor:
intitle:"Index of" id_dsa
Búsqueda de cámaras web
Vende tu televisor: si quieres ver algo, tendrás suficiente para mantenerte ocupado durante mucho tiempo. El número de cámaras disponibles libremente es muy elevado. El número de tontos para encontrarlos también es muy grande. Sólo algunos ejemplos:
inurl:/view/viewer_index.shtml
inurl:jpegpull.htm
inurl:"mjpg/video.cgi?resolution="
inurl:control/camerainfo
intitle:"webcamXP 5" -download
inurl:/mjpg/video.mjpg
Alternativas en formato compacto
Este Dork está buscando FTP con una lista abierta de archivos. Lo principal es observar cómo se escriben las alternativas de filetype
– resulta que no es necesario escribirlas muchas veces. Usando este formato, puede reducir significativamente el tamaño de la consulta y hacerla más legible:
inurl:~/ftp://193 filetype:(php | txt | html | asp | xml | cnf | sh) ~'/html'
Google Hacking Database (GHDB)
Es hora de parar simplemente porque tiene que haber un final en algún sitio.
Un flujo prácticamente inagotable de ejemplos de búsqueda de lugares vulnerables: https://www.exploit-db.com/google-hacking-database/
Puedes seleccionar una de las subcategorías para buscar:
- Footholds – Marcadores de posición
- Files Containing Usernames – Archivos que contienen nombres de usuario
- Sensitive Directories – ЧArchivos que contienen nombres de usuario
- Web Server Detection – Descubrimiento del servidor web
- Vulnerable Files – Archivos vulnerables
- Vulnerable Servers – Servidores vulnerables
- Error Messages – Mensajes de error
- Files Containing Juicy Info – Archivos que contienen contraseñas
- Files Containing Passwords – Archivos con contraseñas
- Sensitive Online Shopping Info – Información sensible sobre las compras en línea
- Network or Vulnerability Data – Datos de la red o de la vulnerabilidad
- Pages Containing Login Portals – Páginas de acceso
- Various Online Devices – Diferentes dispositivos en línea
- Advisories and Vulnerabilities – Consejos y vulnerabilidades
Google Dorks
Una gran selección de interesantes Google Dorks: https://kali.tools/files/dorks/google.txt
Uso de Google para navegar por sitios web de forma anónima
El Traductor de Google puede utilizarse como proxy anónimo para acceder a un sitio web:
http://translate.google.com/translate?hl=es&sl=sq&tl=es&u=esgeeks.com
https://esgeeks.com.translate.goog/?_x_tr_sl=sq&_x_tr_tl=es&_x_tr_hl=es
En lugar de esgeeks.com
inserta la dirección de la página que deseas ver.
Otra opción es utilizar el operador de caché:
cache:esgeeks.com
Una vez más, recuerda que las imágenes se pueden cargar desde el sitio. En el libro Johnny Long. Google Hacking for Penetration Testers está escrito que es así – las imágenes se descargan desde el servidor original. Para evitarlo hay que añadir &strip=1
al final de la URL en caché para que sólo muestre el texto de Google y no se cargue nada del servidor original. De nuevo, no he probado esto, y el libro en sí mismo está en gran parte desactualizado, tenlo en cuenta y analiza el tráfico tú mismo.
Compra la versión digital de esta guía como apoyo para seguir ofreciendo contenido de calidad:
Palabras Finales
Como puedes ver en la lista anterior, hay muchos operadores, y cada uno tiene sus propias características. Te recomendamos que te tomes el tiempo de analizar todos los aspectos de cada operador y que intentes realizar diferentes búsquedas, con esto tu comprensión de este buscador en su conjunto crecerá. Hay una razón por la que mencionamos una sección de Búsqueda para Hackers con Google. Hay una fase de recopilación de información en el proceso de hackear un sistema particular por los hackers, es el uso de Google con operadores tan poderosos que realmente puede traer una gran cantidad de resultados útiles.