Pentesting RFID

Reading time: 8 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Einführung

Radio Frequency Identification (RFID) ist die beliebteste Kurzstrecken-Radio-Lösung. Sie 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 induzierten Strom aus den empfangenen Radiowellen beziehen (passiv).

Klassen

EPCglobal unterteilt RFID-Tags in sechs Kategorien. Ein Tag in jeder Kategorie hat alle Funktionen, die in der vorherigen Kategorie aufgeführt sind, was es rückwärtskompatibel macht.

  • Klasse 0-Tags sind passive Tags, die in UHF-Bändern arbeiten. Der Anbieter programmiert sie bereits in der Produktionsfabrik. Daher kannst du 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, wodurch sie aktive Tags werden.
  • 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 Datenarten findest du in allen kommerziellen Tags; die letzten beiden können je nach Anbieter des Tags variieren.

Der ISO-Standard legt den Wert des Application Family Identifier (AFI) fest, einen Code, der die Art des Objekts angibt, zu dem das Tag gehört. Ein weiteres wichtiges Register, das ebenfalls von ISO festgelegt wird, 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 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 den Tag-Besitzern jedoch, 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, Gegensprechanlagen, Fitnessstudio-Mitgliedskarten usw. Aufgrund ihrer höheren Reichweite sind sie praktisch für kostenpflichtige Parkplätze: Der Fahrer muss die Karte nicht nah an den Leser bringen, da sie aus größerer Entfernung aktiviert 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:

  • Lange Reichweite — niedrigere Frequenzen führen zu höherer 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. Du wirst es weniger wahrscheinlich in freier Wildbahn antreffen als die 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

Du kannst diese Tags mit dem Flipper Zero angreifen:

FZ - 125kHz RFID

High-Frequency RFID Tags (13.56 MHz)

Hochfrequente Tags werden für eine komplexere Interaktion zwischen Leser und Tag verwendet, wenn du Kryptografie, eine große bidirektionale Datenübertragung, Authentifizierung usw. benötigst.
Sie sind normalerweise in Bankkarten, im öffentlichen Verkehr und 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), ein 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 basiert auf dem Low-Level-ISO 14443. 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 der 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 sie sind 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.

  • Geringe Reichweite — hochfrequente Karten sind speziell so konzipiert, dass sie nah am Leser platziert werden müssen. Dies hilft auch, die Karte vor unbefugten Interaktionen zu schützen. Die maximale Leseentfernung, 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

Du kannst diese Tags mit dem Flipper Zero angreifen:

FZ - NFC

Oder mit dem proxmark:

Proxmark 3

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks