12 KiB
Pentesting RFID
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Introdução
Identificação por Radiofrequência (RFID) é a solução de rádio de curto alcance mais popular. É geralmente usada para armazenar e transmitir informações que identificam uma entidade.
Um tag RFID pode depender de sua própria fonte de energia (ativa), como uma bateria embutida, ou receber sua energia da antena de leitura usando a corrente induzida pelas ondas de rádio recebidas (passiva).
Classes
A EPCglobal divide os tags RFID em seis categorias. Um tag em cada categoria possui todas as capacidades listadas na categoria anterior, tornando-o retrocompatível.
- Os tags da Classe 0 são tags passivas que operam em bandas de UHF. O fornecedor pré-programa eles na fábrica de produção. Como resultado, você não pode alterar as informações armazenadas em sua memória.
- Os tags da Classe 1 também podem operar em bandas de HF. Além disso, eles podem ser gravados apenas uma vez após a produção. Muitos tags da Classe 1 também podem processar verificações de redundância cíclica (CRCs) dos comandos que recebem. CRCs são alguns bytes extras no final dos comandos para detecção de erros.
- Os tags da Classe 2 podem ser gravados várias vezes.
- Os tags da Classe 3 podem conter sensores embutidos que podem registrar parâmetros ambientais, como a temperatura atual ou o movimento do tag. Esses tags são semi-passivos, porque embora eles tenham uma fonte de energia embutida, como uma bateria integrada, eles não podem iniciar a comunicação sem fio com outros tags ou leitores.
- Os tags da Classe 4 podem iniciar comunicação com outros tags da mesma classe, tornando-os tags ativos.
- Os tags da Classe 5 podem fornecer energia para outros tags e se comunicar com todas as classes de tags anteriores. Os tags da Classe 5 podem atuar como leitores RFID.
Informações Armazenadas em Tags RFID
A memória de um tag RFID geralmente armazena quatro tipos de dados: os dados de identificação, que identificam a entidade à qual o tag está anexado (esses dados incluem campos definidos pelo usuário, como contas bancárias); os dados suplementares, que fornecem mais detalhes sobre a entidade; os dados de controle, usados para a configuração interna do tag; e os dados do fabricante do tag, que contêm um Identificador Único do tag (UID) e detalhes sobre a produção, tipo e fornecedor do tag. Você encontrará os dois primeiros tipos de dados em todos os tags comerciais; os últimos dois podem diferir com base no fornecedor do tag.
O padrão ISO especifica o valor do Identificador de Família de Aplicação (AFI), um código que indica o tipo de objeto ao qual o tag pertence. Outro registro importante, também especificado pela ISO, é o Identificador de Formato de Armazenamento de Dados (DSFID), que define a organização lógica dos dados do usuário.
A maioria dos controles de segurança RFID possui mecanismos que restrigem as operações de leitura ou gravação em cada bloco de memória do usuário e nos registros especiais que contêm os valores AFI e DSFID. Esses mecanismos de bloqueio usam dados armazenados na memória de controle e têm senhas padrão pré-configuradas pelo fornecedor, mas permitem que os proprietários do tag configurem senhas personalizadas.
Comparação de Tags de Baixa e Alta Frequência
Tags RFID de Baixa Frequência (125kHz)
Os tags de baixa frequência são frequentemente usados em sistemas que não requerem alta segurança: acesso a prédios, chaves de intercomunicador, cartões de associação de academia, etc. Devido ao seu maior alcance, são convenientes para uso em estacionamento pago: o motorista não precisa trazer o cartão perto do leitor, pois é acionado de mais longe. Ao mesmo tempo, os tags de baixa frequência são muito primitivos, têm uma baixa taxa de transferência de dados. Por essa razão, é impossível implementar transferências de dados bidirecionais complexas para coisas como manter saldo e criptografia. Os tags de baixa frequência apenas transmitem seu ID curto sem qualquer meio de autenticação.
Esses dispositivos dependem da tecnologia RFID passiva e operam em uma faixa de 30 kHz a 300 kHz, embora seja mais comum usar 125 kHz a 134 kHz:
- Longo Alcance — frequência mais baixa se traduz em maior alcance. Existem alguns leitores EM-Marin e HID, que funcionam a uma distância de até um metro. Esses são frequentemente usados em estacionamentos.
- Protocolo primitivo — devido à baixa taxa de transferência de dados, esses tags podem apenas transmitir seu ID curto. Na maioria dos casos, os dados não são autenticados e não estão protegidos de forma alguma. Assim que o cartão está na faixa do leitor, ele começa a transmitir seu ID.
- Baixa segurança — Esses cartões podem ser facilmente copiados, ou até mesmo lidos do bolso de outra pessoa devido à primitividade do protocolo.
Protocolos populares de 125 kHz:
- EM-Marin — EM4100, EM4102. O protocolo mais popular na CEI. Pode ser lido a cerca de um metro devido à sua simplicidade e estabilidade.
- HID Prox II — protocolo de baixa frequência introduzido pela HID Global. Este protocolo é mais popular em países ocidentais. É mais complexo e os cartões e leitores para este protocolo são relativamente caros.
- Indala — protocolo de baixa frequência muito antigo que foi introduzido pela Motorola e, posteriormente, adquirido pela HID. É menos provável que você o encontre na natureza em comparação com os dois anteriores, pois está caindo em desuso.
Na realidade, existem muitos mais protocolos de baixa frequência. Mas todos eles usam a mesma modulação na camada física e podem ser considerados, de uma forma ou de outra, uma variação dos listados acima.
Ataque
Você pode atacar esses Tags com o Flipper Zero:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %} fz-125khz-rfid.md {% endcontent-ref %}
Tags RFID de Alta Frequência (13.56 MHz)
Os tags de alta frequência são usados para uma interação mais complexa entre leitor e tag quando você precisa de criptografia, uma grande transferência de dados bidirecional, autenticação, etc.
Geralmente, são encontrados em cartões bancários, transporte público e outros passes seguros.
Os tags de alta frequência de 13.56 MHz são um conjunto de padrões e protocolos. Eles são geralmente referidos como NFC, mas isso nem sempre é correto. O conjunto de protocolos básico usado nos níveis físico e lógico é o ISO 14443. Protocolos de alto nível, bem como padrões alternativos (como ISO 19092), são baseados nele. Muitas pessoas se referem a essa tecnologia como Comunicação em Campo Próximo (NFC), um termo para dispositivos que operam na frequência de 13.56 MHz.
Simplificando, a arquitetura do NFC funciona assim: o protocolo de transmissão é escolhido pela empresa que fabrica os cartões e implementado com base no ISO 14443 de baixo nível. Por exemplo, a NXP inventou seu próprio protocolo de transmissão de alto nível chamado Mifare. Mas no nível inferior, os cartões Mifare são baseados no padrão ISO 14443-A.
O Flipper pode interagir tanto com o protocolo ISO 14443 de baixo nível, quanto com o protocolo de transferência de dados Mifare Ultralight e EMV usado em cartões bancários. Estamos trabalhando para adicionar suporte para Mifare Classic e NFC NDEF. Uma análise detalhada dos protocolos e padrões que compõem o NFC merece um artigo separado que planejamos publicar mais tarde.
Todos os cartões de alta frequência baseados no padrão ISO 14443-A têm um ID de chip único. Ele atua como o número de série do cartão, como o endereço MAC de um cartão de rede. Normalmente, o UID tem 4 ou 7 bytes de comprimento, mas pode raramente chegar até 10. UIDs não são um segredo e são facilmente legíveis, às vezes até impressos no próprio cartão.
Existem muitos sistemas de controle de acesso que dependem do UID para autenticar e conceder acesso. Às vezes isso acontece mesmo quando os tags RFID suportam criptografia. Tal uso indevido os rebaixa ao nível dos cartões de 125 kHz em termos de segurança. Cartões virtuais (como Apple Pay) usam um UID dinâmico para que os proprietários de telefones não abram portas com seu aplicativo de pagamento.
- Baixo alcance — cartões de alta frequência são especificamente projetados para que precisem ser colocados perto do leitor. Isso também ajuda a proteger o cartão de interações não autorizadas. O máximo de alcance de leitura que conseguimos alcançar foi de cerca de 15 cm, e isso foi com leitores de longo alcance feitos sob medida.
- Protocolos avançados — velocidades de transferência de dados de até 424 kbps permitem protocolos complexos com transferência de dados bidirecional completa. O que, por sua vez, permite criptografia, transferência de dados, etc.
- Alta segurança — cartões de contato sem fio de alta frequência não são de forma alguma inferiores aos cartões inteligentes. Existem cartões que suportam algoritmos criptograficamente fortes como AES e implementam criptografia assimétrica.
Ataque
Você pode atacar esses Tags com o Flipper Zero:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %} fz-nfc.md {% endcontent-ref %}
Ou usando o proxmark:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}
Referências
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.