Encontrando Dados Sensíveis
Encontrando Dados Sensíveis
Nos dias atuais temos diversas plataformas online para compartilhar informações, seja em vídeo, imagem e texto, e isso tem um risco muito alto. Por esse motivo nasceu meu interesse por esse tipo de assunto e iremos apresentar como encontrar este tipo de informação valiosa, e o mais importante: como é possível se proteger.
Motivação
Em uma determinada plataforma (HackerOne) de bug bounty, verifiquei que algumas pessoas estavam ganhando muito dinheiro por reportar leaks (vazamentos) de informações como, por exemplo, $15.000,00 por um report.

Fonte: https://hackerone.com/reports/396467
Neste caso a pessoa que reportou o leak encontrou no GitHub um token de integração com o GitHub da empresa Snapchat. O token era “poderoso”, foi classificado como crítico, as ações para revogar o token foram feitas e a pessoa que reportou ganhou o valor de $15.000,00.
O que seria um vazamento de informação?
Um vazamento de informações ocorre quando informações confidenciais são reveladas a pessoas não autorizadas.
Existem algumas causas para que aconteça um vazamento de informação, por exemplos:
- As informações são compartilhadas usando ferramentas não seguras;
- Funcionários que roubam informações da empresa;
- Funcionários que compartilham informações confidenciais acidentalmente;
- Informações enviadas acidentalmente para destinatários errados;
- Phishing;
Neste artigo o foco será: funcionários que compartilham informações confidenciais acidentalmente.
Onde Encontrar Dados Sensíveis
Existem diversas plataformas onde podemos encontrar dados sensíveis, por exemplo:
- GitHub
- GitHub (Gist)
- Repl.it
- Trello
- Paw.pt
- Codepad
- Gitter
- Bitbucket
- ShareCode
- LightShot/Joxi
- Google Docs
- Pastebin
- Stack Overflow
- Papaly
- Entre outras
Como podemos encontrar dados sensíveis?
Antes de começar a descrever os passos para encontrar esse tipo de informação, preciso salientar:
- Segredos (senhas, tokens) não serão divulgados;
- Nomes não serão divulgados;
- Encontrar segredos em GitHub ou em qualquer outra plataforma não é nada novo;
- Não sou responsável por seus atos.

Fornece hospedagem para controle de versão de desenvolvimento de software usando o Git. (https://github.com)
Qual o problema de se utilizar o GitHub? Os repositórios dos códigos podem estar públicos.
Atualmente, o foco é encontrar segredos e informações confidenciais no GitHub, pois é possível utilizar a API que eles disponibilizam e com isso facilita a procura por termos específicos e automatiza todo o processo.
Para encontrar dados sensíveis no GitHub é possível utilizar diversos scripts que foram desenvolvidos e disponibilizados, como por exemplo:
secret-bridge | https://github.com/duo-labs/secret-bridge |
shhgit | https://github.com/eth0izzle/shhgit |
gitrob | https://github.com/michenriksen/gitrob |
truffleHog | https://github.com/dxa4481/truffleHog |
gitGraber | https://github.com/hisxo/gitGraber |
Caso não queira utilizar scripts é possível fazer uma simples busca manual e com isso encontrar dados sensíveis, por exemplo:
Para encontrar credenciais de SFTP/FTP:
- Acesse https://github.com;
- No canto superior esquerdo, no campo de busca digite filename:.ftpconfig e veja a quantidade de resultados. Abra os arquivos e será possível visualizar credenciais de acesso ao SFTP/FTP.
Não só credenciais de SFTP/FTP estão no GitHub, muitos outros tipos de arquivos são possíveis de serem encontrados. Uma lista com vários tipos de pesquisas é possível encontrar em https://github.com/techgaun/github-dorks.
Quer encontrar dados sensíveis de uma forma automática e sem muito trabalho? Pois bem, existe uma versão da aplicação shhgit disponível em https://shhgit.darkport.co.uk na qual é necessário apenas acessar, deixar a aplicação aberta e de X em X segundos novos dados sensíveis provenientes do GitHub são detectados e disponibilizados.

Não quer utilizar script prontos e nem aplicações como, por exemplo, a shhgit? Não tem problema, o GitHub oferece uma API pela qual é possível criar vários tipos de pesquisas e filtros, e foi isso que eu acabei por desenvolver.
Com um script em python + API do GitHub + API do Slack, meu script fica encarregado de efetuar diversas buscas no GitHub para tentar encontrar leaks de dados sensíveis, caso encontre algum resultado, uma mensagem é enviada para um canal no Slack e com isso sou notificado para fazer a validação.

Para tentar evitar vazamento de informações sensíveis no GitHub uma das maneiras é que se coloque os repositórios para modo privado.

É um plugin utilizado para tirar screenshot da tela do computador e compartilhar essa imagem. (https://app.prntscr.com)
Qual o problema de se utilizar o LightShot? Os screenshot podem ser públicos.
Para se encontrar screenshots é relativamente simples, vá ao buscador Google e procure por: site: prnt.sc

Nos resultados é possível encontrar qualquer tipo de imagem, seja útil ou não. Por exemplo, uma tela de conversa do Skype mais informações de transferência de arquivos via FTP.

Para tentar evitar vazamento de informações sensíveis no LightShot uma das maneiras é parar de utilizar este plugin.
Dados sensíveis também podem ser encontrados em outras plataformas, por exemplo: Trello, Pastebin, Repl, Papaly, Paw, JSON Formatter entre outros.
KeyHacks
Muitas das vezes, em pesquisas por dados sensíveis em qualquer tipo de aplicação/plataforma, é possível encontrar, por exemplo, um token/uma API key/secret e não se sabe o que pode ser feito com aquele dado, ou seja, como que se utiliza e onde é possível utilizar-lo. Foi com esta dificuldade que foi criado o KeyHacks, uma página no GitHub que mostra onde e como pode ser utilizado o leak que foi encontrado.
O link para o repositório é https://github.com/streaak/keyhacks e atualmente é possível encontrar mais de 40 serviços listados, ou seja, caso encontre um leak de uma API key e secret do Facebook basta aceder ao KeyHacks e aprender como se faz o teste para validar se o dado sensível encontrado é válido ou não.
Conclusão
Neste artigo quis mostrar que pessoas, sejam elas da área técnica ou não, cometem erros todos os dias. É importante saber como se proteger e tirar proveito desses erros. Podemos até fazer uma comparação com vulnerabilidades: desenvolvedores acabam por cometer erros que serão explorados por atacantes.