12 KiB
Pentesting RFID
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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 {% 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 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 {% endcontent-ref %}
Oder mit dem proxmark:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}
Referenzen
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.