vpereira / bilhete

reverse engineer bilhete unico
43 stars 8 forks source link

Dúvidas #1

Open VozDeOuro opened 4 years ago

VozDeOuro commented 4 years ago

Olá gosto muito da area de rfid e tenho uma dúvida a respeito das "keys" A e B Tem como me dar uma ajuda ?

mac3d0 commented 4 years ago

Eu gostaria de saber se o dono desse git consegui modificar o saldo do cartão editando os dumps, em São Paulo parece ser fácil, difente do rio que a segurança é um pouco maior, nosso hex vem muito mais embaralhado.

VozDeOuro commented 4 years ago

@mac3d0 acho que da pra modificar quase tudo sim. o hex so vem embaralhado pq vc nao colocou as "keys" certas, acredito eu.

mateuspestana commented 4 years ago

No caso do Riocard, não é possível. O saldo não fica no cartão, mas num servidor que o verifica quando há o contato.

VozDeOuro commented 4 years ago

@mateuspestana n sabia vlw. mas e se o servidor cair ? vcs n conseguem usar o cartao ? tem algum tipo de redundância? ou isso nunca aconteceu ?

mac3d0 commented 3 years ago

@mateuspestana aqui no Rio esses servidores nunca caiu... @VozDeOuro aqui no Rio tinha uma quadrilha que eles conseguiram modificar o saldo do cartão, a própria polícia civil afirmou isso, por isso venho estudando incansavelmente atrás disso e não obtive resultados. Gostariam de pegar meu contato ?

VozDeOuro commented 3 years ago

@mac3d0 claro, me da um toque la no telegram. meu @ é @VozDeOuro

vpereira commented 2 years ago

No caso do Riocard, não é possível. O saldo não fica no cartão, mas num servidor que o verifica quando há o contato.

Mas voce nao passa o cartao no Onibus direto na catraca? O Onibus esta online?

izidoro3112 commented 2 years ago

valor fica no cartao sim basta saber aonde, conheci algumas pessoas de sao paulo que modificava o valor no proprio cartao mas oo amigo ficou desconfiado e nao me passou muitas informacoes. tenho as chaves de acesso, o cartao nao aceita clonagem, bloqueia no mesmo instante que passa no validador, resta saber modificar o saldo sem danificar o cartao, ja tentei algumas modificaçoes o cartao blouqea tambem.

izidoro3112 commented 2 years ago

No caso do Riocard, não é possível. O saldo não fica no cartão, mas num servidor que verifica quando há o contato.

fica no cartao, ja conheci pessoas que fez acesso.

mac3d0 commented 2 years ago

No caso do Riocard, não é possível. O saldo não fica no cartão, mas num servidor que verifica quando há o contato.

fica no cartao, ja conheci pessoas que fez acesso.

Realmente, o valor fica no cartão, depois de fazer muitos testes descobri como funciona algumas partes do sistema do RJ e demais estados que usam a mesma tecnologia, no caso, o Mifare Classic 2k Plus, que é uma variação do 1k.

Os validadores de trem e metrô são um pouco mais inteligentes, eles ficam conectados na internet direto, em seu back-end antes de autorizar um cartão a passar ou não ele faz uma validação na sua base de dados se esse cartão passou em minutos em algum outro lugar, saldo, se os setores e blocos estão intactos. Caso o software detecte algum tipo de fraude ele bloqueia hora.

Eu não testei a possibilidade de fazer um clone perfeito e testar ainda nos leitores do trem, pelo motivo de passagem está bem cara.

Enquanto os leitores do ônibus são um pouco mais "lerdos", pelo motivo de não ficar conectado na internet é possível fraudar bem facilmente. Uma vez que obter o cartão com um determinado saldo, gere o dump dele e guarde, use o cartão só não deixe o mesmo zerar e gere outro dump dele. Sobrescreva o dump cheio no vazio e terá seu cartão como na primeira vez que gerou o dump dele. Isso aqui no rio funcionou perfeitamente. Eu também cheguei a fazer alguns clones, clone meu cartão de passagem em um chines e testei, funcionou perfeitamente.

Não é possível encontrar o saldo do cartão nesses sistemas atuais, o software que eles usam nas centrais de abastecimento como RioCard+ entre outras ele injeta os dados criptografados no cartão, sendo assim "inútil" o conteúdo de dentro do cartão sem obter o software para ver o que realmente tem dentro. O saldo está lá, o problema é encontrar ele, e fazer a alteração sem danificar o sistema de integridade do chip. Até hoje, o único método eficaz que encontrei é comprar ele novo(gerar o dump quando chego em casa), usá-lo e quando estiver próximo ao fim ponho o arquivo "novo" nele.

mac3d0 commented 2 years ago

No caso do Riocard, não é possível. O saldo não fica no cartão, mas num servidor que o verifica quando há o contato.

Mas voce nao passa o cartao no Onibus direto na catraca? O Onibus esta online?

Meu amigo, me desculpe pela demora, fiquei um tempo sem olhar esse tópico, mas o ônibus não está on 24 horas não. De uma olhada na resposta que dei no amigo de baixo, isso pode te ajudar em alguma coisa.

izidoro3112 commented 2 years ago

tentei essas duas formas tambem, criando um damp , usei uma vez, fiz o despejo e fui bloqueado, copia com cartao chines bloquea os 2, acho que o sistema de onibus esta online tambem, vou copiar o softawe da propria maquina que faz o saldo rsrsrs

izidoro3112 commented 2 years ago

realisei os dos testes descrito a cima onteontem.

izidoro3112 commented 2 years ago

tenho um chamelionmini fiz o despejo no mesmo e o sistema nao reconhece a uid da error. a engenharia no rio esta forte.

mac3d0 commented 2 years ago

tentei essas duas formas tambem, criando um damp , usei uma vez, fiz o despejo e fui bloqueado, copia com cartao chines bloquea os 2, acho que o sistema de onibus esta online tambem, vou copiar o softawe da propria maquina que faz o saldo rsrsrs

Acho complicado obter o software deles, mas se você tem, praticamente você é um "agente legal"

mac3d0 commented 2 years ago

tenho um chamelionmini fiz o despejo no mesmo e o sistema nao reconhece a uid da error. a engenharia no rio esta forte.

Hummm olha eu posso estar enganado, ma eu tenho um conhecido que tem, tem um proxymark também, e ele não consegue gerar clones em ambos. Eu uso o acr122u com a lib nfc-lib e suas tools, consigo mexer sem problemas. Gerar dumps, clones entre outras coisas.

Nunca vi sistema de ônibus ficar on, a não ser o BRT(as estações físicas), mas dos padrões acho que não tem um. Meu amigo, se você quiser me mostrar o conteúdo e como fez os testes me chama no Telegram @Maced0

vpereira commented 2 years ago

Nunca vi sistema de ônibus ficar on, a não ser o BRT(as estações físicas), mas dos padrões acho que não tem um. Meu amigo, se você quiser me mostrar o conteúdo e como fez os testes me chama no Telegram @Maced0

claro minha pergunta foi retorica. Nao existe a menor chance do onibus estar online o tempo todo, especialmente no rio. Caso esse fosse o cenario, mais interessante seria verificar diretamente a conexao com o backend!

Com proxmark eu consigo identificar e brincar com Mifare classic 2k sem problemas. O processo descrito nesse video (encontrei por acaso, em portugues <3) https://www.youtube.com/watch?v=H11aKkq2Fgw eh um bom comeco, para quem quer fazer algo com ACR122.

mac3d0 commented 2 years ago

Nunca vi sistema de ônibus ficar on, a não ser o BRT(as estações físicas), mas dos padrões acho que não tem um. Meu amigo, se você quiser me mostrar o conteúdo e como fez os testes me chama no Telegram @Maced0

claro minha pergunta foi retorica. Nao existe a menor chance do onibus estar online o tempo todo, especialmente no rio. Caso esse fosse o cenario, mais interessante seria verificar diretamente a conexao com o backend!

Com proxmark eu consigo identificar e brincar com Mifare classic 2k sem problemas. O processo descrito nesse video (encontrei por acaso, em portugues <3) https://www.youtube.com/watch?v=H11aKkq2Fgw eh um bom comeco, para quem quer fazer algo com ACR122.

Eu consigo mexer no cartão de boa, me dou super bem com o acr122u, conheço boas ferramentas que me ajudaram a ter um conhecimento como funciona o sistema aqui no Rio, não estou tão crú assim rs.

Mas falando sério agora, eu parei para da uma lida na documentação de alguns validadores de ônibus mais comuns aqui no Rio, e vi que muitos deles(os novos) tem 3g ou 4g agora o sistema fica online com mais frequência, e ao meu ver eu acredito que essa conexão seja feita para ficar atualizando a base de dados de decremento etc...  https://fccid.io/ANATEL/02445-14-06323/Manual-em-Portugues/9C0F29AC-4D1A-45ED-8142-F43B974DF79B/PDF Esse validador é um dos mais comuns, no momento eu desviei meu caminho, tirei o foco totalmente dos cartões e comecei a estudar o sistema todo em sí, só que tem muitas coisas que não sei como é ainda, 0 informações sobre o back-end.

Eu não tive a oportunidade de pegar um proxmark na mão ainda, mas é possível ver essa comunicação do leitor e do back-end com ele? Eu estava pensando em colocar um cabo no leitor em alguma estação vazia(Só pensei mesmo, me falta coragem rs) para tentar farejar alguma coisa. Tem algumas máquinas que tem sua fiação para fora, tem um conector RJ-45 ou USB. Gostaria de ter a oportunidade de plugar em uma dessas entradas. Ao meu ponto de vista, no momento está "impossível" fraudar o cartão, não que o meu objetivo final seja esse. Mas realmente, a segurança que esse Mifare Classic 2k Plus, essa segurança a mais não vem apenas no cartão, até por que ele é o 1k, só que com uma criptografia maior nas chaves. Porém ele é muito mais integrado com back-end, e sem ter conhecimento deste back-end fica impossível de se fazer algo.

vpereira commented 2 years ago

Eu não tive a oportunidade de pegar um proxmark na mão ainda, mas é possível ver essa comunicação do leitor e do back-end com ele?

Com proxmark voce nao consegue ver nada em relacao ao backend. Com Proxmark eh possivel clonar o UID, mas voce precisa decriptar o cartao e fazer o dump, e caso nao estejam usando as chaves default, voce tem que sniffar a chave em transito.

Eu estava pensando em colocar um cabo no leitor em alguma estação vazia(Só pensei mesmo, me falta coragem rs) para tentar farejar alguma coisa.

Quando eu testei eu criei esse repositorio para ajudar pesquisadores a entender o processo. Na epoca enviei um relatorio para uma empresa de transportes, e deixei aqui como registro historico. A ideia do projeto eh melhor a seguranca do sistema atual.

Mas falando sério agora, eu parei para da uma lida na documentação de alguns validadores de ônibus mais comuns aqui no Rio, e vi que muitos deles(os novos) tem 3g ou 4g agora o sistema fica online com mais frequência, e ao meu ver eu acredito que essa conexão seja feita para ficar atualizando a base de dados de decremento etc... https://fccid.io/ANATEL/02445-14-06323/Manual-em-Portugues/9C0F29AC-4D1A-45ED-8142-F43B974DF79B/PDF

Obrigado pelo link, infelizmente o documento contem somente informacoes sobre instalacoes fisicas porem, tambem vi a existencia de conexao com a rede de telefonia movel. Ter o backend online e a informacao de saldo salva no backend realmente eh a melhor forma de fazer o controle. Porem pela geografia do RJ, presenca de tuneis e etc, acredito que seria inviavel. Caso seja verdade, seria interessante saber o que acontece quando o equipamento nao tem sinal: DoS no sistema de pagamento ou o equipamento salva as transacoes offline e espera ficar online novamente para executar as transacoes?

mac3d0 commented 2 years ago

Eu não tive a oportunidade de pegar um proxmark na mão ainda, mas é possível ver essa comunicação do leitor e do back-end com ele?

Com proxmark voce nao consegue ver nada em relacao ao backend. Com Proxmark eh possivel clonar o UID, mas voce precisa decriptar o cartao e fazer o dump, e caso nao estejam usando as chaves default, voce tem que sniffar a chave em transito.

Eu estava pensando em colocar um cabo no leitor em alguma estação vazia(Só pensei mesmo, me falta coragem rs) para tentar farejar alguma coisa.

Quando eu testei eu criei esse repositorio para ajudar pesquisadores a entender o processo. Na epoca enviei um relatorio para uma empresa de transportes, e deixei aqui como registro historico. A ideia do projeto eh melhor a seguranca do sistema atual.

Mas falando sério agora, eu parei para da uma lida na documentação de alguns validadores de ônibus mais comuns aqui no Rio, e vi que muitos deles(os novos) tem 3g ou 4g agora o sistema fica online com mais frequência, e ao meu ver eu acredito que essa conexão seja feita para ficar atualizando a base de dados de decremento etc... https://fccid.io/ANATEL/02445-14-06323/Manual-em-Portugues/9C0F29AC-4D1A-45ED-8142-F43B974DF79B/PDF

Obrigado pelo link, infelizmente o documento contem somente informacoes sobre instalacoes fisicas porem, tambem vi a existencia de conexao com a rede de telefonia movel. Ter o backend online e a informacao de saldo salva no backend realmente eh a melhor forma de fazer o controle. Porem pela geografia do RJ, presenca de tuneis e etc, acredito que seria inviavel. Caso seja verdade, seria interessante saber o que acontece quando o equipamento nao tem sinal: DoS no sistema de pagamento ou o equipamento salva as transacoes offline e espera ficar online novamente para executar as transacoes?

Acredito que sim, ele deve salvar os dados na sua memória física e quando fica on ele manda esses dados. Isso não é 100%, é apenas situações que podem ser verdade.

O documento ele não trás "tantas informações" assim por que seria um tiro no pé, eles revelarem como o validador funciona e seus detalhes. Mas mostra o circuito, quem manja de eletrônica já pode dar uma brincada. O ruim é ser pego.

Eu tenho uma ideia que desejo fazer a um tempo, se você chegar bem cedo em alguma estação, mas tem que ser antes dela abrir, e você ver eles ligando os validadores vai ver um IP externo pra cada validador. Eu vi isso uma vez, não consegui gravar nenhum, mas estou pensando seriamente em acordar cedo e tentar tirar algumas fotos nesse processo. Talvez seriai interessante olhar a rede deles, pode ter serviços com versões velhas e com exploits, senhas padrões e coisas do tipo. (Esse é meu último recurso na manga que pretendo fazer.)

NicholasUchoa commented 2 years ago

Desculpa ressucitar o tópico. Agora que vim ver que tinha comentários. Estou tentando descobrir as chaves desse cartão do RioCard. Usando o proxmark, descobri as chaves do bilhete único aqui no RJ mas como mudaram de cartão, então mudou tudo. Como o vpereira falou, e também falaram isso no discord do proxmark, o único jeito de descobrir as chaves, seria usar proxmark ou outro, e fazer um sniff quando for usar o cartão na máquina ou talvez quando for recarregar. Tenho um proxmark antigo, nem é o 3 ou 4, ele é "grande" então não daria certo fazer isso.

Falaram de telegram ai ? Posso entrar nesse grupo caso exista? Flw

lucas-freitas00 commented 2 years ago

Olá pessoal, estive acompanhando aqui a discussão, e resolvi participar.

Já consegui realizar a quebra das chaves dos cartões, poré os dados se encontram criptografados dentro do cartão, estou no processo de decodificar os dados para poder fazer algo.

Criei um Grupo no Telegram pra quem quiser participar => https://t.me/RIOCARDRFID

vpereira commented 9 months ago

Revivendo essa thread, após assistir essa apresentacao recente https://www.youtube.com/watch?v=1JT_lTfK69Q

Muitos dos conceitos que usei, principalmente pra fazer a engenharia reversa, foram "descobertos" e descritos pelos garotos de Boston, em 2023 ;)

Have fun 👍