mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 00:49:40 +00:00
107 lines
12 KiB
Markdown
107 lines
12 KiB
Markdown
# Teste de penetração RFID
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda a hackear a AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Especialista em Equipe Vermelha AWS do HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
## 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.
|
|
|
|
Uma etiqueta 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 as etiquetas RFID em seis categorias. Uma etiqueta em cada categoria possui todas as capacidades listadas na categoria anterior, tornando-a compatível com versões anteriores.
|
|
|
|
* As etiquetas da **Classe 0** são etiquetas **passivas** que operam em bandas **UHF**. O fornecedor as **pré-programa** na fábrica de produção. Como resultado, você **não pode alterar** as informações armazenadas em sua memória.
|
|
* As etiquetas da **Classe 1** também podem operar em bandas **HF**. Além disso, elas podem ser **gravadas apenas uma vez** após a produção. Muitas etiquetas da Classe 1 também podem processar **verificações de redundância cíclica** (CRCs) dos comandos que recebem. Os CRCs são alguns bytes extras no final dos comandos para detecção de erros.
|
|
* As etiquetas da **Classe 2** podem ser **gravadas várias vezes**.
|
|
* As etiquetas da **Classe 3** podem conter **sensores embutidos** que podem registrar parâmetros ambientais, como a temperatura atual ou o movimento da etiqueta. Essas etiquetas são **semi-passivas**, porque embora **tenham** uma fonte de energia embutida, como uma **bateria** integrada, elas **não podem iniciar** a **comunicação** sem fio com outras etiquetas ou leitores.
|
|
* As etiquetas da **Classe 4** podem iniciar a comunicação com outras etiquetas da mesma classe, tornando-as etiquetas **ativas**.
|
|
* As etiquetas da **Classe 5** podem fornecer **energia para outras etiquetas e se comunicar com todas as classes de etiquetas anteriores**. As etiquetas da Classe 5 podem atuar como **leitores RFID**.
|
|
|
|
### Informações Armazenadas em Etiquetas RFID
|
|
|
|
A memória de uma etiqueta RFID geralmente armazena quatro tipos de dados: os **dados de identificação**, que **identificam** a **entidade** à qual a etiqueta está anexada (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** da etiqueta; e os **dados do fabricante** da etiqueta, que contêm um Identificador Único da etiqueta (**UID**) e detalhes sobre a **produção**, **tipo** e **fornecedor** da etiqueta. Você encontrará os dois primeiros tipos de dados em todas as etiquetas comerciais; os dois últimos podem variar com base no fornecedor da etiqueta.
|
|
|
|
O padrão ISO especifica o valor do Identificador de Família de Aplicativos (**AFI**), um código que indica o **tipo de objeto** ao qual a etiqueta 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** de RFID possui mecanismos que **restringem** 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 da etiqueta **configurem senhas personalizadas**.
|
|
|
|
### Comparação de etiquetas de baixa e alta frequência
|
|
|
|
<figure><img src="../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
## Etiquetas RFID de Baixa Frequência (125kHz)
|
|
|
|
As **etiquetas de baixa frequência** são frequentemente usadas em sistemas que **não requerem alta segurança**: acesso a edifícios, chaves de intercomunicação, cartões de associação de academia, etc. Devido ao seu alcance maior, são convenientes para uso em estacionamentos pagos: o motorista não precisa aproximar o cartão do leitor, pois ele é acionado de longe. Ao mesmo tempo, as etiquetas de baixa frequência são muito primitivas, têm uma baixa taxa de transferência de dados. Por esse motivo, é impossível implementar uma transferência de dados bidirecional complexa para coisas como manter o saldo e criptografia. As etiquetas de baixa frequência apenas transmitem seu ID curto sem nenhum 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:
|
|
|
|
* **Alcance Longo** — a 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. Eles são frequentemente usados em estacionamentos.
|
|
* **Protocolo primitivo** — devido à baixa taxa de transferência de dados, essas etiquetas só podem transmitir seu ID curto. Na maioria dos casos, os dados não são autenticados e não são protegidos de forma alguma. Assim que o cartão está dentro do alcance 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 de distância devido à sua simplicidade e estabilidade.
|
|
* **HID Prox II** — protocolo de baixa frequência introduzido pela HID Global. Este protocolo é mais popular nos 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 introduzido pela Motorola e posteriormente adquirido pela HID. É menos provável que você encontre isso 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 essas Etiquetas com o Flipper Zero**:
|
|
|
|
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %}
|
|
[fz-125khz-rfid.md](../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Etiquetas RFID de Alta Frequência (13,56 MHz)
|
|
|
|
As **etiquetas de alta frequência** são usadas para uma interação mais complexa entre leitor e etiqueta quando é necessário criptografia, uma grande transferência de dados bidirecional, autenticação, etc.\
|
|
Geralmente são encontradas em cartões bancários, transporte público e outras passagens seguras.
|
|
|
|
**As etiquetas de alta frequência de 13,56 MHz são um conjunto de padrões e protocolos**. Geralmente são referidas como [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), mas nem sempre é correto. O conjunto básico de protocolos usado nos níveis físico e lógico é o ISO 14443. Protocolos de alto nível, bem como padrões alternativos (como o ISO 19092), são baseados nele. Muitas pessoas se referem a essa tecnologia como **Near Field Communication (NFC)**, um termo para dispositivos que operam na frequência de 13,56 MHz.
|
|
|
|
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Para simplificar, a arquitetura do NFC funciona assim: o protocolo de transmissão é escolhido pela empresa que fabrica os cartões e implementado com base no padrão 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 em um nível mais baixo, os cartões Mifare são baseados no padrão ISO 14443-A.
|
|
|
|
O Flipper pode interagir tanto com o protocolo de baixo nível ISO 14443, quanto com o protocolo de transferência de dados Mifare Ultralight e EMV usado em cartões bancários. Estamos trabalhando para adicionar suporte ao Mifare Classic e NFC NDEF. Uma análise detalhada dos protocolos e padrões que compõem o NFC vale um artigo separado que planejamos publicar posteriormente.
|
|
|
|
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 raramente pode chegar a **10**. Os 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 as etiquetas RFID **suportam criptografia**. Esse **uso indevido** as coloca no mesmo nível das **etiquetas de 125 kHz** em termos de **segurança**. Cartões virtuais (como o Apple Pay) usam um UID dinâmico para que os proprietários de telefones não saiam abrindo portas com seu aplicativo de pagamento.
|
|
|
|
* **Curto alcance** — os cartões de alta frequência são projetados especificamente para serem colocados perto do leitor. Isso também ajuda a proteger o cartão de interações não autorizadas. A distância máxima 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** — os cartões sem contato 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 essas Etiquetas com o Flipper Zero**:
|
|
|
|
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
|
|
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
|
|
{% endcontent-ref %}
|
|
|
|
Ou usando o **proxmark**:
|
|
|
|
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
|
|
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Referências
|
|
|
|
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
|