…a ataques
Todos nós conhecemos os populares cartões do Continente que armazenam pontos, que se “transformam” em dinheiro e que posteriormente podemos descontar nas nossas compras.
Segundo informações divulgadas no serviço Pastebin, a equipa Team n00bz diz que tanto os cartões como o próprio site do Continente estão vulneráveis a ataques.
EAN13
- O continente usa para os seus cartões um sistema de 13 dígitos e respectivo código de barras semelhante ao usado na maioria dos produtos. Os produtos usam os 2 ou 3 primeiros dígitos para identificarem o pais, o continente usa o 185, que não é utilizado por qualquer país. O sistema EAN13 usa 12 dígitos para identificação e um 13º digito de checksum (ver aqui). O formato típico dum Cartão Continente é 185XXXXXXXXXC. É possível imprimir um código de barras funcional a partir do número de várias maneiras, quer com software especializado, quer online (exemplo: aqui ou aqui)
TALÃO CONTINENTE
- O talão emitido na caixa, numa operação em que o cartão seja apresentado, divulga o seu número permitindo a sua cópia imediata. O talão divulga também o total já ganho com o cartão, o que permite prever se um cartão tem ou não saldo.
GERAÇÃO DE NÚMEROS
- Como o algoritmo que calcula o último dígito é conhecido, é possível gerar uma lista de cartões válidos de 1850000000017 a 1859999999999.
VULNERABILIDADES NO SITE
Segundo informação da equipa equipa Team n00bz, criando uma conta no site do continente aqui, apenas com um e-mail válido, é possível explorar a lista criada anteriormente de duas maneiras, que podem ser usadas em conjunto ou não:
1) Ataque ao Estado do Cartão
- Ao tentar associar um cartão à conta criada anteriormente é possível saber se o cartão se encontra ativo ou não. Visto não haver limite no número de tentativas, é possível testar números ilimitados e saber se os respectivos cartões estão activos ou não.
2) Ataque ao Número do Documento
- Depois de introduzido um número de cartão activo são pedidos dois dígitos do documento de identificação. Ao falhar um dos dígitos são pedidos dois dígitos diferentes. Ou não: o site não força este mecanismo de segurança, sendo possível atacar as mesmas duas posições e acertar nos dígitos num máximo de 100 tentativas (se o documento utilizado não for o passaporte, que também permite letras). Isto permite ter acesso total ao cartão, nomeadamente ao nome completo, morada, numero de documento de identificação, tele móvel, saldo atual, estados dos rebates nos cartões e total ganho com o cartão
UTILIZAÇÃO
- Sabendo o número de um cartão activo com saldo positivo, quer através de um talão esquecido quer através dos métodos explicados anteriormente, é possível criar o respectivo código de barras, imprimir e utilizar numa qualquer caixa “self-service” sem qualquer tipo de verificação
FACTO
1) Clientes afectados
- Todos !
- Em alguns dias foi possível obter a informação detalhada de milhares de utilizadores do cartão continente bem como os respectivos saldos. Este número poderia ter sido brutalmente superior pois não foi detectado qualquer imposição no limite de pedidos por parte do servidor do continente.
2) Tranches
- Foi possível presumir que o continente reserva tranches (ou gamas) de números para os diversos hiper-mercados espalhados por Portugal, tendo sido obtido dados de clientes de uma certa zona em largas vagas de números (1850204****** – Guarda). Isto quer dizer que a atribuição de um novo número não é sequencial no seu todo mas sim dentro de uma determinada tranche, sendo possível o número 1850204****** estar atribuído e o 185000001**** não.
Toda a informação está disponível publicamente no Pastebin, incluindo um vídeo que apresenta um ataque.
A equipa fez saber que tentou por duas vezes contactar o Continente mas sem sucesso. Caso a situação não esteja resolvida, avançam com a divulgação do source code do exploit a 26 de Fevereiro.