Google Hacking para Pentest

Page 1

Johnny Long | Bill Gardner | Justin Brown

Novatec


Copyright © 2016, 2008, 2005 Elsevier Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangement with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). This edition of Google Hacking for Penetration Testers by Johnny Long, Bill Gardner, Justin Brown is published by arrangement with ELSEVIER INC., a Delaware corporation having its principal place of business at 360 Park Avenue South, New York, NY 10010, USA. Nenhuma parte desta publicação pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer armazenamento de informação e sistema de recuperação, sem permissão por escrito da editora. Detalhes sobre como pedir permissão, mais informações sobre as permissões de políticas da editora e o acordo com organizações como o Copyright Clearance Center e da Copyright Licensing Agency, podem ser encontradas no site: www.elsevier.com/permissions. Este livro e as contribuições individuais contidas nele são protegidos pelo Copyright da Editora (além de outros que poderão ser aqui encontrados). Esta edição do livro Google Hacking for Penetration Testers de Johnny Long, Bill Gardner, Justin Brown é publicada por acordo com a Elsevier Inc., uma corporação de Delaware estabelecida no endereço 360 Park Avenue South, New York, NY 10010, EUA. Editor: Rubens Prates PY20160531 Assistente editorial: Priscila A. Yoshimatsu Tradução: Aldir José Coelho Corrêa da Silva Revisão gramatical: Smirna Cavalheiro Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-507-3 Histórico de impressões: Junho/2016

Primeira edição

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec PY20160531


capítulo 1

Fundamentos da busca do Google

Introdução A interface web do Google é inconfundível. Ela é limpa e simples. Não é à toa que sua aparência é protegida por direitos autorais. O que a maioria das pessoas não percebe é que ela também é extremamente poderosa. No decorrer deste livro veremos como você pode usar o Google para revelar coisas surpreendentes. Entretanto, como acontece com quase tudo na vida, antes de correr é preciso aprender a andar. Este capítulo examinará os fundamentos da busca do Google. Começaremos explorando a poderosa interface baseada na web que tornou a palavra Google conhecida em todos os lares. Até mesmo os usuários mais avançados do Google ainda usam a interface baseada na web em grande parte de suas consultas diárias. Após aprender como percorrer e interpretar os resultados das diversas interfaces, examinaremos as técnicas básicas de busca. Conhecer as técnicas básicas de busca nos ajudará a construir uma base sólida para derivar consultas mais avançadas. Você aprenderá como usar apropriadamente os operadores booleanos (AND, NOT e OR) e a explorar o poder e a flexibilidade do agrupamento de pesquisas. Também conheceremos a implementação exclusiva do Google para vários caracteres curinga. Por fim, estudaremos a sintaxe que estrutura o Localizador Uniforme de Recurso (URL) no Google.

11


12

Google Hacking para Pentest

Aprender os detalhes da estrutura de URL do Google permite mais velocidade e flexibilidade na execução de uma série de consultas relacionadas. Veremos que a estrutura de URL fornece um excelente “atalho” para o intercâmbio de buscas interessantes com amigos e colegas.

Explorando a interface baseada na web do Google Página de busca na web do Google A principal página web do Google, mostrada na Figura 1.1, pode ser encontrada em www.google.com. A interface é conhecida por suas linhas limpas, pela apresentação agradavelmente sóbria e pelo leiaute amigável.

Figura 1.1

Embora inicialmente a interface pareça relativamente sem recursos, veremos que muitas funções de busca diferentes podem ser executadas já a partir da primeira página. Como mostrado na Figura 1.1, há um único local para a digitação. Trata-se do campo de busca. Para fazer uma pergunta ou consulta no Google, você só precisa digitar o que está procurando e pressionar Enter (se seu navegador der suporte a essa ação) ou clicar no botão de busca para ser levado para a página de resultados da consulta.


Capítulo 1 ■ Fundamentos da busca do Google

13

Página de resultados do Google Após o Google processar uma consulta, ele exibe uma página de resultados. Essa página lista os resultados da busca e fornece links de páginas web que contêm o texto pesquisado. A parte superior da página de resultados é semelhante à página principal de busca na web. Observe os links Images, Video, News, Maps e Gmail no topo da página. Ao clicar nesses links em uma página de busca, reenviamos a pesquisa automaticamente como outro tipo de busca sem precisar redigitar a consulta. A linha de resultados exibe que resultados estão sendo exibidos (1-10, nesse caso), o número total aproximado de ocorrências (aqui, mais de 8 milhões), a consulta propriamente dita (incluindo links para a pesquisa de palavras individuais em dicionários) e quanto tempo demorou a execução. Com frequência, a velocidade da consulta é ignorada, mas ela é surpreendente. Até mesmo consultas extensas resultando em milhões de resultados são retornadas em menos de um segundo. Para cada entrada da página de resultados, o Google lista o nome do site. Ele é seguido por um resumo do site, geralmente com as primeiras linhas de conteúdo, o URL da página que coincidiu com o termo da pesquisa, o tamanho da página e a data da última vez em que ela foi rastreada, um link de cache exibindo a aparência da página na última vez em que foi rastreada e um link conduzindo a páginas com conteúdo semelhante. Se a página de resultados estiver em um idioma diferente do padrão, e o Google der suporte à tradução dessa linguagem para a linguagem-padrão definida na tela de preferências, um link chamado Translate this page aparecerá, permitindo que você leia uma tradução aproximada da página em seu idioma (Figura 1.2).

Figura 1.2


14

Google Hacking para Pentest

Google Groups Devido ao aumento da popularidade dos fóruns de discussão, blogs, mailing lists e tecnologias de mensagem instantânea baseados na web, o mais antigo entre os fóruns públicos, os newgroups da USENET, se tornou uma forma obsoleta de discussão pública online. Milhares de usuários ainda fazem postagens na USENET diariamente. (Uma explicação completa sobre o que compõe a USENET pode ser encontrada em www.faqs.org/faqs/usenet/what-is/part1/.) O DejaNews (www.deja.com) já foi considerado o ponto de coleta autoritativo de todas as mensagens de newsgroups passadas e presentes até o Google adquirir o deja.com em fevereiro de 2001 (consulte www.google.com/press/pressrel/pressrelease48.html). Essa aquisição permitiu que os usuários pesquisassem o arquivo inteiro de mensagens da USENET postadas desde 1995 via interface de busca simples e direta do Google. Agora, o Google chama os grupos da USENET de Google Groups. Atualmente, os usuários da internet do mundo todo usam o Google Groups para discussões gerais e resolução de problemas. É muito comum profissionais de Tecnologia da Informação (TI) procurarem na seção de grupos do Google respostas para todos os tipos de problemas relacionados à tecnologia. A antiga comunidade USENET continua existindo por trás da elegante interface do mecanismo de busca do Google Groups. A busca do Google Groups pode ser acessada com um clique na guia Groups da página web principal do Google ou pelo acesso a http://groups.google.com. A interface de busca (mostrada na Figura 1.3) tem uma aparência bem diferente das de outras páginas de busca do Google, porém, os recursos de busca funcionam de maneira muito semelhante. A principal diferença entre a página de busca dos grupos e a página web de busca está nos links de navegação de newsgroups.


Capítulo 1 ■ Fundamentos da busca do Google

15

Figura 1.3

Busca de imagens do Google O recurso de busca de imagens do Google permite pesquisar mais de um bilhão de arquivos gráficos (quando este texto foi escrito) que atendam aos critérios da busca. O Google tentará localizar os termos da pesquisa no nome de arquivo, na legenda, no texto da imagem e/ou em outros locais ocultos para retornar uma lista relativamente não repetida de imagens que atendam aos critérios. A busca de imagens opera de maneira idêntica à pesquisa na web, exceto por alguns termos de pesquisa avançados, que discutiremos no próximo capítulo. O cabeçalho da página parece familiar, mas contém acréscimos exclusivos na página de resultados. O link Moderate do SafeSearch abaixo do campo de busca permite a exibição ou não de imagens que possam ser sexualmente explícitas. A caixa suspensa Showing (localizada na linha Results) permite filtrar os resultados por tamanho. Abaixo do cabeçalho, cada imagem encontrada é exibida no modo miniatura com a resolução e o tamanho originais, seguidos pelo nome do site que a hospeda.


16

Google Hacking para Pentest

Preferências no Google Você pode acessar a página Preferences clicando no link de mesmo nome em qualquer página de busca do Google ou navegando para www.google.com/preferences. As opções se referem principalmente a configurações de idioma e localidade. A opção Interface Language descreve o idioma que o Google usará ao exibir dicas e mensagens informativas. Além disso, essa configuração controla o idioma do texto exibido em itens de navegação do Google, como botões e links. O Google presumirá que a opção selecionada aqui é seu idioma nativo e “falará” com você nesse idioma sempre que possível. Definir essa opção não é o mesmo que usar os recursos de tradução do Google (discutidos na próxima seção). Páginas web criadas em francês continuarão aparecendo em francês, independentemente do que for selecionado nessa configuração. Para ter uma ideia de como as páginas web seriam alteradas pela mudança do idioma da interface, examine a Figura 1.4, e verá a página principal do Google renderizada em “linguagem leet”. Além de alterar essa configuração na tela de preferências, você pode acessar diretamente todas as interfaces do Google específicas de idiomas na tela Language Tools em www.google.com/language_tools.

Figura 1.4


Capítulo 1 ■ Fundamentos da busca do Google

17

Por padrão, o Google sempre tentará localizar páginas web criadas em qualquer idioma. Mesmo com sua página web principal agora sendo renderizada em “linguagem leet”, o Google ainda procura páginas web criadas em qualquer idioma. Se quiser localizar páginas web criadas em um idioma específico, modifique a configuração Search Language na página de preferências. A filtragem do SafeSearch impede que conteúdos de sexo explícito apareçam em buscas na web. Embora essa seja uma opção bem-vinda em buscas diárias na web, ela deve ser desativada quando você estiver executando buscas como parte de uma avaliação de vulnerabilidade. Se houver conteúdo de sexo explícito em um site cujo conteúdo principal não seja de natureza sexual, a existência desse material pode ser de interesse do proprietário do site. A configuração Number of Results descreve quantos resultados serão exibidos em cada página de resultados. Essa opção é individual e dependerá de seu gosto pessoal e da velocidade de sua conexão com a internet. No entanto, você pode descobrir rapidamente que a configuração-padrão de 10 resultados por página não é suficiente. Se estiver em uma conexão relativamente rápida, deve configurar essa opção com 100, o número máximo de resultados por página como mostrado na Figura 1.5.

Figura 1.5


18

Google Hacking para Pentest

Quando marcada, a configuração Results Window abre os resultados da busca em uma nova janela do navegador. Essa configuração é pessoal e baseada no gosto individual. Marcá-la ou desmarcá-la não deve produzir efeitos negativos a menos que seu navegador (ou algum outro software) detecte a nova janela como um anúncio pop-up e a bloqueie. Se notar que suas páginas de resultados não estão sendo exibidas após você clicar no botão Search, pode ser recomendável desmarcar essa configuração em suas preferências. Como mencionado no fim desta página, essas alterações não permanecerão a não ser que você tenha ativado cookies em seu navegador.

Language Tools A tela Language Tools, acessada a partir da página principal do Google, oferece vários utilitários para a localização e a tradução de páginas web criadas em outros idiomas. Se você raramente procura páginas web escritas em outros idiomas, pode ser inapropriado modificar suas preferências antes da execução desse tipo de busca. A primeira parte da tela Language Tools permite executar uma busca rápida de documentos escritos em outros idiomas ou de documentos localizados em outros países. A tela também inclui um utilitário que executa serviços básicos de tradução. O formulário de tradução nos permite colar um bloco de texto a partir da área de transferência ou fornecer o endereço web de uma página para o Google traduzir para vários idiomas. Além das opções de tradução disponíveis nessa tela, o Google integra opções de tradução às páginas de resultados. As opções de tradução disponíveis na página de resultados são baseadas nas opções de idioma definidas na tela Preferences. Em outras palavras, se o idioma de sua interface estiver configurado com inglês, e uma página web listada em um resultado da busca estiver em francês, o Google lhe dará a opção de traduzir essa página para o idioma de sua preferência, ou seja, inglês. A lista de traduções disponíveis é mostrada na Figura 1.6.


Capítulo 1 ■ Fundamentos da busca do Google

19

Figura 1.6

Construindo consultas no Google A construção de consultas no Google é um processo. Simplesmente não existe algo como uma busca incorreta. É possível criar uma busca ineficaz, mas com o crescimento estrondoso da internet e o tamanho crescente do cache do Google, uma consulta que seja ineficiente hoje pode fornecer bons resultados amanhã – ou no próximo mês ou ano. O que norteia a criação de uma pesquisa eficaz no Google é a obtenção de um conhecimento sólido da sintaxe básica e então a descoberta de técnicas eficientes de estreitamento do escopo. Aprender a sintaxe de consulta do Google é a parte fácil. Saber como estreitar o escopo das buscas de maneira eficaz pode demorar um pouco e demandar alguma prática. A busca das informações desejadas na grande quantidade de sites acabará se dando naturalmente.

As regras básicas da busca no Google Antes de discutir a busca no Google, precisamos conhecer algumas das regras básicas:


20

Google Hacking para Pentest

As consultas do Google não diferenciam maiúsculas de minúsculas O Google não detecta se a consulta foi digitada em letras minúsculas (hackers), em letras maiúsculas (HACKERS), em camel case (hAcKeR) ou em um outro formato qualquer (haCKeR). A palavra é sempre considerada da mesma forma. Isso é particularmente importante na busca de itens como listagens de código-fonte, quando a caixa das letras do termo tem um significado especial para o programador. A única exceção digna de nota é a palavra “or”. Quando usada como operador booleano, “or” deve ser escrita em maiúsculas, como em OR.

Curingas no Google O conceito de curingas no Google não é o mesmo que para um programador. A maioria das pessoas considera os curingas como uma representação simbólica de qualquer letra individual (os usuários do Unix pensam logo no ponto de interrogação) ou como uma série de letras representada por um asterisco. Esse tipo de técnica chama-se stemização. O curinga do Google, o asterisco (*), não representa nada além de uma única palavra da frase da busca. O uso de um asterisco no início ou no fim de uma palavra não fornecerá mais resultados que com o uso da própria palavra.

O Google se reserva o direito de nos ignorar O Google ignora certas palavras e caracteres comuns assim como dígitos individuais em uma consulta. Esses elementos também são chamados de stop words. Conforme o documento de busca básico (www.google.com/help/basics.html), entre essas palavras estão where e how. No entanto, na verdade parece que o Google as inclui na busca. Por exemplo, uma busca com WHERE 1 = 1 retorna menos resultados que uma busca com 1 = 1. Isso indica que WHERE está sendo incluída na busca. Uma busca contendo where pig retorna bem menos resultados que a busca simplesmente por pig, o que novamente indica que o Google inclui palavras como how e where. Às vezes, essas stop words são ignoradas silenciosamente. Uma busca com HOW 1 = WHERE 4 retorna o mesmo número de resultados da busca por 1 = WHERE 4. Isso parece indicar que a palavra HOW é irrelevante para os


Capítulo 1 ■ Fundamentos da busca do Google

21

resultados da busca e que o Google a ignorou silenciosamente. Não há regras óbvias para a exclusão de palavras, mas em algumas situações em que o Google ignora um termo da pesquisa, uma notificação é exibida na página de resultados imediatamente abaixo da caixa de consulta.

Limite de 32 palavras O Google limita as pesquisas a 32 palavras, o que está acima do limite anterior de 10 palavras. Isso inclui os termos da pesquisa e os operadores avançados, que discutiremos em breve. Embora esse limite seja suficiente para a maioria dos usuários, há maneiras de ultrapassá-lo. Uma delas é substituir alguns termos pelo caractere curinga (*). O Google não conta o caractere curinga como um termo da pesquisa, o que permite estendê-la um pouco mais. Considere uma consulta que buscasse as palavras que iniciam a Constituição dos Estados Unidos: “We the people of the United States in order to form a more perfect union establish justice.” (“Nós, o povo dos Estados Unidos, a fim de formar uma união mais perfeita, estabelecer a justiça”). Essa frase tem 17 palavras. Se substituirmos algumas delas pelo asterisco (o caractere curinga) e enviarmos a pesquisa como “we * people * * united states * order * form * more perfect * establish *” (“nós * povo * * estados unidos * fim * formar * mais perfeita * * estabelecer *”) incluindo as aspas, o Google considerará isso como uma consulta de nove palavras com oito caracteres curinga não contados. Poderíamos estender nossa busca com mais duas palavras reais e qualquer número de curingas.

Busca básica A busca do Google é um processo cujo objetivo é encontrar informações sobre um tópico. O processo começa com uma busca básica, que é modificada de várias maneiras até que somente páginas de informações relevantes sejam retornadas. A tecnologia de classificação do Google ajuda nesse processo inserindo as páginas de maior importância na primeira página de resultados. Os detalhes desse sistema de classificação são complexos e especulativos, mas isso é tudo que precisamos saber. Raramente o Google nos dá exatamente o que necessitamos após uma única pesquisa.


22

Google Hacking para Pentest

A consulta mais simples do Google é composta por uma única palavra ou uma combinação de palavras individuais digitadas na interface de busca. Alguns exemplos de pesquisas básicas seriam: • hacker • FBI hacker Mitnick • mad hacker dpak A busca de uma expressão é um pouco mais complexa que a de palavras. Uma expressão é um grupo de palavras inseridas em aspas duplas. Quando o Google encontra uma expressão, ele procura todas as palavras na ordem exata em que foram fornecidas. Ele não exclui palavras comuns encontradas na expressão. Algumas buscas de expressões poderiam ser: • “Google hacker” • “adult humor” • “Carolina gets pwnt” As buscas de expressões e palavras podem ser combinadas e usadas com operadores avançados, como veremos no próximo capítulo.

Usando operadores booleanos e caracteres especiais Mais avançadas que as buscas de palavras, as buscas de expressões continuam sendo uma forma básica de consulta no Google. Para executar consultas avançadas, é necessário conhecer os operadores booleanos AND, OR e NOT. A segmentação apropriada das diversas partes de uma consulta avançada no Google também requer o conhecimento de técnicas de agrupamento visual com o uso de parênteses. Para concluir, combinaremos essas técnicas com caracteres especiais que possam representar operadores, caracteres curinga ou placeholders. Se você já usou outro mecanismo de busca, provavelmente conhece os operadores booleanos. Eles ajudam a especificar os resultados que serão retornados por uma consulta. Se está familiarizado com os operadores booleanos, leia esta seção para conhecer sua implementação específica no Google, porque muitos mecanismos de busca os manipulam de maneiras diferentes. O uso inapropriado desses operadores pode alterar drasticamente os resultados retornados.


Capítulo 1 ■ Fundamentos da busca do Google

23

O operador booleano mais usado é AND. Ele é empregado na inclusão de vários termos em uma consulta. Por exemplo, uma consulta simples como a busca por hacker poderia ser expandida com o operador booleano da consulta hacker AND cracker. Essa consulta incluiria não só páginas sobre hackers, mas também sites que falassem sobre os biscoitos que porventura eles comem. Alguns mecanismos de busca requerem o uso desse operador, mas não o Google. O termo AND é redundante para ele. Por padrão, o Google procura automaticamente todos os termos incluídos na consulta. Na verdade, ele o avisará quando você incluir termos que sejam obviamente redundantes. O símbolo de adição (+) força a inclusão da palavra que vem depois dele. Não deve haver espaço após o símbolo. Por exemplo, se você procurar “and”, “justice”, “for” e “all” como palavras distintas separadas, o Google avisará que várias delas são comuns e serão excluídas da busca. Para forçar o Google a procurar essas palavras comuns, anteceda-as com o sinal de adição. Não há problemas em exagerar no uso do sinal. Não serão produzidos efeitos indesejados se ele for usado excessivamente. Para executar a busca com a inclusão de todas as palavras, considere uma consulta como +and justice for +all. As palavras também podem ser inseridas em aspas duplas. Geralmente isso força o Google a incluir todas as palavras comuns na expressão. Essa consulta apresentada como uma expressão teria a seguinte forma: “and justice for all”. Outro operador booleano comum é NOT. Funcionalmente oposto ao operador AND, o operador NOT exclui uma palavra da busca. A melhor maneira de usá-lo é antecedendo a palavra com o sinal de subtração (-). Certifique-se de não deixar espaços entre o sinal e o termo da pesquisa. Suponhamos uma busca simples, como a de hacker. A consulta é muito genérica e retornará resultados para todos os tipos de ocupações, como golfistas, lenhadores, serial killers e doentes de bronquite crônica. Com esse tipo de consulta, provavelmente você não está interessado em todos os significados que a palavra hacker pode assumir e sim em uma interpretação mais específica do termo. Para estreitar a pesquisa, inclua mais termos que o Google combinará automaticamente, ou use NOT para remover alguns deles. Para retirar os caracteres menos interessantes de sua busca, considere usar consultas como hacker -golf ou hacker -phlegm. Isso lhe permitirá chegar mais próximo dos lenhadores que procura.


24

Google Hacking para Pentest

Um operador booleano menos comum e por vezes mais confuso é OR. O operador OR, representado pelo símbolo pipe (|) ou simplesmente pela palavra OR em maiúsculas, instrui o Google a localizar um dos termos de uma consulta. Embora isso pareça fácil se considerarmos uma consulta simples, como “evil cybercriminal” ou hacker, tudo pode ficar terrivelmente confuso quando você encadear uma série de ANDs, ORs e NOTs. Para ajudar a amenizar a confusão, pense na consulta como uma frase lida da esquerda para a direita. Esqueça o que aprendeu em álgebra sobre a ordem das operações. Para nosso fim, AND tem o mesmo peso de OR, que tem o peso de um operador avançado. Esses fatores podem afetar a classificação ou a ordem de exibição dos resultados da pesquisa na página, mas não afetam como o Google manipula a consulta. Examinaremos um exemplo complexo, cuja mecânica será discutida no Capítulo 2: intext:password | passcode intext:username | userid | user filetype:csv. Esse exemplo usa operadores avançados combinados com o operador booleano OR para criar uma consulta escrita como um pedido polido. O pedido diz: “localize todas as páginas que tenham a senha ou o código de entrada no texto do documento. Dessas páginas, mostre-me apenas as que contêm as palavras username, userid ou user no texto e, entre elas, mostre-me apenas os documentos que sejam arquivos CSV”. O Google não se confundirá com o fato de que tecnicamente esses símbolos OR dão à consulta todos os tipos de interpretações possíveis. Para ele não importa que, do ponto de vista da álgebra, a consulta esteja sintaticamente errada. Para aprender como criar consultas, a única coisa da qual precisamos lembrar é que o Google lê a consulta da esquerda para a direita. A abordagem definida pelo Google para a combinação de operadores booleanos ainda é muito confusa para os leitores. Felizmente, o Google permite o uso de parênteses (que não o afetam). A consulta anterior também poderia ser enviada na forma intext:(password | passcode) intext:(username | userid | user) filetype:csv. Essa consulta é infinitamente mais legível para nós humanos e produz os mesmos resultados da consulta mais confusa sem parênteses.


Capítulo 1 ■ Fundamentos da busca do Google

25

Redução da busca Para obter os resultados mais relevantes, com frequência você precisará estreitar sua busca modificando a consulta. Embora o Google tenda a fornecer resultados muito relevantes para buscas mais básicas, começaremos examinando buscas mais complexas destinadas a localizar um subconjunto reduzido de sites. Grande parte deste livro aborda técnicas e sugestões de redução de busca, mas é importante que você conheça pelo menos os aspectos básicos da redução. Como um exemplo simples, examinaremos o GNU Zebra, um software livre que gerencia protocolos de roteamento baseados no Transmission Control Protocol (TCP)/Internet Protocol (IP). O GNU Zebra usa um arquivo chamado zebra.conf para armazenar definições de configuração, que incluem informações de interface e senhas. Se baixarmos a última versão do Zebra a partir da web, veremos que o exemplo de arquivo zebra.conf incluído tem essa aparência: ! -*- zebra -*! ! zebra sample configuration file ! ! $Id: zebra.conf.sample,v 1.14 1999/02/19 17:26:38 developer Exp $ ! hostname Router password zebra enable password zebra ! ! Interface's description. ! ! interface lo ! description test ofdesc. ! ! interface sit0 ! multicast ! ! Static default route sample. ! ! ip route 0.0.0.0/0 203.181.89.241 ! !log file zebra.log


26

Google Hacking para Pentest

Para tentar localizar esses arquivos com o Google, poderíamos executar uma busca simples usando, por exemplo: “! Interface’s description.” Isso é o que chamamos de busca básica. As

buscas básicas devem ser rigorosamente exclusivas para chegar o mais próximo possível dos resultados desejados, porque, como lembra o provérbio, “entra lixo, sai lixo”. Basear-se em uma busca básica insatisfatória invalidará todo o esforço que você empregará na redução. Nossa busca básica é exclusiva não só porque demos ênfase às palavras Interface’s e description, mas também porque incluímos o ponto de exclamação, os espaços e o ponto após a expressão como parte da busca. Essa é a sintaxe que o próprio arquivo de configuração usa, logo, parece um ótimo ponto de partida. No entanto, o Google tomou algumas liberdades, tornando os resultados pouco adequados, como mostrado na Figura 1.7, na procura por arquivos zebra.conf. Adicionaremos então esse acréscimo à nossa busca para ajudar a estreitar os resultados. A próxima consulta ficará assim: “! Interface’s description.” zebra.conf.

Figura 1.7

Como mostra a Figura 1.8, os resultados são diferentes, mas não necessariamente melhores.


Capítulo 1 ■ Fundamentos da busca do Google

27

Figura 1.8

Para começar, está faltando o resultado do SeattleWireless que obtivemos na primeira busca. Era um resultado válido, mas já que o arquivo de configuração não foi nomeado como zebra.conf (foi nomeado como ZebraConfig), nossa busca “melhorada” não o detectou. Essa é uma ótima lição a se aprender sobre a redução da busca: não tome atalhos deixando de fora resultados válidos. Esses arquivos de amostragem podem tornar confusos os resultados válidos, logo, aperfeiçoaremos a consulta, reduzindo-a a resultados que contenham a expressão “sample”. Nossa nova consulta terá então a forma: “! Interface’s description.” – “zebra.conf.sample”. Agora devemos tomar o partido dos usuários do software apenas por um instante. Instalações de software como essa com frequência vêm com um exemplo de arquivo de configuração que ajuda a conduzir o processo de definição de uma configuração personalizada. A maioria dos usuários simplesmente edita esse arquivo, alterando apenas as configurações que precisam ser alteradas para seus ambientes, salvando o arquivo não como um arquivo .sample, mas como um arquivo .conf.


28

Google Hacking para Pentest

Nessa situação, o usuário poderia ter um arquivo de configuração ativo contendo ainda o termo zebra.conf.sample. Uma redução baseada nesse termo poderia remover arquivos de configuração válidos criados dessa forma. Há outra perspectiva para a redução que deve ser considerada. Nosso arquivo zebra.conf.sample continha o termo hostname Router. É provável que essa seja uma das configurações que o usuário mudará, embora estejamos supondo que sua máquina não se chame Router. Contudo, isso é menos arriscado que fazer a redução com base em zebra.conf.sample. Adicionar o termo de redução “hostname Router” à consulta diminuirá o número de resultados e direcionará nossa busca a possíveis exemplos de arquivo, tudo isso sem deixar de fora arquivos ativos. Mesmo sendo possível continuar a redução, costuma ser suficiente fazer apenas algumas reduções menores que possam ser validadas pelo exame visual que gastar muito tempo tentando produzir a redução de busca perfeita. Nossa consulta final (são quatro qualificadores para uma única palavra!) ficaria: “! Interface’s description.” – “hostname Router”. Essa não é a melhor consulta para a localização desses arquivos, mas é boa o suficiente para lhe dar uma ideia de como a redução de busca funciona. Como veremos no Capítulo 2, operadores avançados nos permitirão chegar ainda mais perto da consulta perfeita.

Trabalhando com URLs do Google Usuários experientes do Google tentam fazer consultas avançadas diretamente no campo de busca da interface web, refinando-as até que estejam corretas. Cada consulta do Google pode ser representada por um URL que aponte para a página de resultados. As páginas de resultados do Google não são estáticas. Elas são dinâmicas e são criadas durante o processo quando clicamos no botão Search ou ativamos um URL que as acesse. O envio de uma busca por intermédio da interface web conduz a uma página de resultados que pode ser representada por um URL. Por exemplo, considere a busca de ihackstuff. Uma vez que você digitar essa consulta, será levado a um URL semelhante ao seguinte: www.google.com/search?q=ihackstuff. Se você marcar esse URL como favorito e voltar a ele depois, ou simplesmente inserir o URL na barra de endereços de seu navegador, o Google reprocessará sua busca por ihackstuff e exibirá os resultados.


Capítulo 1 ■ Fundamentos da busca do Google

29

Esse URL será então não só uma conexão ativa para uma lista de resultados, mas também servirá como um adequado e compacto atalho para uma consulta no Google. Qualquer pesquisador experiente poderá examinar o URL para conhecer o assunto da busca. O URL também pode ser modificado muito facilmente. Se mudarmos a palavra ihackstuff para iwritestuff, a consulta do Google será alterada para encontrar o termo iwritestuff. Esse exemplo simples ilustra a utilidade dos URLs do Google na busca avançada. Uma pequena modificação no URL pode fazer alterações ocorrerem rapidamente!

Sintaxe do URL Para entender plenamente o poder do URL, precisamos conhecer sua sintaxe. A primeira parte do URL, www.google.com/search, é onde está localizado o script de busca do Google. Chamo esse URL, assim como o ponto de interrogação que o segue, de URL base ou inicial. Quando o acessamos, vemos uma página de consulta vazia. O ponto de interrogação após a palavra search indica que alguns parâmetros devem ser passados para o script de busca. Parâmetros são opções que instruem o script de busca a fazer algo. Eles são separados por um ampersand (&) e compostos por uma variável seguida pelo sinal de igualdade (=), que é seguido pelo valor com o qual a variável deve ser configurada. A sintaxe básica será semelhante a: www.google.com/search?variable1=value&variable2=value. Esse URL contém caracteres muito simples. URLs mais complexos conterão caracteres especiais, que devem ser representados por equivalentes em código hexadecimal. Faremos uma pausa para discutir a codificação hexadecimal.

Caracteres especiais A codificação hexadecimal é coisa de geeks, mas em algum momento você pode ter de incluir um caractere especial no URL de sua busca. Quando essa hora chegar, o melhor é deixar por conta do navegador. A maioria dos navegadores modernos ajusta o URL que foi digitado, substituindo caracteres especiais e espaços por equivalentes em código hexadecimal.


30

Google Hacking para Pentest

Se seu navegador der suporte a esse comportamento, será muito mais fácil construir URLs. Faça um teste simples: digite o URL a seguir na barra de endereços do navegador, certificando-se de usar espaços entre i, hack e stuff: www.google.com/search?q=“i hack stuff”. Se seu navegador der suporte ao recurso de autocorreção, após você pressionar Enter na barra de endereços, o URL deve ser corrigido para www.google.com/search?q=”i%20 hack%20stuff” ou algo semelhante. Observe que os espaços foram alterados para %20. O sinal de porcentagem indica que os dois dígitos seguintes são o valor hexadecimal do caractere especial, 20. Alguns navegadores levam a conversão um passo adiante, alterando também as aspas duplas para %22. Se o navegador se recusar a converter os espaços, a consulta não funcionará como esperado. Deve haver uma configuração no navegador que modifique esse comportamento. Se não houver, mexa-se e use um navegador moderno. O Internet Explorer, o Firefox, o Safari, o Chrome e o Opera são ótimas opções.

Juntando as peças Construir URLs de busca no Google é como unir peças de Lego. Há um URL inicial que modificamos conforme necessário para obter diferentes resultados na busca. Muitas vezes o URL-base vem de uma busca já enviada, via interface web do Google. Quando precisamos adicionar parâmetros, podemos adicioná-los diretamente no URL-base em qualquer ordem. Se precisarmos modificar parâmetros, podemos alterar seu valor e reenviar a busca. Se precisarmos remover um parâmetro, podemos excluir o parâmetro inteiro do URL e reenviar a busca. Esse processo é particularmente fácil quando modificamos o URL diretamente na barra de endereços do navegador. Basta fazer as alterações no URL e pressionar Enter. O navegador buscará o endereço automaticamente nos conduzindo a uma página de busca atualizada. Você poderia obter resultados semelhantes fazendo testes na página de busca avançada do Google (www.google.com/advanced_search), mostrada na Figura 1.9, e definindo preferências, como já discutido. Por fim, a maioria dos usuários avançados acha mais rápido e fácil fazer pequenos ajustes modificando diretamente o URL.


Capítulo 1 ■ Fundamentos da busca do Google

31

Figura 1.9

Um URL de busca do Google pode conter muitos parâmetros diferentes. Dependendo das opções selecionadas e dos termos de pesquisa fornecidos, você verá algumas ou todas as variáveis listadas. Esses parâmetros podem ser adicionados ou modificados conforme necessário para alterar os critérios da busca. Alguns parâmetros aceitam um código de restrição de idioma (lr, language restrict) como valor. O valor de lr instrui o Google a só retornar páginas escritas em um idioma específico. Por exemplo, lr = lang_ar só retorna páginas escritas em árabe. A variável hl altera o idioma das mensagens e links do Google. Ela é não é igual à variável lr, que restringe os resultados a páginas escritas em um idioma específico, nem é igual ao serviço de tradução, que traduz uma página de um idioma para outro. Para entender a diferença entre hl e lr, considere a busca por food reenviada como uma pesquisa lr, como mostrado na Figura 1.10. Observe que nosso URL é diferente: agora há bem menos resultados. Os resultados da busca estão escritos em dinamarquês, o Google adicionou um botão de busca de páginas em dinamarquês e as mensagens e links estão escritos em inglês. Ao contrário da opção hl, a opção lr altera os resultados da busca. Solicitamos ao Google para só retornar páginas escritas em dinamarquês.


32

Google Hacking para Pentest

Figura 1.10

A variável restrict é facilmente confundida com a variável lr, já que restringe a busca a um idioma específico. No entanto, restrict não tem nada a ver com idiomas. Essa variável nos dá a oportunidade de restringir os resultados da busca a um ou mais países, o que é determinado pelo nome do domínio de nível superior (.us, por exemplo) e/ou pela localização geográfica do endereço IP do servidor. Se você achou isso inexato, realmente é. Porém, embora seja inexata, essa variável funciona muito bem. Considere a busca por people, em que restringimos nossos resultados a JP (Japão), como mostrado na Figura 1.11.

Figura 1.11


Capítulo 1 ■ Fundamentos da busca do Google

33

O URL mudou para incluir o valor de restrict, mas observe que o segundo resultado é de www.unu.edu, cuja localização é desconhecida. Porém, como a barra lateral revela, o host parece estar localizado no Japão.

Resumo Na aparência, o Google é ilusoriamente simples, mas ele oferece muitas opções poderosas que proporcionam a base para buscas eficientes. Vários tipos de conteúdo diferentes podem ser pesquisados, inclusive páginas web, grupos de mensagens como a USENET, imagens, vídeo e muito mais. Iniciantes devem usar os formulários fornecidos para a execução de buscas, prestando bastante atenção nas mensagens e avisos sobre a sintaxe. Operadores booleanos, como NOT e OR, estão disponíveis pelo uso do sinal de subtração e da palavra OR (ou do símbolo |) respectivamente, enquanto o operador AND é ignorado, já que o Google inclui automaticamente todos os termos em uma busca. Opções de busca avançada estão disponíveis na página Advanced Search, que permite que os usuários estreitem os resultados da busca rapidamente. Usuários avançados do Google estreitam suas buscas usando consultas personalizadas, muita experiência e um respeitável bom senso.

Soluções para acesso imediato Examinando a interface baseada na web do Google

Há várias áreas de busca distintas no Google (que incluem buscas na web, de grupos, de vídeos e de imagens) e cada uma delas apresenta diferentes características de pesquisa e páginas de resultados. A página de busca na web, a essência do Google, é simples, otimizada e poderosa, permitindo a execução até mesmo das buscas mais avançadas. Uma busca do Google Groups nos permite pesquisar todos os posts passados e presentes dos newsgroups. O recurso de busca de imagens permite pesquisar quase um bilhão de imagens com o uso de palavras-chave.


34

Google Hacking para Pentest

As preferências e as ferramentas de idiomas do Google permitem a personalização da busca, o uso de serviços de tradução, buscas em idiomas específicos e muito mais. Construindo consultas no Google

A construção de consultas no Google é um processo que inclui determinar uma busca de base sólida e expandir ou reduzir a busca para a obtenção dos resultados desejados. Lembre-se sempre das regras básicas de busca no Google. Essas premissas essenciais servem como base para uma busca bem-sucedida. Quando usados corretamente, os operadores booleanos e os caracteres especiais ajudam a expandir ou a reduzir as buscas. Eles também podem ajudar a esclarecer uma busca para colegas que venham a ler suas consultas posteriormente. Trabalhando com URLs do Google

Uma vez que uma busca for enviada, você será levado à página de resultados do Google, cujo URL pode ser usado na modificação de uma busca ou para chamá-la novamente depois. Embora muitas variáveis diferentes possam ser definidas em um URL de busca do Google, a única que é realmente obrigatória é a variável q, ou query. Algumas opções de busca avançada como as_qdr (busca com restrição de data por mês), não podem ser definidas facilmente em outro lugar que não seja o URL. Links de sites www.google.com: Essa é a página web principal do Google, o ponto de

entrada para a maioria das buscas. http://groups.google.com: Página web do Google Groups. http://images.google.com: Busca de imagens e figuras no Google. http://video.google.com: Busca de arquivos de vídeo no Google. www.google.com/language_tools: Várias opções de idiomas e tradução. www.google.com/advanced_search: Formulário de busca avançada.


Capítulo 1 ■ Fundamentos da busca do Google

35

www.google.com/preferences: Página de preferências, que permite definir opções como o idioma da interface, o idioma da busca, a filtragem do SafeSearch e o número de resultados por página.

P: Algumas pessoas gostam de usar barras de ferramentas elegantes. Onde posso encontrar informações sobre as barras de ferramentas do Google? R: Pergunte ao Google. É verdade; se você não consulta o Google quanto tem alguma dúvida sobre ele, deve adquirir esse hábito. Quase sempre o Google consegue fornecer uma resposta quando sabemos construir a consulta. Aqui está uma lista de algumas ferramentas de busca populares do Google: Localização de ferramentas para plataformas

Mac Google Notifier, Google; www.google.com/mac.html Desktop, Google Sketchup, PC Google Pack (inclui barras de ferramentas de www.google.com/tools para o IE e para o Firefox, o Google Desktop e outras) Mozilla Browser Googlebar; http://googlebar.mozdev.org/ Firefox, Internet Groowe multiengine Toolbar; www.groowe.com/ Explorer P: Há alguma técnica que eu possa usar para aprender como construir URLs do Google? R: Sim. Há algumas maneiras. Primeiro, envie consultas básicas pela interface web e examine o URL que foi gerado quando você enviou a busca. Na página de resultados da busca, modifique um pouco a consulta e veja como o URL mudou quando ela foi enviada. Essas táticas podem ser resumidas como “faça, veja o que ocorreu e faça novamente”. A segunda maneira envolve usar programas “construtores de consulta” contendo uma interface gráfica que permita que você selecione as opções de busca que deseja, construindo um URL do Google ao navegar pela interface.


36

Google Hacking para Pentest

Dê uma olhada nos fóruns de hacking de mecanismos de busca em http://johnny.ihackstuff.com , principalmente no “cantinho dos codificadores” em que os usuários discutem programas que executam esse tipo de funcionalidade. Perguntas frequentes

As perguntas frequentes a seguir, respondidas pelos autores do livro, foram planejadas tanto para avaliar seu aprendizado nos conceitos apresentados neste capítulo quanto para ajudá-lo a implementá-los na vida real. Para que suas respostas sobre o capítulo sejam respondidas pelo autor, acesse www.syngress.com/solutions e clique no formulário Ask the Author. P: O que é melhor? Usar a interface do Google, usar barras de ferramentas ou escrever URLs? R: Não é justo dizer que uma técnica seja melhor que a outra. Isso depende de preferências pessoais e muitos usuários avançados do Google usam cada uma dessas técnicas de diferentes maneiras. Várias sessões demoradas do Google começam com uma simples consulta digitada na interface web de www.google.com. Dependendo do processo de estreitamento da busca, pode ser mais fácil aumentar ou diminuir a consulta diretamente no campo de busca. Em outras situações, como no caso do operador de intervalo de data (abordado no capítulo 2), é mais fácil adicionar um parâmetro as_qdr ao fim do URL. As barras de ferramentas são ótimas para dar acesso rápido a uma busca do Google enquanto navegamos em outra página. A maioria das barras de ferramentas permite marcar texto, clicar com o botão direito do mouse na página e selecionar Google search para enviar o texto selecionado como uma consulta para o Google. Que técnicas serão usadas vai depender de seu gosto pessoal e do contexto em que você executar as buscas.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.