# Pentesting RFID
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %}
## Einführung
**Radio Frequency Identification (RFID)** ist die beliebteste Kurzstrecken-Radio-Lösung. Es wird normalerweise verwendet, um Informationen zu speichern und zu übertragen, die eine Entität identifizieren.
Ein RFID-Tag kann auf **seine eigene Stromquelle (aktiv)**, wie eine eingebaute Batterie, angewiesen sein oder seine Energie von der Lesantenne über den aktuellen **induzieren aus den empfangenen Radiowellen** (**passiv**) beziehen.
### Klassen
EPCglobal unterteilt RFID-Tags in sechs Kategorien. Ein Tag in jeder Kategorie hat alle in der vorherigen Kategorie aufgeführten Fähigkeiten, was es rückwärtskompatibel macht.
* **Klasse 0**-Tags sind **passive** Tags, die in **UHF**-Bändern arbeiten. Der Anbieter **programmiert** sie im Produktionswerk vor. Daher **kann** man die in ihrem Speicher gespeicherten Informationen **nicht ändern**.
* **Klasse 1**-Tags können ebenfalls in **HF**-Bändern arbeiten. Darüber hinaus können sie **nur einmal** nach der Produktion **beschrieben** werden. Viele Klasse 1-Tags können auch **zyklische Redundanzprüfungen** (CRCs) der empfangenen Befehle verarbeiten. CRCs sind einige zusätzliche Bytes am Ende der Befehle zur Fehlererkennung.
* **Klasse 2**-Tags können **mehrmals beschrieben** werden.
* **Klasse 3**-Tags können **eingebettete Sensoren** enthalten, die Umweltparameter wie die aktuelle Temperatur oder die Bewegung des Tags aufzeichnen können. Diese Tags sind **semi-passiv**, da sie zwar eine eingebaute Stromquelle, wie eine integrierte **Batterie**, **haben**, aber **keine** drahtlose **Kommunikation** mit anderen Tags oder Lesegeräten **initiieren können**.
* **Klasse 4**-Tags können die Kommunikation mit anderen Tags derselben Klasse initiieren, was sie zu **aktiven Tags** macht.
* **Klasse 5**-Tags können **Strom an andere Tags liefern und mit allen vorherigen Tag**-Klassen kommunizieren. Klasse 5-Tags können als **RFID-Leser** fungieren.
### Informationen, die in RFID-Tags gespeichert sind
Der Speicher eines RFID-Tags speichert normalerweise vier Arten von Daten: die **Identifikationsdaten**, die die **Entität** identifizieren, an die das Tag angehängt ist (diese Daten umfassen benutzerdefinierte Felder wie Bankkonten); die **zusätzlichen Daten**, die **weitere** **Details** zur Entität bereitstellen; die **Steuerdaten**, die für die interne **Konfiguration** des Tags verwendet werden; und die **Herstellerdaten** des Tags, die die eindeutige Kennung des Tags (**UID**) und Details zur **Produktion**, **Typ** und **Anbieter** des Tags enthalten. Die ersten beiden Arten von Daten finden Sie in allen kommerziellen Tags; die letzten beiden können je nach Anbieter des Tags variieren.
Der ISO-Standard spezifiziert den Wert des Application Family Identifier (**AFI**), einen Code, der die **Art des Objekts** angibt, zu dem das Tag gehört. Ein weiteres wichtiges Register, das ebenfalls von ISO spezifiziert wird, ist der Data Storage Format Identifier (**DSFID**), der die **logische Organisation der Benutzerdaten** definiert.
Die meisten RFID-**Sicherheitskontrollen** haben Mechanismen, die die **Lese**- oder **Schreib**-Operationen auf jedem Benutzerspeicherblock und auf den speziellen Registern, die die AFI- und DSFID-Werte enthalten, **einschränken**. Diese **Sperr**-**mechanismen** verwenden Daten, die im Steuerungsspeicher gespeichert sind, und haben **vorkonfigurierte Standardpasswörter** des Anbieters, erlauben es jedoch den Tag-Besitzern, **benutzerdefinierte Passwörter zu konfigurieren**.
### Vergleich von Low- und High-Frequency-Tags
## Low-Frequency RFID Tags (125kHz)
**Niedrigfrequente Tags** werden häufig in Systemen verwendet, die **keine hohe Sicherheit** erfordern: Gebäudezugang, Gegensprechanlagenschlüssel, Fitnessstudio-Mitgliedskarten usw. Aufgrund ihrer höheren Reichweite sind sie praktisch für kostenpflichtige Parkplätze: Der Fahrer muss die Karte nicht nah am Leser bringen, da sie aus größerer Entfernung ausgelöst wird. Gleichzeitig sind niedrigfrequente Tags sehr primitiv und haben eine niedrige Datenübertragungsrate. Aus diesem Grund ist es unmöglich, komplexe bidirektionale Datenübertragungen für Dinge wie Kontostände und Kryptografie zu implementieren. Niedrigfrequente Tags übertragen nur ihre kurze ID ohne Authentifizierung.
Diese Geräte basieren auf **passiver** **RFID**-Technologie und arbeiten in einem **Bereich von 30 kHz bis 300 kHz**, obwohl es üblicher ist, 125 kHz bis 134 kHz zu verwenden:
* **Große Reichweite** — niedrigere Frequenz bedeutet höhere Reichweite. Es gibt einige EM-Marin- und HID-Leser, die aus einer Entfernung von bis zu einem Meter arbeiten. Diese werden häufig in Parkhäusern verwendet.
* **Primitives Protokoll** — aufgrund der niedrigen Datenübertragungsrate können diese Tags nur ihre kurze ID übertragen. In den meisten Fällen sind die Daten nicht authentifiziert und nicht geschützt. Sobald die Karte im Bereich des Lesers ist, beginnt sie einfach, ihre ID zu übertragen.
* **Niedrige Sicherheit** — Diese Karten können leicht kopiert oder sogar aus der Tasche eines anderen gelesen werden, aufgrund der Primitivität des Protokolls.
**Beliebte 125 kHz-Protokolle:**
* **EM-Marin** — EM4100, EM4102. Das beliebteste Protokoll in der GUS. Kann aufgrund seiner Einfachheit und Stabilität aus etwa einem Meter gelesen werden.
* **HID Prox II** — Niedrigfrequenzprotokoll, das von HID Global eingeführt wurde. Dieses Protokoll ist in den westlichen Ländern beliebter. Es ist komplexer und die Karten und Leser für dieses Protokoll sind relativ teuer.
* **Indala** — sehr altes Niedrigfrequenzprotokoll, das von Motorola eingeführt und später von HID übernommen wurde. Man trifft es seltener in freier Wildbahn im Vergleich zu den vorherigen beiden, da es aus der Nutzung fällt.
In Wirklichkeit gibt es viele weitere Niedrigfrequenzprotokolle. Aber sie alle verwenden dieselbe Modulation auf der physikalischen Ebene und können in einer oder anderen Weise als Variation der oben aufgeführten betrachtet werden.
### Angriff
Sie können **diese Tags mit dem Flipper Zero angreifen**:
{% 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 %}
## High-Frequency RFID Tags (13.56 MHz)
**Hochfrequente Tags** werden für eine komplexere Interaktion zwischen Leser und Tag verwendet, wenn Sie Kryptografie, eine große bidirektionale Datenübertragung, Authentifizierung usw. benötigen.\
Sie sind normalerweise in Bankkarten, im öffentlichen Verkehr und in anderen sicheren Pässen zu finden.
**Hochfrequente 13.56 MHz-Tags sind eine Reihe von Standards und Protokollen**. Sie werden normalerweise als [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/) bezeichnet, aber das ist nicht immer korrekt. Das grundlegende Protokollset, das auf physikalischer und logischer Ebene verwendet wird, ist ISO 14443. Hochlevelprotokolle sowie alternative Standards (wie ISO 19092) basieren darauf. Viele Menschen beziehen sich auf diese Technologie als **Near Field Communication (NFC)**, einen Begriff für Geräte, die über die Frequenz von 13.56 MHz arbeiten.
Einfach gesagt funktioniert die Architektur von NFC so: Das Übertragungsprotokoll wird von dem Unternehmen gewählt, das die Karten herstellt, und basierend auf dem Low-Level-ISO 14443 implementiert. Zum Beispiel erfand NXP sein eigenes Hochlevel-Übertragungsprotokoll namens Mifare. Aber auf der unteren Ebene basieren Mifare-Karten auf dem ISO 14443-A-Standard.
Flipper kann sowohl mit dem Low-Level-ISO 14443-Protokoll als auch mit dem Mifare Ultralight-Datenübertragungsprotokoll und EMV, das in Bankkarten verwendet wird, interagieren. Wir arbeiten daran, die Unterstützung für Mifare Classic und NFC NDEF hinzuzufügen. Ein gründlicher Blick auf die Protokolle und Standards, die NFC ausmachen, ist einen separaten Artikel wert, den wir später veröffentlichen möchten.
Alle hochfrequenten Karten, die auf dem ISO 14443-A-Standard basieren, haben eine eindeutige Chip-ID. Sie fungiert als die Seriennummer der Karte, ähnlich wie die MAC-Adresse einer Netzwerkkarte. **In der Regel ist die UID 4 oder 7 Bytes lang**, kann aber selten **bis zu 10** gehen. UIDs sind kein Geheimnis und leicht lesbar, **manchmal sogar auf der Karte selbst gedruckt**.
Es gibt viele Zugangskontrollsysteme, die sich auf die UID verlassen, um **zu authentifizieren und Zugang zu gewähren**. Manchmal geschieht dies **sogar**, wenn RFID-Tags **Kryptografie unterstützen**. Solche **Missbräuche** bringen sie in Bezug auf **Sicherheit** auf das Niveau der dummen **125 kHz-Karten**. Virtuelle Karten (wie Apple Pay) verwenden eine dynamische UID, damit die Telefonbesitzer nicht mit ihrer Zahlungs-App Türen öffnen.
* **Kurze Reichweite** — hochfrequente Karten sind speziell so konzipiert, dass sie nahe am Leser platziert werden müssen. Dies hilft auch, die Karte vor unbefugten Interaktionen zu schützen. Die maximale Reichweite, die wir erreichen konnten, betrug etwa 15 cm, und das war mit speziell angefertigten Hochreichweitenlesern.
* **Fortgeschrittene Protokolle** — Datenübertragungsgeschwindigkeiten von bis zu 424 kbps ermöglichen komplexe Protokolle mit vollwertiger bidirektionaler Datenübertragung. Was wiederum **Kryptografie**, Datenübertragung usw. **ermöglicht**.
* **Hohe Sicherheit** — hochfrequente kontaktlose Karten sind in keiner Weise den Smartcards unterlegen. Es gibt Karten, die kryptografisch starke Algorithmen wie AES unterstützen und asymmetrische Kryptografie implementieren.
### Angriff
Sie können **diese Tags mit dem Flipper Zero angreifen**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
Oder mit dem **proxmark**:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
{% endcontent-ref %}
## Referenzen
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Lernen & üben Sie GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
{% endhint %}