Com um desvio de filtro e alguns números hexadecimais, os números de cartão de crédito hackeados ainda são compatíveis com o Google

Publicados: 2022-03-11

Uma palavra sobre hacking de cartão de crédito

Se você me conhece, ou leu meu post anterior, sabe que trabalhei para uma empresa muito interessante antes de ingressar na Toptal. Nesta empresa, nosso provedor de pagamento processava transações em torno de US$ 500 mil por dia. Parte do meu trabalho era tornar nosso provedor compatível com PCI-DSS, ou seja, compatível com o Payment Card Industry – Data Security Standard.

É seguro dizer que este não era um trabalho para os fracos de coração. Neste ponto, estou bastante familiarizado com cartões de crédito (CCs), hackers de cartão de crédito e segurança na web em geral. Afinal, nosso trabalho era proteger os dados de nossos usuários, para evitar que fossem hackeados, roubados ou mal utilizados.

Você pode imaginar minha surpresa quando vi o artigo de 2007 de Bennett Haselton sobre Slashdot: Por que os números CC ainda são tão fáceis de encontrar?. Resumindo, Haselton foi capaz de encontrar números de cartão de crédito através do Google, primeiro pesquisando os primeiros oito dígitos de um cartão no formato “nnnn nnnn” e depois usando algumas consultas avançadas baseadas em intervalos de números. Por exemplo, ele poderia usar “4060000000000000..4060999999999999” para encontrar todos os PANs de 16 dígitos do CHASE (cujos cartões começam com 4060). A propósito: aqui está uma lista completa de números de ID de emissor.

Na época, não pensei muito nisso, pois o Google imediatamente começou a filtrar os tipos de consultas que Bennett estava usando. Quando você tentava pesquisar no Google um intervalo como esse, o Google exibia uma página que dizia algo como “Você é uma pessoa má”.

Esta é a resposta do Google para aqueles que tentam descobrir como encontrar números de cartão de crédito online.

Cerca de seis meses atrás, enquanto relembrava com um velho amigo, esse hack de número de cartão de crédito me veio à mente novamente. Logo depois, descobri algo alarmante. Não muito alarmante, mas certamente alarmante — então notifiquei o Google e esperei. Depois de um mês sem resposta, eu os notifiquei novamente sem sucesso.

Com um pequeno ajuste no velho truque de Haselton, consegui pesquisar no Google números de cartão de crédito, números de seguro social e qualquer outra informação sensível de interesse.

Então eu notifiquei o Google e esperei. Depois de um mês sem resposta, eu os notifiquei novamente sem sucesso. Com um pequeno ajuste no velho truque de Haselton, consegui pesquisar no Google números de cartão de crédito, números de seguro social e qualquer outra informação sensível.

Bennett

Ontem, alguns amigos meus (buhera.blog.hu e _2501) chamaram minha atenção para um post mais recente do Slashdot: Números de cartão de crédito ainda compatíveis com o Google.

O autor do artigo, novamente Bennett Haselton, que escreveu o artigo original em 2007, afirma que os números de cartão de crédito ainda podem ser pesquisados ​​no Google. Você não pode usar o hack de consulta de intervalo de números, mas ainda pode ser feito. Em vez de usar intervalos simples, você precisa aplicar uma formatação específica à sua consulta. Algo como: “1234 5678” (observe o espaço no meio). Muitos resultados surgem para esta consulta, mas muito poucos são de interesse real. Entre os concorrentes estão números de telefone, CEPs e afins. Não extremamente alarmante. Mas aqui vem a torção do hack do cartão de crédito.

A Metodologia

Eu estava curioso para saber se ainda era possível obter números de cartão de crédito on-line da maneira que era possível em 2007. Como qualquer bom engenheiro, costumo abordar as coisas usando um plano bem construído e inteligente que precisa ser executado perfeitamente com a máxima precisão. Se você já experimentou esse método, deve saber que ele pode falhar muito – nesse caso, seu planejamento cuidadoso e esforço serão desperdiçados.

Em TI, temos uma tendência a superintelectualizar, mesmo quando isso não é exatamente garantido. Eu vi meus amigos e colegas quebrarem completamente os aplicativos usando entradas aparentemente aleatórias. A taxa de sucesso deles foi impressionante e o esforço que eles colocaram foi próximo de zero. Foi aí que aprendi que para abrir uma porta, às vezes é só bater.

O hack do cartão de crédito

O parágrafo anterior foi uma tentativa habilmente disfarçada de me fazer parecer menos idiota quando mostro minhas “habilidades de hacker de elite”. Ops.

Primeiro, tentei várias abordagens baseadas em consulta de intervalo. Então, eu olhei para consultas avançadas e praticamente qualquer coisa que você pudesse fazer em uma hora ou mais. Nenhum deles apresentou resultados significativos.

E então tive uma ideia maluca.

E se houvesse uma incompatibilidade entre o mecanismo de filtragem e o back-end real? E se a mensagem que recebi do Google (“Você é uma pessoa má”) não fosse do back-end em si, mas de um mecanismo de filtragem designado que o Google implementou para censurar consultas como a minha?

Faria muito sentido do ponto de vista arquitetônico. E bugs como esse são bastante comuns - nós os vemos no ITSEC o tempo todo, principalmente em soluções IDS/IPS, mas também em software comum. Existe um procedimento de filtragem que processa os dados e só os entrega ao back-end se achar que os dados são aceitáveis/não maliciosos. No entanto, o back-end e o servidor de filtragem quase nunca analisam a entrada exatamente da mesma maneira. Assim, uma entrada aparentemente válida pode passar pelo filtro e causar estragos no back-end, ignorando efetivamente o filtro.

Normalmente, você pode acionar esse tipo de comportamento fornecendo sua entrada em várias codificações. Por exemplo: em vez de usar números decimais (0-9), que tal convertê-los para hexadecimal ou octal ou binário? Bem, adivinhe…

Pesquise por isso e o Google dirá que você é uma pessoa ruim: “4060000000000000..4060999999999999”

Pesquise por isso e o Google terá prazer em atender: “0xe6c8c69c9c000..0xe6d753e6ecfff”.

A única coisa que você precisa fazer é converter os números de cartão de crédito de decimal para hexadecimal. É isso.

Os resultados incluem…

  • Arquivos CSV enormes cheios de informações potencialmente confidenciais.

Com este simples hack de cartão de crédito, uma grande invasão de privacidade está esperando para acontecer.

  • Arquivos de log de comércio eletrônico com defeito.

Esses arquivos de log de comércio eletrônico defeituosos facilitam a pesquisa de cartão de crédito.

  • Informações confidenciais compartilhadas em sites de hackers (e até mesmo no Facebook).

Como hackear cartões de crédito é tão simples quanto usar hexadecimal.

É uma coisa realmente assustadora.

Eu sei que esse bug não inspirará nenhuma pesquisa de segurança, mas aí está. O Google fez esse boo-boo e negligenciou até mesmo me escrever de volta. Bem, isso acontece. Eu não invejo o pessoal de segurança no grande G, no entanto. Eles devem ter um monte de coisas para cuidar. Estou postando sobre esse hack de número de cartão de crédito aqui porque:

  1. É um impacto relativamente baixo.
  2. Qualquer pessoa interessada e motivada já deve ter percebido isso.
  3. Para citar Haselton, se os grandes jogadores não estão assumindo a responsabilidade e agindo sobre essas façanhas, então “a coisa certa a fazer é lançar uma luz sobre o problema e insistir que eles o corrijam o mais rápido possível”.

Esse truque pode ser usado para procurar números de telefone, SSNs, TFNs e muito mais. E, como escreveu Bennett, esses números são muito mais difíceis de mudar do que o seu cartão de crédito, para o qual você pode simplesmente ligar para o seu banco e cancelar o cartão.

Consultas de amostra

AVISO: NÃO pesquise no Google o número completo do seu cartão de crédito!

Procure qualquer CC PAN começando com 4060: 4060000000000000..4060999999999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff

Alguns números de telefone húngaros do provedor 'Telenor'? Sem problemas: 36200000000..36209999999 ? 0x86db02a00..0x86e48c07f

Procure por SSNs. Felizmente, eles não retornam muitos resultados significativos: 100000000..999999999 ? 0x5f5e100..0x3b9ac9ff

Há muitos, muitos mais.

Se você encontrar algo muito alarmante, ou se estiver curioso sobre hackers de cartão de crédito, deixe nos comentários ou entre em contato comigo por e-mail em [email protected] ou no Twitter em @synsecblog. Chamar a polícia geralmente é inútil nesses casos, mas pode valer a pena tentar. O determinado comerciante ou o provedor do cartão geralmente está mais interessado em resolver o problema.

Para onde ir a partir daqui

Bem, o Google obviamente tem que consertar isso, possivelmente com a ajuda de grandes players como Visa e Mastercard. De fato, Haselton fornece várias sugestões interessantes nos dois artigos vinculados acima.

O que você precisa fazer, no entanto (e por que eu escrevi este post), é espalhar a palavra. A fraude de cartão de crédito é uma grande indústria, e a simples conscientização pode evitar que você se torne uma vítima. Além disso, se você tiver um site de comércio eletrônico ou lidar com qualquer processamento de cartão de crédito, verifique se está seguro. PCI-DSS é uma boa diretriz, mas está longe de ser perfeita. Além disso, é sempre uma boa ideia pesquisar seu site no Google com a consulta avançada “site:mysite.com”, procurando por números confidenciais. Há uma chance muito, muito pequena de você encontrar alguma coisa, mas se você encontrar, você deve agir imediatamente.

Além disso, um conselho amigável: você nunca deve fornecer suas informações de cartão de crédito a ninguém. Meu conselho seria usar o PayPal ou um serviço semelhante sempre que possível. Você pode conferir esses links para mais informações:

  • Dicas de segurança do cartão de crédito Visa
  • Dicas de segurança do cartão de crédito do Citi

E algumas dicas gerais: não baixe coisas que você não pediu, não abra e-mails de spam e lembre-se de que seu banco nunca pedirá sua senha.

A propósito: se você acha que não há ninguém estúpido o suficiente para cair nessas técnicas de hacking de cartão de crédito ou divulgar suas informações de cartão de crédito na internet, dê uma olhada em @NeedADebitCard.

Fiquem seguros pessoas!