Vous êtes sur la page 1sur 11

Universidade Federal do Rio de Janeiro

Instituto de Matemtica
Departamento de Cincia da Computao
Grupo de Resposta a Incidentes de Segurana

Rio de Janeiro, RJ Brasil










Google: Ferramenta de ataque
(e defesa) a sistemas
GRIS-2005-A-001

Breno Guimares de Oliveira









A verso mais recente deste documento pode ser obtida na pgina oficial do GRIS



GRIS Grupo de Resposta a Incidentes de Segurana
CCMN Bloco I 1 andar
Salas: I1021
Av. Brigadeiro Trompowski, s/n
Cidade Universitria - Rio de Janeiro/RJ
CEP: 21949-900
Telefone: +55 (21) 2598-3309




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.
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
2
Grupo de Resposta a Incidentes de Segurana


Sumrio

lnfoduo.......................................................3
Como o Goog1e func1ona........................................3
lnc1uso e Lxc1uso...........................................3
Cu1ngas......................................................4
Opeadoes avanados..........................................4
usando o Goog1e como feamenfa de afaque........................6
Afaque #1 - ldenf1f1cao de sev1does.......................6
Afaque #2 - 5ev1does neg11genc1ados.........................7
Afaque #3 - L1sfagem de d1ef1os............................
Afaque #4 - 5enhas............................................
Afaque #5 - Lxp1oando bancos de dados........................
Afaque #6 - Lxp1oando e1af1os de seguana................9
Afaque #7 - usando o Goog1e como um Web poxy.................9
Afaque # - Iazendo o goog1ebof 1ana afaques po voc.....10
usando o Goog1e paa se defende de afaques......................10
Consefando o esfago que fo1 fe1fo........................11
81b11ogaf1a.....................................................11




























Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
3
Grupo de Resposta a Incidentes de Segurana


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.


Como o Google funciona:

Existem atualmente duas principais vertentes de mecanismos de busca na Internet: as que
catalogam pginas sob demanda e as que fazem uso de pequenos programas de varredura conhecidos
como "agentes buscadores", "spiders" ("aranhas", em ingls), ou ainda "webcrawlers". O Google se
encaixa nessa ltima vertente. Seu agente, o googlebot, varre a Internet diariamente, adicionando e
removendo pginas em sua base de dados e dando uma pontuao a cada uma, de acordo
principalmente com a quantidade de referncias feitas a ela por outras pginas. Assim, quanto mais
referncias independentes a ela uma pgina tiver, mais importante ela ser considerada pelo Google, e
mais perto do topo da lista de resultados ela estar. Isso garante que os primeiros valores retornados por
sua busca sejam das pginas mais bem cotadas dentre todas as que contm as palavras que voc
procurou.

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,
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
4
Grupo de Resposta a Incidentes de Segurana


+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.

Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
5
Grupo de Resposta a Incidentes de Segurana


- 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.

Veja o diagrama seguir para melhor compreender o escopo de cada operador:


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.
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
6
Grupo de Resposta a Incidentes de Segurana


- 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.

At a data de publicao deste artigo existiam ainda os operadores PHONEBOOK para
pesquisar telefones (essencialmente dentro dos EUA), STOCKS, que busca pela cotao dos termos
passados na pgina de finanas do provedor de servios Yahoo, e DEFINE, para buscar por
definies de termos e expresses. O Google possui ainda uma calculadora embutida. Para us-la, basta
digitar uma expresso matemtica e aguardar a resposta. A calculadora tambm entende constantes e
faz converses entre bases, pesos e medidas. O uso dessas e outras caractersticas do Google no entra
no escopo deste artigo e, portanto, no ser abordado.


Usando o Google como ferramenta de ataque:

A utilizao de agentes buscadores para catalogar pginas, ao mesmo tempo em que aumenta
consideravelmente o nmero de respostas da ferramenta, traz o problema de muitas vezes catalogar
mais do que os administradores de pginas gostariam. Isso porque muitos servidores conectados a
Internet e, portanto, passveis de serem catalogados por agentes buscadores no foram configurados
de forma segura, contando apenas com o fato de no serem conhecidos para se protegerem. Assim, se
os agentes do Google encontrarem, por exemplo, arquivos sigilosos ao fazerem uma varredura nos
servidores de sua empresa, eles iro adicionar tais arquivos e pginas base de dados do Google na
primeira oportunidade, j que no so capazes de diferenciar o que pblico do que confidencial.
Dessa forma, muita informao sensvel pode ser encontrada, bastando que se saiba o que procurar.
No bastasse isso, o Google armazena no cache uma verso da sua pgina ou arquivo, de modo que
mesmo corrigindo o problema do seu servidor, seus dados podem ainda estar expostos. Vejamos alguns
tipos de ataques que podem ser feitos atravs do Google.

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.

Ataque #1 Identificao de servidores

Para identificar todas as pginas da Google que o prprio Google j catalogou, por exemplo, basta
digitar
inurl:google.com

Para encontrar servidores extras dentro do mesmo domnio, subtraia o domnio principal da busca
anterior. No exemplo, podemos entrar com

Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
7
Grupo de Resposta a Incidentes de Segurana


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).

possvel ainda encontrar servios remotos em execuo. Veja os exemplos seguir:

intitle:"VNC Desktop " inurl:5800
intitle:"remote desktop web connection"
intitle:"Terminal Services Web Connection"
allintitle:"microsoft outlook web access" logon

O primeiro procura por servidores VNC em execuo. O segundo e o terceiro referem-se,
respectivamente, rea de Trabalho Remota (Windows Remote Desktop) e aos servios de terminal
(terminal services) da Microsoft. O ltimo busca por pginas de acesso remoto ao webmail Microsoft
Outlook.

Ataque #2 Servidores negligenciados

Muitos servidores de pginas web, como o Apache, exibem pginas padro ao serem instalados.
Isso feito essencialmente para mostrar ao administrador que o servio est sendo executado sem
problemas, e oferecer dicas sobre como proceder em seguida. Acontece que muitas pessoas acabam
instalando servidores sem saber, e embora a existncia da pgina padro no indique especificamente
uma vulnerabilidade, costuma mostrar que o servidor em questo foi negligenciado pelos
administradores, e possivelmente est com suas configuraes padro. Afinal, se o administrador no
se deu ao trabalho de sequer modificar a pgina principal do servidor, muito provvel que ele tambm
no tenha se preocupado em atualizar o mesmo, ou em tornar o prprio sistema mais seguro. Buscar
por

intitle:"test page for Apache"
ou,
intitle:Pgina teste para a instalao do Apache

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

intitle:welcome to windows 2000 internet services
intitle:welcome to windows xp server internet services
under construction does not currently have

para servidores mais novos.
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
8
Grupo de Resposta a Incidentes de Segurana


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

retorna listagem de diretrios chamados admin, comumente utilizados por administradores de
sistemas para guardar arquivos e dados possivelmente sensveis. Buscar por arquivos e subdiretrios
especficos dentro de listagens diretrios tambm possvel, como por exemplo:

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"


Ataque #5 Explorando bancos de dados

Grande parte dos servidores web precisa de servios de banco de dados instalados, mas muitos no so
bem configurados e acabam fornecendo informaes sigilosas, como tabelas inteiras, que podem conter
at mesmo campos com nome de usurios e senhas vlidas dentro do sistema. A seguinte busca procura
por tais tabelas:

"# dumping data for table" (username|user|users) password

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:

filetype:properties inurl:db intext:password


Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
9
Grupo de Resposta a Incidentes de Segurana


possvel ainda identificar bancos de dados vulnerveis a ataques de injeo de SQL, ao
pesquisarmos por mensagens de erro que tipicamente denunciam esse problema:

"ORA-00921: unexpected end of SQL command"
"ORA-00933: SQL command not properly ended"
"unclosed quotation mark before the character string"

Ataque #6 Explorando relatrios de segurana

Administradores preocupados com a segurana de seus sistemas costumam executar programas
especficos que realizam varreduras de segurana e identificam vulnerabilidades em seus servidores.
Procurar por

"This file was generated by Nessus"
ou
This report lists identified by Internet Scanner

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.

Ataque #7 Usando o Google como um web proxy

A possibilidade de se traduzir pginas um dos grandes atrativos do Google. Atravs da pgina

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

Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
10
Grupo de Resposta a Incidentes de Segurana


Idiomas identificados pelo Google at a data de publicao deste documento so:

de (alemo)
es (espanhol)
fr (francs)
it (italiano)
pt (portugus)
us (ingls)

Ataque #8 Fazendo o googlebot lanar ataques por voc

Como visto no incio deste documento, o googlebot o agente responsvel pela busca e
classificao das pginas dentro de servidores. Pedir ao agente para visitar sua pgina um
procedimento fcil, e que pode ser feito de muitas maneiras diferentes. Uma vez dentro de sua pgina,
o googlebot (e qualquer outro agente de servios de busca, na verdade) vai registrar e seguir cada um
dos links que voc incluir dentro da mesma, no importa quais sejam. Um usurio pode, portanto,
adicionar links de natureza maliciosa em sua pgina e apenas esperar os agentes surgirem para fazer o
trabalho sujo por ele. Os agentes buscadores se encarregaro de executar o ataque e, no bastasse
isso, ainda podem colocar os resultados devolvidos pelas vtimas (caso existam) publicamente em suas
pginas de busca, para que qualquer um (inclusive o atacante) possa ver. Exemplos links com ataques
potenciais incluem:

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.


Usando o Google para se defender de ataques:

Da mesma forma que o Google pode ser usado por usurios maliciosos a fim de atacar seus
servidores e clientes, voc tambm pode utiliz-lo para proteger os mesmos atravs de algumas simples
aes e constante vigilncia. Essencialmente, no coloque informaes sensveis em seus servidores,
ainda que temporariamente. Configure seus servidores com ateno redobrada e verifique regularmente
sua presena (e a presena de seu sistema) dentro do Google, utilizando o operador site: para fazer
pesquisas em todos os seus servidores. Este operador tambm aceita nmeros de IP como parmetro,
ento possvel utiliz-lo em seu servidor de IP fixo mesmo que ele no tenha um nome de domnio
vlido.
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)
11
Grupo de Resposta a Incidentes de Segurana


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

e o Wikto, da Sensepost, que pode ser obtido em:

http://www.sensepost.com/research/wikto/


Consertando o estrago que j foi feito:

Ainda que voc tome as devidas atitudes ao identificar um problema em seus sistemas atravs
do Google, este pode continuar exibindo sua pgina, dados ou arquivos indesejados atravs do sistema
de armazenamento de pginas. Para resolver esse problema, basta avisar ao Google que voc quer a
referncia anterior sua pgina atualizada ou removida, acessando

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. The Google Hacker's Guide
URL: http://johnny.ihackstuff.com/modules.php?op=modload&name=Downloads&file=index&
req=viewdownload&cid=3

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

Zalewski, M. Against the System: Rise of the Robots
Artigo publicado no zine Phrack nmero 57
URL: http://www.phrack.org/phrack/57/p57-0x0a

GooFresh Date-based Syntax Definition
URL: http://www.researchbuzz.org/archives/001405.shtml
Tutorial elaborado By Aragorn \(Acesse: www.megaturbo.org \)

Vous aimerez peut-être aussi