O uso de versionadores de código durante o desenvolvimento de um website, como p.ex., o GitHub, é sempre uma excelente forma de controlar todas as suas fases de desenvolvimento. No entanto, quando o website é colocado online, muitas vezes um simples diretório denominado /.git é também deixado público, junto do website, no servidor de produção.
Esta é, de facto, uma falha grave e que poderá ter prejuízos incálculaveis, uma vez que podem ser expostas informações sensíveis, como palavras-passe de acesso a bases de dados.
Nesse sentido, um investigador da República Checa, Vladimir Smitka, analisou recentemente 230 milhões de websites em todo o mundo durante 1 mês. Ele encontrou 390.000 websites com um diretório .git público.
Este é um problema bastante desagradável, uma vez que pessoas não autorizadas podem obter acesso válido a informações sensíveis como passwords de acesso a base de dados, chaves de API, e muito mais.
Os criminosos não precisam de muito conhecimento, apenas precisam de usar uma simples google-dork como a seguinte:
intext:Index of /.git
O motor de pesquisa google é tão poderoso que é possível filtrar os resultados por top domain, e afunilar a pesquisa apenas para websites de um país, de uma organização, ou simplesmente de um único domain name.
Também é possível personalizar a pesquisa e procurar por outro tipo de conteúdo, p.ex., ficheiros com passwords, endereços de emails, entre outros.
No caso do git, um invasor pode usar esse acesso para reconstruir lentamente o repositório git de um website e/ou pesquisar quais bibliotecas são usadas e, a partir dele, descobrir possíveis vulnerabilidades.

O investigador começou o varrimento global depois de fazer uma varredura mais restrita de websites checos e eslovacos, o que resultou em mais de 2.000 websites com pastas .git expostas em uma parte publicamente acessível do site.
Em alguns dos websites expostos ele encontrou passwords de bases de dados e de banco de dados e uploaders sem autenticação prévia, o que permite aos invasores p.ex., carregar uma webshell para o servidor e comprometer de imediato todo o sistema.
Mas a motivação para o varriemento mundial foi que ele achou relativamente fácil encontrar detalhes sobre contatos para os proprietários dos websites checos e eslovacos, a quem endereçou o problema de segurança.
Normalmente, o <web-site> /. Git / HEAD não deve estar público, mas em websites vulneráveis, esse diretório contém uma lista de commits e detalhes sobre os contribuidores, incluindo os seus endereços de email.
Um mês depois de enviar 2.000 alertas, ele verificou novamente os websites e encontrou pastas .git acessíveis apenas em 874 websites, o que significa uma taxa de sucesso de 55% da sua campanha de sensibilização.
Depois de concluir o varrimento global, ele enviou outro lote de 90.000 e-mails para os administradores do website afetados, o que os direcionou para sua página de destino, onde descreveu o problema e as etapas para a sua mitigação.
“Just for clarification, I didn’t hack your site,” Smitka stresses on his site.
“I’m a security researcher/white hat/ethical hacker and I only detected a security problem on your website,” he said.
“No sensitive data was downloaded from your site except for your email address, which will be forgotten after the research. I won’t store it or use it for any other purposes.”
Na maior parte, os seus alertas de e-mail foram bem recebidos, levando a 300 mensagens adicionais de partes afetadas e 2.000 e-mails de agradecimento.
No entanto, ele também recebeu uma ameaça que iam denunciá-lo à polícia canadense e duas acusações de que ele era um spammer.

Vladimír Smitka found 390,000 webpages with an open .git directory.
Image: Lynt Services
