O Google é uma poderosa ferramenta de enumeração e coleta de dados, o que não é novidade prá ninguém. Neste post vou tentar agrupar algumas técnicas de ataque e defesa de sistemas usando o Google, encontradas na internet.
O uso de buscadores para catalogar páginas, ao mesmo tempo em que aumenta consideravelmente o número de respostas da ferramenta, traz o problema de muitas vezes catalogar mais do que os administradores de páginas gostariam. Isso porque muitos servidores conectados a Internet não foram configurados de forma segura, contando apenas com o fato de não 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 irão adicionar tais arquivos e páginas à base de dados do Google na primeira oportunidade, já que não são capazes de diferenciar o que é público do que é confidencial.
Dessa forma, muita informação “sensível” pode ser encontrada, bastando que se saiba o que e como procurar. Não bastasse isso, o Google armazena no “cache” uma versão da sua página ou arquivo, de modo que mesmo corrigindo o problema do seu servidor, seus dados podem ainda estar expostos.
É importante observar que a maioria das técnicas aqui exemplificadas não são nenhuma novidade, pois há registros sobre alguns destes que datam de 2001.
Técnica 1– Identificação de servidores
- Para identificar todas as páginas da Google que o próprio Google já catalogou:
inurl:google.com
- Para encontrar servidores extras dentro do mesmo domínio, subtraia o domínio principal da busca anterior. para listar diversos subdomínios dentro de “google.com” (como, por exemplo, “images.google.com”, “gmail.google.com”, “desktop.google.com”, etc).
inurl:google.com –inurl:www.google.com
- É possível ainda encontrar serviços remotos em execução. Veja os exemplos à seguir:
intitle:”VNC Desktop ” inurl:5800 # procura por servidores “VNC” em execução
intitle:”remote desktop web connection” # refere-se à Área de Trabalho Remota (“Windows Remote Desktop”)
intitle:”Terminal Services Web Connection” # refere-se ao serviço de terminal (“terminal services”) da Microsoft
allintitle:”microsoft outlook web access” logon # busca por páginas de acesso remoto ao webmail Microsoft
Outlook
Técnica 2 – Servidores negligenciados
Muitos servidores de páginas web, como o Apache, exibem páginas padrão ao serem instalados. Isso é feito essencialmente para mostrar ao administrador que o serviço está sendo executado sem problemas. Embora a existência da página padrão não indique especificamente uma vulnerabilidade, costuma mostrar que o servidor em questão foi negligenciado pelos administradores, e possivelmente está com suas configurações padrão.
Afinal, se o administrador não se deu ao trabalho de sequer modificar a página principal do servidor, é muito provável que ele também não tenha se preocupado em atualizar o mesmo, ou em tornar o próprio sistema mais seguro.
- Para retorna uma lista de servidores que estão exibindo a página padrão do Apache busque por:
intitle:”test page for Apache”
intitle:“Página teste para a instalação do Apache”
- Para retornar páginas padrão do IIS, poderíamos busque por:
intitle:welcome.to.IIS.4.0
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.
Técnica 3 – Listagem de diretórios
Muitos administradores cometem erros na hora de determinar que diretórios do sistema podem ou não ser acessados via Internet. Além de permitir a listagem dos arquivos e subdiretórios dentro de um diretório que possa ser acessado mas não tenha a página de nome padrão. Isso permite que usuários maliciosos procurem por listagem de diretórios sensíveis em seu servidor, ou ainda por arquivos específicos dentro de seu sistema, que podem ser acessados pelo nome mesmo que seu servidor esteja configurado para não listar o conteúdo de diretórios.
- Para retornar uma listagem de diretórios chamados “admin”, geralmente utilizados por administradores de sistemas para guardar arquivos e dados busque por:
intitle:index of/admin
- Buscar por arquivos e subdiretórios específicos dentro de listagens diretórios também é possível, como por exemplo:
intitle:”index of” .htpasswd
intitle:”index of” backup
Técnica 4 – Senhas e Logs
Servidores mal configurados podem tornam públicos seus arquivos de registro (“logs”), permitindo assim que usuários maliciosos obtenham senhas de sistemas, muitas vezes com privilégios de administrador, sem trabalho algum.
- Para retornar password e logs busque por:
filetype:log inurl:”password.log”
Técnica 5 – Explorando bancos de dados
A maioria dos servidores web precisa de serviços de banco de dados instalados e muitos são mal configurados e acabam liberando informações sigilosas, como tabelas inteiras, que podem conter até mesmo campos com nome de usuários e senhas válidas.
- Para buscar por tais tabelas digite:
“# dumping data for table” (username|user|users) password
- Conhecendo um pouco da estrutura de arquivos de uma base de dados SQL, é possível ir diretamente atrás de arquivos que contenham senhas, como por exemplo através da busca:
filetype:properties inurl:db intext:password
É possível ainda identificar bancos de dados vulneráveis a ataques de “injeção de SQL”.
- Pesquise 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”
Técnica 6 – Explorando relatórios de segurança
Administradores que se preocupam com a segurança de seus sistemas costumam executar programas específicos que realizam varreduras de segurança e identificam vulnerabilidades em seus servidores.
- Para buscar por relatórios de falhas de segurança, procure por:
“This file was generated by Nessus”
“This report lists” “identified by Internet Scanner”
Alguns dos retornos da pesquisa cima são relatórios reais, que indicam as vulnerabilidades encontradas em determinados servidores e muitos estão em áreas públicas.
Técnica 7 – Fazendo o “googlebot” lançar ataques por você
O “googlebot” é o robô de rastreamento da web, do Google, responsável pela busca e classificação das páginas dentro de servidores. Uma vez dentro de sua página, os robots registram e seguem cada um dos links que você incluir dentro da mesma. Um usuário pode, portanto, adicionar links de natureza maliciosa em sua página e apenas esperar os agentes surgirem para fazer o “trabalho sujo” por ele. Os agentes buscadores se encarregarão de executar o ataque. Exemplos links com ataques potenciais incluem:
http://algumhost/cgi-bin/script.pl?p1=`ataque`
http://algumhost:54321/ataque?`id`
Repare que é possível ainda manipular a sintaxe das URLs para mandar o agente acessar o servidor alvo em portas específicas (linha 2).
Como visto acima, o Google é uma poderosa ferramenta de enumeração e coleta de dados, novidade prá ninguém. Neste post vou tentar agrupar algumas técnicas que podem ajudar a defender nossas informações contra acessos não-autorizados.
Da mesma forma que o Google pode ser usado por usuários maliciosos a fim de atacar seus servidores e clientes, você também pode utilizá-lo para proteger os mesmos através de simples ações e constante vigilância.
Essencialmente, não coloque informações sensíveis em seus servidores, ainda que temporariamente.
Configure seus servidores com atenção redobrada e verifique regularmente sua presença (e a presença de seu sistema) dentro do Google, utilizando o operador “site:” para fazer pesquisas em todos os seus servidores. Este operador também aceita números de IP como parâmetro, então é possível utilizá-lo em seu servidor de IP fixo mesmo que ele não tenha um nome de domínio válido.
O procedimento de verificação acima pode ser automatizado através da utilização 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 através do Google, este pode continuar exibindo sua página, dados ou arquivos indesejados através do sistema de armazenamento de páginas.
Para resolver esse problema, basta avisar ao Google que você quer a referência anterior à sua página atualizada ou removida, acessando http://www.google.com/webmasters/ e seguindo as indicações. Naturalmente, para remover a referência a um servidor, você precisará provar que é o administrador do mesmo.
0 comentários:
Postar um comentário