Pentesting RFID

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Einführung

Radio Frequency Identification (RFID) ist die beliebteste Lösung für Kurzstreckenfunk. Es wird normalerweise verwendet, um Informationen zu speichern und zu übertragen, die eine Entität identifizieren.

Ein RFID-Tag kann sich auf seine eigene Stromquelle (aktiv) verlassen, wie z.B. eine eingebettete Batterie, oder seine Energie von der Lesenantenne erhalten, die den aktuellen durch die empfangenen Radiowellen induzierten Strom verwendet (passiv).

Klassen

EPCglobal teilt RFID-Tags in sechs Kategorien ein. Ein Tag in jeder Kategorie verfügt über alle in der vorherigen Kategorie aufgeführten Fähigkeiten, was ihn abwärtskompatibel macht.

  • Klasse 0 Tags sind passive Tags, die in UHF-Bändern arbeiten. Der Hersteller programmiert sie im Produktionswerk vor. Daher kann man die in ihrem Speicher gespeicherten Informationen nicht ändern.

  • Klasse 1 Tags können auch in HF-Bändern arbeiten. Darüber hinaus können sie nach der Produktion nur einmal 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 Umgebungsparameter wie die aktuelle Temperatur oder die Bewegung des Tags aufzeichnen können. Diese Tags sind halbpassiv, weil sie zwar über eine eingebettete Stromquelle wie eine integrierte Batterie verfügen, 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-Lesegeräte fungieren.

In RFID-Tags gespeicherte Informationen

Der Speicher eines RFID-Tags speichert normalerweise vier Arten von Daten: die Identifikationsdaten, die die Entität identifizieren, an die das Tag angebracht 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 einen eindeutigen Identifikator des Tags (UID) und Details zur Produktion, Typ und Hersteller des Tags enthalten. Die ersten beiden Arten von Daten finden sich in allen kommerziellen Tags; die letzten beiden können je nach Hersteller des Tags unterschiedlich sein.

Der ISO-Standard legt den Wert des Application Family Identifier (AFI) fest, einen Code, der angibt, zu welcher Art von Objekt der Tag gehört. Ein weiteres wichtiges Register, das ebenfalls von der ISO festgelegt wurde, ist der Data Storage Format Identifier (DSFID), der die logische Organisation der Benutzerdaten definiert.

Die meisten RFID-Sicherheitskontrollen verfügen über Mechanismen, die die Lese- oder Schreibvorgänge auf jedem Benutzerspeicherblock und auf den speziellen Registern, die die AFI- und DSFID-Werte enthalten, einschränken. Diese Sperrmechanismen verwenden Daten, die im Steuerspeicher gespeichert sind, und haben Standardpasswörter, die vom Hersteller vorkonfiguriert sind, aber es den Tag-Besitzern ermöglichen, benutzerdefinierte Passwörter zu konfigurieren.

Vergleich von Nieder- und Hochfrequenz-Tags

Niederfrequenz-RFID-Tags (125 kHz)

Niederfrequenz-Tags werden oft in Systemen verwendet, die keine hohe Sicherheit erfordern: Gebäudezugang, Gegensprechanlagen, Fitnessstudio-Mitgliedskarten usw. Aufgrund ihrer größeren Reichweite sind sie praktisch für kostenpflichtige Parkplätze: Der Fahrer muss die Karte nicht nah an den Leser bringen, da sie aus der Ferne ausgelöst wird. Gleichzeitig sind Niederfrequenz-Tags sehr primitiv, sie haben eine niedrige Datenübertragungsrate. Aus diesem Grund ist es unmöglich, komplexe bidirektionale Datenübertragung für Dinge wie Kontostand und Kryptografie zu implementieren. Niederfrequenz-Tags übertragen nur ihre kurze ID ohne jegliche Authentifizierungsmöglichkeiten.

Diese Geräte verlassen sich auf die passive 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 — eine niedrigere Frequenz bedeutet eine größere Reichweite. Es gibt einige EM-Marin- und HID-Lesegeräte, die aus einer Entfernung von bis zu einem Meter arbeiten. Diese werden oft auf Parkplätzen verwendet.

  • Primitives Protokoll — aufgrund der niedrigen Datenübertragungsrate können diese Tags nur ihre kurze ID übertragen. In den meisten Fällen wird die Daten nicht authentifiziert und in keiner Weise 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 einer anderen Person 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 Entfernung gelesen werden.

  • HID Prox II — Niederfrequenzprotokoll von HID Global eingeführt. Dieses Protokoll ist in westlichen Ländern beliebter. Es ist komplexer und die Karten und Lesegeräte für dieses Protokoll sind relativ teuer.

  • Indala — sehr altes Niederfrequenzprotokoll, das von Motorola eingeführt und später von HID übernommen wurde. Sie werden es weniger wahrscheinlich in freier Wildbahn antreffen als die beiden zuvor genannten, da es aus der Verwendung fällt.

In Wirklichkeit gibt es noch viele weitere Niederfrequenzprotokolle. Aber sie alle verwenden die gleiche Modulation auf der physikalischen Ebene und können in gewisser Weise als Variationen der oben genannten betrachtet werden.

Angriff

Sie können diese Tags mit dem Flipper Zero angreifen:

pageFZ - 125kHz RFID

Hochfrequenz-RFID-Tags (13,56 MHz)

Hochfrequenz-Tags werden für eine komplexere Reader-Tag-Interaktion verwendet, wenn Kryptografie, ein großer bidirektionaler Datentransfer, Authentifizierung usw. erforderlich sind. Sie sind in der Regel in Bankkarten, öffentlichen Verkehrsmitteln und anderen sicheren Ausweisen zu finden.

Hochfrequenz-13,56-MHz-Tags sind ein Satz von Standards und Protokollen. Sie werden in der Regel als NFC bezeichnet, aber das ist nicht immer korrekt. Der grundlegende Protokollsatz, der auf den physischen und logischen Ebenen verwendet wird, ist ISO 14443. Hochrangige Protokolle sowie alternative Standards (wie ISO 19092) basieren darauf. Viele Menschen bezeichnen diese Technologie als Near Field Communication (NFC), ein Begriff für Geräte, die über die 13,56-MHz-Frequenz arbeiten.

Um es einfach auszudrücken, funktioniert die Architektur von NFC wie folgt: Das Übertragungsprotokoll wird vom Unternehmen, das die Karten herstellt, ausgewählt und basierend auf dem Low-Level-ISO 14443 implementiert. Zum Beispiel hat NXP sein eigenes Hochpegel-Übertragungsprotokoll namens Mifare erfunden. Aber auf niedrigerer 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-Datentransferprotokoll und EMV, das in Bankkarten verwendet wird, interagieren. Wir arbeiten daran, 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 Hochfrequenzkarten, 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. Normalerweise ist die UID 4 oder 7 Bytes lang, kann aber selten bis zu 10 Bytes lang sein. UIDs sind kein Geheimnis und leicht lesbar, manchmal sogar auf der Karte selbst gedruckt.

Es gibt viele Zugangskontrollsysteme, die auf der UID basieren, um Authentifizierung und Zugriff zu gewähren. Manchmal geschieht dies sogar, wenn RFID-Tags Kryptografie unterstützen. Ein solcher Missbrauch bringt sie in Bezug auf Sicherheit auf das Niveau der dummen 125-kHz-Karten. Virtuelle Karten (wie Apple Pay) verwenden eine dynamische UID, damit Telefonbesitzer nicht mit ihrer Zahlungs-App Türen öffnen können.

  • Geringe Reichweite — Hochfrequenzkarten sind speziell so konzipiert, dass sie nah an den Leser gelegt werden müssen. Dies hilft auch, die Karte vor unbefugten Interaktionen zu schützen. Die maximale Lesereichweite, die wir erreichen konnten, betrug etwa 15 cm, und das mit speziell angefertigten Hochreichweiten-Lesegeräten.

  • Fortgeschrittene Protokolle — Datenübertragungsgeschwindigkeiten von bis zu 424 kbps ermöglichen komplexe Protokolle mit vollständigem bidirektionalem Datentransfer. Dies wiederum ermöglicht Kryptografie, Datentransfer usw.

  • Hohe Sicherheit — Hochfrequente berührungslose Karten sind keineswegs minderwertig gegenüber Smartcards. 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:

pageFZ - NFC

Oder mit dem proxmark:

pageProxmark 3

Referenzen

Last updated