Leandro Trindade: O caso NegocieCoins e os perigos de se confiar na tecnologia de terceiros

Leandro Trindade: O caso NegocieCoins e os perigos de se confiar na tecnologia de terceirosLeandro Trindade: O caso NegocieCoins e os perigos de se confiar na tecnologia de terceiros
(Foto: Shutterstock)

*Atualização: Após a publicação deste artigo, a NegocieCoins mandou um novo contraponto sobre os problemas encontrados. A nota antiga foi substituída.

Essa publicação levará um tom um pouco mais técnico, mas vou tentar deixar ela o mais clara possível.

Ultimamente tenho profissionalizado mais as atividades de segurança junto ao grupo de infosec CCESS. E, mesmo com pouco tempo de atividade, a quantidade de falhas de segurança que já encontramos nas “beiradas” é de assutar qualquer um.

Tá, mas o que você quer dizer com “beiradas”?

É simples, quando você pensa que uma exchange está segura, isso costuma se limitar apenas à parte da plataforma que compreende saques, depósitos, negociações certo?

O que muitos não vêem, ou não costumam se importar, é que um simples blog pode fornecer um vetor de ataque ainda mais perigoso, do tipo de ataque que acaba com muita gente perdendo dinheiro durante um bom tempo, até alguém finalmente encontrar a torneira e fechar.

Parece meio fora do senso comum que um mero blog vulnerável possa fazer vítimas em uma exchange, então vamos tomar exemplos mais práticos para demonstrar onde mora esse perigo.

A desculpa mais comum

Antes de seguirmos essa jornada, vale analisarmos o que mais a gente escuta quando está reportando uma falha de segurança: “Mas esse sistema é separado, isolado, só cuida do suporte, notícias. Não afeta a exchange.”.

Sim, o sistema pode ser isolado, ficar em outro país, outro planeta que seja. O sistema pode cuidar só do blog, ou do suporte, ou coisas que não são pertinentes ao financeiro. Quem diz isso não olha as vulnerabilidades com a malícia que deveria, para vencer uma guerra é preciso pensar como o inimigo.

Falhas de segurança que afetam o suporte por exemplo podem influenciar a equipe interna da empresa, ou até vazar informações sensíveis. Falhas no blog e sistemas paralelos podem levar a um phishing bastante convicente. Nem precisa pesquisar muito para encontrar diversos casos em que as “beiradas” significaram grandes furtos.

Mas o caso que iremos mostrar agora nem é um desses usos “criativos” de falha de segurança, e sim, um momento em que o sistema isolado se tornou uma arma, vazando tudo do sistema principal, mesmo sem necessidade de nenhuma invasão.

Estudo de caso: NegocieCoins

A plataforma da NegocieCoins é até o momento líder brasileira em volume de transações, e, no mundo das criptomoedas, tamanho realmente é documento. Quanto maior for o volume mais clientes, quanto mais clientes mais dinheiro circulando, e quanto mais dinheiro circulando mais atenção dos criminosos virtuais.

A corretora tem um blog onde postam novidades sobre o mercado, e para o sistema dele o grupo Bitcoin Banco decidiu terceirizar, afinal o que poderia dar de errado num mero blog não é mesmo?

Quem entrega para eles esse tipo de serviço é uma empresa de marketing digital chamada LeadLovers. Nesse sentido o serviço fica completamente isolado, o servidor do blog a quilômetros de distância, em outra empresa, outro endereço de internet. Então nesse caso está tudo bem se ele tiver uma falha de segurança correto? Errado!

As vulnerabilidades da LeadLovers

O problema aqui é que uma plataforma de marketing digital segue premissas de segurança bem diferentes dos seus clientes. Nesse caso, um serviço de cunho financeiro precisaria de uma segurança à altura de alguém que lida com o dinheiro de seus clientes, uma vez que enfrenta no dia-a-dia hackers que querem esse dinheiro.

Content Spoofing

Bom, durante nossa pesquisa de segurança no blog pudemos reparar logo de imediato alguns problemas, o primeiro que iremos discutir é o Content Spoofing.

E é nesse ponto que a publicação fica mais técnica, a ideia por trás do Content Spoofing é que podemos forjar textos e conteúdos que não deveriam existir previamente no site, isso tudo é feito através de uma manipulação de formulários, passando os valores que queremos exibidos na tela e criando um link bonito para essa versão manipulada.

Pudemos ver com clareza o que essa vulnerabilidade aliada a uma criatividade maliciosa pode fazer no caso da carteira Electrum. Nesse caso os servidores maliciosos geravam uma mensagem de erro falsa, induzindo os clientes a instalarem uma versão errada da carteira, que em seguida roubava seus bitcoins.

Agora temos a possibilidade de usar o próprio blog da corretora para fazer um phishing bem elaborado e acima de tudo crível, tudo que é necessário é uma campanha bem planejada. Já vimos campanhas de phishing dessas sendo feitas através do Google AdWords, mensagens, e-mails, ou até mesmo redes sociais.

Prova de conceito de content spoofing no blog da NegocieCoins

Elaboramos uma prova de conceito e enviamos para eles no dia 7 de Dezembro de 2018. Até a data de publicação deste artigo a vulnerabilidade ainda não havia sido corrigida, os motivos por trás da negligência provavelmente envolvem não verem risco na manipulação de conteúdo ou não terem controle sobre como a LeadLovers desenvolve seus produtos.

Por que expor uma falha de segurança não corrigida?

Não é ideal publicar uma falha não corrigida e evitamos isso ao máximo no ambiente de segurança, mas quando uma empresa simplesmente não quer resolver o problema não resta outra alternativa senão avisar as pessoas dos riscos e ataques que podem sofrer.

É somente com esse conhecimento que os clientes da corretora saberão que não devem confiar em conteúdos estranhos que estejam presentes no blog, isso assumindo que mesmo depois da publicação a corretora ainda não queira resolver o problema.

O caso mais perigoso: o Trace.axd

Já vimos até agora que mesmo um serviço isolado pode trazer riscos financeiros para os clientes, bastando para isso um pouco de malícia e criatividade. Agora iremos ver outra forma em que confiar cegamente na tecnologia de terceiros pode causar um grande impacto na sua segurança.

Ainda dentro da análise do blog encontramos um endereço oculto: o Trace.axd. Normalmente esse caminho só é visível durante o desenvolvimento da plataforma, ou pelo menos é o que deveria acontecer. Alguém durante a programação esqueceu ele habilitado, exposto para toda a internet.

Bom, para entender melhor o que esse trace faz é preciso entender que o propósito dele é caçar bugs no código, sendo assim durante o desenvolvimento ele registra toda e qualquer comunicação com o servidor, de forma a guardar entradas que possam ter levado a um possível erro.

Exemplo de trace.axd extraído do blog, todas as comunicaçōes do sistema ficam registradas

É uma ferramenta muito importante, mas ao mesmo tempo deixá-lo habilitado para a internet é uma falha bastante grave, lembre-se que ele registra tudo, inclusive senhas e credenciais.

E não foi diferente neste caso, o Trace.axd estava registrando comunicações de todos os clientes da LeadLovers, todos os blogs, sistemas de marketing, cursos, e expondo as senhas desses clientes. Invadir um sistema já é um prato cheio para um hacker, ter todas as informações sensíveis de centenas de sistemas livremente expostas sem nem precisar invadir nada seria algo digamos, épico.

Exemplo de detalhes de um dos traces, cookies e senhas estão expostos

Onde entra a NegocieCoins nisso?

Bom, ter os dados do blog vazados, como login e senha para publicações de matérias faz o Content Spoofing que explicamos anteriormente se apequenar. Não apenas isso, qualquer ser que já tenha se aventurado pela internet já deve ter ouvido falar alguma vez dos Cookies.

Os Cookies são basicamente arquivos que ficam guardados de uma página para outra, servem para um site guardar informações que podem ser usadas durante toda a navegação, dessa forma fica mais fácil registrar quem é quem na plataforma.

Bom, a maioria dos sites usam esse Cookie para saber qual a conta que você está logado, é o que a gente chama de sessão, normalmente essa sessão é um número bem grande que serve como identificador único do seu login. Quem quer que tenha esse número guardado, pode fazer o que quiser na conta, mesmo sem saber o usuário e senha.

Bom, a essa altura, passando todo o linguajar técnico você já deve saber onde estou querendo chegar né? Como Trace.axd estava vazando todas as comunicações ele vazava também os Cookies e sessões dos clientes. Isso ocorre pois a plataforma financeira da NegocieCoins estava compartilhando esses Cookies com o blog!

Repare que acreditávamos até o momento que o blog estava completamente isolado da plataforma financeira, mas na hora de gerar o Cookie, ele acabava sendo passado entre plataformas. Dessa forma, mesmo um serviço isolado era uma arma perfeita contra o serviço principal.

isso ocorre pois eles estavam configurados para serem compartilhados entre todos os sites que terminavam com negociecoins.com.br, e o blog era um desses sites.

Qualquer cliente que estivesse operando em sua conta e ao mesmo tempo abrisse o blog, instantaneamente entregava as chaves de sua conta para quem quer que soubesse procurar, e elas ficavam lá, públicas para a internet ler.

Alerta e desatenção

Enviamos para o setor técnico do grupo Bitcoin Banco nossos achados, porém não recebemos nenhuma resposta depois que mencionamos o caso do Trace.axd. O tempo foi passando e a falha continuava aberta, o que nos preocupou bastante com a segurança dos clientes.

Como a vulnerabilidade estava sob controle da LeadLovers achamos melhor procurar eles, afinal eles poderiam resolver isso o mais rápido possível. Conseguimos o contato com uma certa dificuldade, nos apresentamos e imediatamente alertamos do problema, após nosso alerta a vulnerabilidade estava resolvida em questão de horas e pudemos respirar mais tranquilos.

Nossa recomendação

Apesar desse problema estar resolvido recomendamos que todos os clientes da LeadLovers troquem de imediato as suas senhas de acesso, como os dados de suas contas estavam vazando e expostos na internet é possível que alguém estivesse coletando essas informações para uso futuro.

Esperamos que esse artigo traga um melhor conhecimento para a comunidade como um todo, não só ao público geral como as plataformas cripto para que não incorram nos mesmos erros, e nem usem a mesma desculpa. Estamos sempre atuando para prevenir que falhas como essa venham a ser exploradas por entes maliciosos. Para acompanhar mais artigos como esse siga nossa página no Facebook.

Resposta da NegocieCoins

“A NegocieCoins esclarece por meio dessa nota alguns fatos referentes à análise feita pelo Grupo Infosec CCESS. 

É importante esclarecer que os pontos apresentados na análise já foram devidamente corrigidos e que não houve danos financeiros a nenhum de nossos clientes. Na plataforma da NegocieCoins, ainda que qualquer pessoa conseguisse o arquivo com os cookies para acesso aos dados da LeadLovers, ainda seria necessário um pin, autenticação 2fa e validação do endereço de saque através do e-mail para acesso à conta.

Caso fosse solicitado um novo pin seria necessário responder três perguntas de segurança cadastradas pelo titular da conta no momento da abertura. Por conta disso, garantimos que a segurança dos valores de nossos clientes sempre esteve mantida.

Rodrigo Lullez, criador do código da NegocieCoins, e Vinicius Gomes, diretor de TI do Grupo Bitcoin Banco, à qual pertence a NegocieCoins, agradecem o trabalho sério desenvolvido pelo Grupo Infosec CCESS.

O Grupo Bitcoin Banco é orientado pela premissa de popularizar as criptomoedas e se orgulha de ter o melhor atendimento e ambiente de trabalho do Brasil. Como prova disso somos a única empresa de criptomoedas brasileira com o certificado Great Place to Work entre as Melhores Empresas para se trabalhar no Paraná e o selo RA1000, para empresas com excelente atendimento no site Reclame Aqui.

O mesmo respeito que o Grupo dirige aos clientes e colaboradores oferece também a todos entusiastas do mercado. Por isso, a empresa buscou esclarecer os fatos por meio dessa resposta. A transparência, o respeito e a confiança são essenciais para a evolução nesse mercado.”