# Pentesting RFID {% hint style="success" %} Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) <details> <summary>Support HackTricks</summary> * Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)! * **Junte-se ao** đŹ [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** đŠ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositĂłrios do github. </details> {% endhint %} ## 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 retrocompatĂvel. * As etiquetas **Classe 0** sĂŁo etiquetas **passivas** que operam em bandas **UHF**. O fornecedor **prĂ©-programa** elas na fĂĄbrica de produção. Como resultado, vocĂȘ **nĂŁo pode alterar** as informaçÔes armazenadas em sua memĂłria. * As etiquetas **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 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 **Classe 2** podem ser **gravadas vĂĄrias vezes**. * As etiquetas **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 **Classe 4** podem iniciar comunicação com outras etiquetas da mesma classe, tornando-as **etiquetas ativas**. * As etiquetas **Classe 5** podem fornecer **energia para outras etiquetas e se comunicar com todas as classes de etiquetas anteriores**. As etiquetas 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 Ășltimos dois podem diferir com base no fornecedor da etiqueta. 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 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** 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 da etiqueta **configurem senhas personalizadas**. ### Comparação de Etiquetas de Baixa e Alta FrequĂȘncia <figure><img src="../../.gitbook/assets/image (983).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 prĂ©dios, chaves de intercomunicador, cartĂ”es de associação de academias, 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, as etiquetas de baixa frequĂȘncia sĂŁo muito primitivas, 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. As etiquetas 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, essas etiquetas 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 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="flipper-zero/fz-125khz-rfid.md" %} [fz-125khz-rfid.md](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 vocĂȘ precisa de criptografia, uma grande transferĂȘncia de dados bidirecional, autenticação, etc.\ Geralmente sĂŁo encontradas em cartĂ”es bancĂĄrios, transporte pĂșblico e outros passes seguros. As **etiquetas de alta frequĂȘncia de 13.56 MHz sĂŁo um conjunto de padrĂ”es e protocolos**. Elas sĂŁo geralmente referidas como [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), mas isso nem sempre Ă© correto. O conjunto bĂĄsico de protocolos usados 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. <figure><img src="../../.gitbook/assets/image (930).png" alt=""><figcaption></figcaption></figure> 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 **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**. Tal **uso indevido** as reduz 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 alcance mĂĄximo 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 essas Etiquetas com o Flipper Zero**: {% content-ref url="flipper-zero/fz-nfc.md" %} [fz-nfc.md](flipper-zero/fz-nfc.md) {% endcontent-ref %} Ou usando o **proxmark**: {% content-ref url="proxmark-3.md" %} [proxmark-3.md](proxmark-3.md) {% endcontent-ref %} ## ReferĂȘncias * [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/) {% hint style="success" %} Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) <details> <summary>Support HackTricks</summary> * Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)! * **Junte-se ao** đŹ [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** đŠ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositĂłrios do github. </details> {% endhint %}