mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
119 lines
13 KiB
Markdown
119 lines
13 KiB
Markdown
# Pentesting RFID
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Arbeiten Sie in einem **Cybersecurity-Unternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks bewerben**? Oder möchten Sie Zugriff auf die **neueste Version von PEASS oder HackTricks im PDF-Format** haben? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das** [**hacktricks-Repository**](https://github.com/carlospolop/hacktricks) **und das** [**hacktricks-cloud-Repository**](https://github.com/carlospolop/hacktricks-cloud) **senden**.
|
|
|
|
</details>
|
|
|
|
## Einführung
|
|
|
|
**Radio Frequency Identification (RFID)** ist die beliebteste Kurzstrecken-Funklösung. 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)**, wie z.B. eine eingebettete Batterie, verlassen oder seine Energie von der Lesenantenne erhalten, indem es den **durch die empfangenen Radiowellen induzierten Strom** (**passiv**) verwendet.
|
|
|
|
### Klassen
|
|
|
|
EPCglobal teilt RFID-Tags in sechs Kategorien ein. Ein Tag in jeder Kategorie verfügt über alle in der vorherigen Kategorie aufgeführten Funktionen, was es abwärtskompatibel macht.
|
|
|
|
* **Klasse 0**-Tags sind **passive** Tags, die in **UHF**-Bändern arbeiten. Der Hersteller **programmiert** sie im Produktionswerk vor. Dadurch können Sie 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 erfassen 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 in der Regel 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 liefern; die **Steuerungsdaten**, die für die interne **Konfiguration** des Tags verwendet werden; und die **Herstellerdaten** des Tags, die eine eindeutige Kennung (**UID**) des Tags und Details zur **Produktion**, zum **Typ** und zum **Hersteller** des Tags enthalten. Die ersten beiden Arten von Daten finden Sie in allen kommerziellen Tags; die letzten beiden können je nach Hersteller des Tags unterschiedlich sein.
|
|
|
|
Der ISO-Standard spezifiziert den Wert des Application Family Identifier (**AFI**), einen Code, der angibt, zu welcher **Art von Objekt** 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** verfügen über Mechanismen, die die **Lese-** oder **Schreiboperationen** 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, ermöglichen es den Tag-Besitzern jedoch, **benutzerdefinierte Passwörter** zu konfigurieren.
|
|
|
|
### Vergleich von Nieder- und Hochfrequenz-Tags
|
|
|
|
<figure><img src="../../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
## 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 bequem für die Verwendung bei kostenpflichtigem Parken: Der Fahrer muss die Karte nicht nah an das Lesegerät bringen, da es aus größerer Entfernung 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 das Führen von Kontoständen und Kryptographie zu implementieren. Niederfrequenz-Tags übertragen nur ihre kurze ID ohne jegliche Authentifizierungsmöglichkeiten.
|
|
|
|
Diese Geräte basieren auf der **passiven** **RFID**-Technologie und arbeiten in einem **Frequenzbereich 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 bei Parkplätzen verwendet.
|
|
* **Primitives Protokoll** - aufgrund der niedrigen Datenübertragungsrate können diese Tags nur ihre kurze ID übertragen. In den meisten Fällen werden die Daten nicht authentifiziert und in keiner Weise geschützt. Sobald die Karte im Bereich des Lesegeräts ist, beginnt sie einfach, ihre ID zu übertragen.
|
|
* **Geringe 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** - niederfrequentes Protokoll, das von HID Global eingeführt wurde. 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 niederfrequentes Protokoll, das von Motorola eingeführt wurde und später von HID übernommen wurde. Sie werden es im Vergleich zu den beiden vorherigen Protokollen weniger häufig antreffen, da es an Bedeutung verliert.
|
|
|
|
In Wirklichkeit gibt es noch viele weitere Niederfrequenz-Protokolle. Aber sie verwenden alle die gleiche Modulation auf der physikalischen Ebene und können in gewisser Weise als Variation der oben aufgeführten Protokolle betrachtet werden.
|
|
|
|
### Angriff
|
|
|
|
Sie können **diese Tags mit dem Flipper Zero** angreifen:
|
|
|
|
{% content-ref url="flipper-zero/fz-125khz-rfid.md" %}
|
|
[fz-125khz-rfid.md](flipper-zero/fz-125khz-rfid.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Hochfrequente RFID-Tags (13,56 MHz)
|
|
|
|
**Hochfrequente Tags** werden für eine komplexere Reader-Tag-Interaktion verwendet, wenn Kryptografie, ein großer bidirektionaler Datentransfer, Authentifizierung usw. erforderlich sind.\
|
|
Sie werden normalerweise in Bankkarten, öffentlichen Verkehrsmitteln und anderen sicheren Zugängen verwendet.
|
|
|
|
**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. Der grundlegende Protokollsatz, der auf physischer und logischer Ebene 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 Frequenz von 13,56 MHz arbeiten.
|
|
|
|
<figure><img src="../../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Einfach ausgedrückt 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 hochrangiges Ü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 genauer 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 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** betragen. UIDs sind kein Geheimnis und lassen sich leicht lesen, **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**. Eine solche **Fehlverwendung** bringt sie in Bezug auf **Sicherheit** auf die Ebene der dummen **125 kHz-Karten**. Virtuelle Karten (wie Apple Pay) verwenden eine dynamische UID, damit Telefonbesitzer keine Türen mit ihrer Zahlungs-App öffnen können.
|
|
|
|
* **Geringe Reichweite** - Hochfrequente Karten sind speziell so konzipiert, dass sie nahe an den Leser gelegt werden müssen. Dies dient auch dem Schutz der Karte vor unbefugten Interaktionen. Die maximale Lesereichweite, die wir erreichen konnten, betrug etwa 15 cm, und das war 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 kontaktlose Karten sind den Smartcards in keiner Weise 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="flipper-zero/fz-nfc.md" %}
|
|
[fz-nfc.md](flipper-zero/fz-nfc.md)
|
|
{% endcontent-ref %}
|
|
|
|
Oder mit dem **proxmark**:
|
|
|
|
{% content-ref url="proxmark-3.md" %}
|
|
[proxmark-3.md](proxmark-3.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Referenzen
|
|
|
|
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
|
|
|
|
<details>
|
|
|
|
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Arbeiten Sie in einem **Cybersecurity-Unternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks bewerben**? Oder möchten Sie Zugriff auf die **neueste Version des PEASS oder HackTricks als PDF herunterladen**? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
|
|
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder folgen Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das** [**hacktricks-Repo**](https://github.com/carlospolop/hacktricks) **und das** [**hacktricks-cloud-Repo**](https://github.com/carlospolop/hacktricks-cloud) **senden**.
|
|
|
|
</details>
|