Escolar Documentos
Profissional Documentos
Cultura Documentos
Google - Ferramenta de Ataque (E Defesa) A Sistemas PDF
Google - Ferramenta de Ataque (E Defesa) A Sistemas PDF
Instituto de Matemtica
Departamento de Cincia da Computao
Grupo de Resposta a Incidentes de Segurana
A verso mais recente deste documento pode ser obtida na pgina oficial do GRIS
Este documento Copyright 2004 GRIS. Ele pode ser livremente copiado desde que sejam respeitadas as seguintes
condies:
permitido fazer e distribuir cpias inalteradas deste documento, completo ou em partes, contanto que esta nota de
copyright e distribuio seja mantida em todas as cpias, e que a distribuio no tenha fins comerciais. Se este documento
for distribudo apenas em partes, instrues de como obt-lo por completo devem ser includas. vedada a distribuio de
verses modificadas deste documento, bem como a comercializao de cpias, sem a permisso expressa do GRIS.
Embora todos os cuidados tenham sido tomados na preparao deste documento, o GRIS no garante a correo absoluta
das informaes nele contidas, nem se responsabiliza por eventuais conseqncias que possam advir do seu uso.
Sumrio
! "# $
! "% $ & '
! " $ ( ) *
! " $ & + *
! ", $ - *
! " $ ) .
! "' $ / - 0 .
! "* $ 1 2 3 - 4 5 #6
#6
78 ##
9 - ##
2
Introduo:
raro encontrar algum hoje em dia que use a Internet e no conhea a ferramenta de busca
"Google". Trata-se de um fenmeno da Internet atual devido especialmente a sua rpida resposta,
algoritmos sensatos de classificao de pginas e sua enorme base de dados. Mas para ter essa base de
dados, o Google (e ferramentas de busca em geral) no se preocupa em discriminar paginas e arquivos
pblicos de dados sensveis, contando apenas com a boa administrao de cada servidor para impedir a
incluso de dados sensveis nos resultados de buscas.
muito fcil utilizar o Google e outras ferramentas de busca para encontrar o que se deseja na
Internet: basta digitar uma ou outra palavra chave, apertar o boto de busca e esperar os resultados. O
sistema retornar pginas que tenham TODAS as palavras fornecidas, dando preferncia s mais bem
classificadas, e quelas cujas palavras chave fornecidas estejam mais prximas entre si. Para restringir
sua busca, simplesmente adicione mais palavras. Para buscar por frases especficas, escreva a frase
entre aspas duplas () e pronto. O que muita gente no sabe que o Google oferece ainda uma srie de
recursos para pesquisas avanadas e refinamento de resultados, e so esses os recursos que veremos
agora.
Incluso e excluso:
Como visto anteriormente, o Google retorna pginas que contenham todas as palavras
fornecidas. No entanto, muitas palavras comuns (como com, a, etc.) so ignoradas por aumentarem
consideravelmente o tempo de busca e raramente influenciarem nos resultados. Alm disso, o Google
nunca diferencia letras maisculas de minsculas em suas buscas, e por padro no considera
acentuao. Para garantir que a palavra no seja descartada na busca, ou para garantir que ela ser
buscada com ou sem acentuao, exatamente como foi escrita (diferenciando mao de mo, por
exemplo, mas sem diferenciar mo de Mo), adicione o smbolo + imediatamente antes da
palavra ou frase, sem espaos entre ela e o +, mas com espao entre cada palavra. possivel ainda
adicionar termos que voc no quer que apaream nos resultados atravs do smbolo , e buscar por
pginas que contenham um ou outro termo, atravs da palavra reservada OR, que deve ser sempre
escrita em maisculas ou como o smbolo de barra vertical ( | ). Entrar com a busca, por exemplo,
3
+segurana linux OR windows -"mac OS"
retornar pginas que contenham a palavra segurana escrita com acento, os termos linux ou
windows (aceitando pginas que contenham pelo menos um desses termos), mas que no tenham a
expresso mac OS.
possvel ainda utilizar parntesis para agrupar termos a serem incluidos ou excluidos na pesquisa.
Curingas:
O Google no aceita a utilizao de smbolos especiais (tambm chamados de curingas) como
a interrogao (?) e o asterisco (*) para obter resultados variados. Pesquisar por seg*, por exemplo,
no far o Google procurar por seguro ou segurana.
No entanto, os caracteres ponto (.) e asterisco (*) tem uma funo especial no Google. O
primeiro um substituto para um nico caractere, e o segundo para uma nica palavra. Se voc quiser,
por exemplo, buscar pelos termos
+uma*sensata
O Google vai retornar pginas que contenham frases como uma abordagem sensata, uma medida
sensata, uma maneira sensata, etc. J o ponto indica que apenas um caractere separa as duas
palavras, e geralmente usado para indicar espaos ou caracteres especiais de escape. Note que no
devem ser colocados espaos entre os termos e os curingas.
Operadores avanados:
Um dos recursos mais poderosos do Google e ao mesmo tempo desconhecido pela maioria dos
usurios so os ditos operadores avanados. Tais operadores ajudam a refinar sua busca de maneira
impressionante e possuem a seguinte sintaxe:
operador:termo_de_busca
Note que no devem ser colocados espaos entre o operador, o dois pontos e o termo de busca. Os
diferentes operadores so:
- SITE: busca por termos que apaream em qualquer ponto do endereo, incluindo caminho completo
da pgina.
- INURL: busca por termos contidos em qualquer ponto da URL, sem considerar o caminho relativo.
- FILETYPE: exibe apenas arquivos com a extenso especificada (.html, .php, .exe, .pdf, etc). O ponto
(.) no precisa ser includo.
4
- INTITLE: busca por termos que apaream no ttulo da pgina, ou seja, entre os comandos HTML
<title> e </title>. Esse o texto que costuma aparecer no topo da janela de seu navegador Web.
Outros operadores:
- INTEXT: Procura por termos contidos apenas no corpo de texto da pgina, sem considerar termos no
ttulo ou em links da mesma.
- NUMRANGE: Esse operador foi recentemente substitudo por uma sintaxe mais simples. Agora,
para procurar por pginas que contenham uma faixa qualquer de nmeros, basta digitar
PRIMEIRO..LTIMO, onde PRIMEIRO o nmero inicial, e LTIMO o final. Procurar, por
exemplo, por 100..200 vai retornar todas as pginas que contenham pelo menos um nmero dentro
dessa faixa.
- DATERANGE: busca apenas por pginas indexadas pelo Google em um intervalo entre duas datas
diferentes. O valor da data, no entanto, deve ser fornecido na forma conhecida como Data Juliana,
um nmero inteiro que indica o nmero de dias passados desde 1 de janeiro de 4713 a.C. Um conversor
instantneo de datas pode ser encontrado em http://www.24hourtranslations.co.uk/dates.htm.
Para utiliz-lo, modifique o dia, ms e ano desejado no campo Greg. Cal., e utilize o valor retornado
na caixa Julian Date. At a data de publicao deste artigo esse operador no era completamente
funcional e nem sempre retornava o esperado.
- INANCHOR: busca por termos contidos nos links da pgina, ou seja, na palavra ou frase exibida
entre os comandos HTML <a ...> e </a> das pginas.
- LINK: exibe pginas que contenham links para uma determinada URL, que deve ser passada como
parmetro para essa opo. Essa opo extremamente til para saber que pginas referenciam um
determinado stio ou pgina web.
- CACHE: exibe a verso armazenada pelo Google de uma determinada URL, que deve ser passada
como parmetro para essa opo.
- RELATED: busca por pginas similares (na opinio dos algoritmos de busca do Google) a pgina
indicada na URL que deve ser passada como parmetro para essa opo.
5
- INFO: exibe algumas informaes que o Google possui sobre a URL indicada, que deve ser passada
como parmetro para essa opo.
Alguns operadores admitem o prefixo ALL, para indicar que todas as palavras a seguir
devem ser includas na busca daquele operador. Por exemplo, buscar por ALLINTITLE:gama beta
alfa (sem as aspas) vai retornar as pginas cujo ttulo possui os trs termos, independentemente da
ordem em que aparecem.
Nota: importante observar que a maioria dos ataques e tcnicas aqui exemplificados no so nenhuma
novidade. Existem registros sobre alguns destes que datam de 2001, o que indica que usurios
maliciosos vm explorando tais caractersticas de sistemas de busca a mais tempo ainda.
Para encontrar servidores extras dentro do mesmo domnio, subtraia o domnio principal da busca
anterior. No exemplo, podemos entrar com
6
inurl:google.com inurl:www.google.com
para listar diversos subdomnios dentro de google.com (como, por exemplo, images.google.com,
gmail.google.com, desktop.google.com, etc).
retorna uma lista de servidores que esto exibindo a pgina padro do Apache. Para procurar por
pginas padro do IIS, poderamos buscar por
intitle:welcome.to.IIS.4.0
ou variaes como
7
Ataque #3 Listagem de diretrios
Configurar servidores adequadamente pode ser uma tarefa bastante confusa, e de fato muitos
administradores cometem erros na hora de determinar que diretrios do sistema podem ou no ser
acessados via Internet. Alm disso, servidores costumam permitir a listagem dos arquivos e
subdiretrios dentro de um diretrio que possa ser acessado mas no tenha a pgina de nome padro
(geralmente index.html, embora isso possa ser modificado nas configuraes do servidor). Isso
permite que usurios maliciosos procurem por listagem de diretrios sensveis em seu servidor, ou
ainda por arquivos especficos dentro de seu sistema, que podem ser acessados pelo nome mesmo que
seu servidor esteja configurado para no listar o contedo de diretrios (desde que, claro, o servidor
tenha permitido acesso ao arquivo devido a m configurao do servidor). possvel, por exemplo,
buscar por
intitle:index of/admin
intitle:index of .htpasswd
intitle:index of backup
Ataque #4 Senhas
Muitos servidores mal configurados tornam pblicos seus arquivos de registro (logs),
permitindo assim que usurios maliciosos obtenham senhas de sistemas (muitas vezes com privilgios
de administrador) sem trabalho algum, bastando buscar por
filetype:log inurl:"password.log"
Conhecendo um pouco da estrutura de arquivos de uma base de dados SQL, possvel ir diretamente
atrs de arquivos que contenham senhas, como por exemplo atravs da busca:
8
possvel ainda identificar bancos de dados vulnerveis a ataques de injeo de SQL, ao
pesquisarmos por mensagens de erro que tipicamente denunciam esse problema:
retorna desde pginas exemplo at relatrios reais, que indicam as vulnerabilidades encontradas em
determinados servidores, que colocaram os relatrios das ferramentas (como o nessus ou o ISS, do
exemplo acima) em uma rea pblica.
http://translate.google.com/translate_t
podemos digitar uma URL qualquer e o Google far a traduo da pgina de acordo com o idioma
desejado. O procedimento simples: O Google acessa a pgina, traduz, e retorna ela para voc. Na
prtica, voc no fez nenhuma conexo direta pgina desejada, e o Google atuou como um web proxy
para voc. O nico problema desse procedimento que voc precisaria traduzir a pgina desejada de
algum idioma para outro, e visualiz-la somente no idioma destino. No entanto, isso pode ser
facilmente contornado. A sintaxe retornada pelo Google para as tradues no seguinte formato:
http://translate.google.com/translate?u=PAGINA&langpair=LANG1|LANG2
onde PAGINA a URL completa desejada, LANG1 o cdigo para o idioma original da pgina, e LANG2
o cdigo para o idioma destino. Manipulando esses valores, podemos colocar o mesmo idioma como
origem e destino, e assim ver a pgina em seu idioma original, utilizando o Google como web proxy.
Para ver o contedo da pgina do GRIS (em portugus) atravs do Google, basta digitar
http://translate.google.com/translate?u=http://www.gris.dcc.ufrj.br
&langpair=pt|pt
9
Idiomas identificados pelo Google at a data de publicao deste documento so:
de (alemo)
es (espanhol)
fr (francs)
it (italiano)
pt (portugus)
us (ingls)
http://algumhost/cgi-bin/script.pl?p1=`ataque`
http://algumhost:54321/ataque?`id`
http://algumhost/AAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Repare que possvel ainda manipular a sintaxe das URLs para mandar o agente acessar o servidor
alvo em portas especficas (na segunda linha de exemplo, mandamos ele acessar a porta 54321).
Existem muitas outras formas de ataque possveis atravs de mecanismos de busca. Sabendo o
que procurar, possvel utilizar o Google para encontrar informaes que vo de dados de um servidor
at senhas de banco e nmeros de carto de crdito.
10
O procedimento de verificao acima pode ser automatizado atravs da utilizao de
ferramentas gratuitas disponibilizadas na Internet, dentre elas o sitedigger, da Foundstone, que pode
ser obtido em:
http://www.foundstone.com/resources/proddesc/sitedigger.htm
http://www.sensepost.com/research/wikto/
http://www.google.com/webmasters/
e seguindo as indicaes. Naturalmente, para remover a referncia a um servidor, voc precisar provar
que o administrador do mesmo.
Bibliografia:
Pgina oficial do Google
URL: http://www.google.com
Long, J. You Found That on Google? Gaining awareness about Google Hackers. Palestra
ministrada durante o evento Blackhat/Defcon 2004.
URL: http://johnny.ihackstuff.com/security/premium/BH2004FINAL.htm
11