BOTAHRY DEX - stock.adobe.com

NFC- und RFID-Sicherheit mit Open Source überprüfen

RFID und NFC werden bei Zutrittskontrollen, Ausweisen und in der Industrie eingesetzt. Mit den Tools Libnfc, Mfoc und Proxmark3 in Kali Linux behalten Sie die Sicherheit im Blick.

NFC-basierte Ausweise, Zutrittssysteme und Lösungen zur Zeiterfassung rücken zunehmend in den Fokus realer Angriffe, da sie physische Identitäten direkt mit IT-Systemen und Geschäftsprozessen verknüpfen. Fehlkonfigurationen, veraltete Kartentypen oder unzureichend geprüfte Reader führen hier unmittelbar zu sicherheitsrelevanten Schwachstellen.

Kali Linux stellt mit Libnfc, Mfoc und Proxmark3 drei Werkzeuge bereit, die eine tiefgehende technische Analyse solcher Umgebungen erlauben und reale Angriffsszenarien reproduzierbar abbilden können.

Tests sollten Sie nur mit ausdrücklicher Freigabe durchführen, da Fehlversuche schnell reale Zutritts- oder Zeiterfassungsprozesse beeinträchtigen können.

NFC als Angriffsfläche im Unternehmensumfeld

Near Field Communication (NFC) überträgt Identitäten und kleine Datenmengen im Hochfrequenzbereich bei 13,56 MHz. Unternehmen nutzen diese Technik für physische Zutrittskontrollen, Mitarbeiterausweise, Druckerfreigaben, Zeiterfassung, Kantinensysteme und industrielle Kennzeichnungen. Die Sicherheit hängt nicht allein vom Kartentyp ab, sondern von Schlüssellängen, Schlüsselverteilung, Reader-Konfiguration und Backend-Logik. Veraltete MIFARE-Classic-Installationen, ungetrennte Schlüsselbereiche oder fehlende Transaktionsprüfungen erlauben Klonen, Replay oder unautorisierte Nutzung. Aktive Tests prüfen genau diese Punkte und lassen sich vollständig unter Kali Linux durchführen.

Test von RFID-Systemen

Mit den im Beitrag beschriebenen Werkzeuge lassen sich auch RFID-Systeme (Radio Frequency Identification) testen, sofern sie in den von NFC abgedeckten Frequenz- und Protokollbereichen arbeiten.

Libnfc adressiert primär den Hochfrequenzbereich bei 13,56 MHz und somit ISO/IEC-14443-Varianten, die bei vielen Ausweis- und Zutrittssystemen üblich sind. Mfoc ist dagegen klar auf MIFARE Classic zugeschnitten und eignet sich nur für Umgebungen, in denen dieser Kartentyp tatsächlich eingesetzt wird. Proxmark3 erweitert den Ansatz, da es neben HF auch klassische LF-RFID-Technologien im Bereich 125/134 kHz analysieren kann.

Typische UHF-RFID-Installationen aus Logistik und Supply Chain, die in anderen Frequenzbändern arbeiten, sind nicht abgedeckt und erfordern in der Praxis separate Reader und Tool Chains. Entscheidend ist daher, den eingesetzten Kartentyp und die Funktechnik vorab genau zu bestimmen.

Libnfc als technische Grundlage

Libnfc stellt die Schnittstelle zwischen Betriebssystem und NFC-Hardware bereit. Alle weiteren Werkzeuge greifen intern auf diese Bibliothek zurück oder orientieren sich an deren Protokollimplementierung. Unter Kali Linux erfolgt die Installation direkt aus den Repositories:

sudo apt install libnfc-bin libnfc-dev libnfc-examples

Nach Anschluss eines Readers zeigt das Tool alle erkannten Geräte inklusive Verbindungstyp und Controller:

nfc-scan-device
Ausgabe von nfc-scan-device.
Abbildung 1: Beispielhafte Ausgabe von nfc-scan-device unter Kali Linux mit mehreren erkannten NFC-Lesegeräten und zugehörigen Controller-Informationen.

Damit wird sichergestellt, dass udev-Regeln, USB-Zugriff und Kernel-Module korrekt zusammenspielen. udev-Regeln steuern unter Linux die Behandlung von Hardwaregeräten beim An- und Abstecken. Sie legen fest, welche Treiber geladen werden, welche Gerätedateien unter /dev vorhanden sind und welche Zugriffsrechte gelten. Für NFC- und RFID-Tests ist das relevant, da Libnfc, Mfoc und Proxmark3 direkten Zugriff auf USB-Geräte benötigen. Ohne passende udev-Regeln blockieren restriktive Standardrechte den Zugriff oder erzwingen den Betrieb als Root. Korrekt gesetzte Regeln erlauben den Zugriff für definierte Benutzergruppen, verhindern Konflikte mit konkurrierenden Diensten und stellen eine stabile Initialisierung der Reader sicher.

Die eigentliche Zielerkennung übernimmt der folgende Befehl:

nfc-list -v

Die Ausgabe liefert UID, ATQA, SAK und Übertragungsmodus. Diese Parameter bestimmen, ob es sich um MIFARE Classic, Ultralight, DESFire oder andere ISO-14443-Varianten handelt. Bereits an dieser Stelle lassen sich Fehlkonfigurationen erkennen, etwa unerwartete Kartentypen in sicherheitskritischen Anwendungen.

Die genannten Parameter stammen aus der Initialisierungsphase nach ISO 14443 und erlauben eine technische Einordnung der erkannten Karte. Die UID ist die eindeutige Kennung der Karte. Sie dient der Identifikation auf Protokollebene und variiert in Länge und Struktur je nach Kartentyp. Kurze 4-Byte-basierte UIDs treten häufig bei älteren oder kompatiblen Karten auf, längere sieben- oder zehnbytebasierte Varianten deuten auf neuere oder sicherere Typen hin.

ATQA bezeichnet die Antwort der Karte auf den initialen Request-Befehl des Readers. Dieser Wert signalisiert grundlegende Eigenschaften der Karte, zum Beispiel ob sie mehrere UIDs unterstützt oder welche Protokollvariante aktiv ist. Bestimmte ATQA-Kombinationen grenzen MIFARE-Familien bereits ein.

SAK steht für Select Acknowledge und wird nach der Antikollisionsphase übertragen. Dieser Wert gibt Aufschluss über den internen Kartentyp und darüber, ob weitere Protokollstufen folgen. Anhand des SAK lässt sich unterscheiden, ob es sich um eine einfache Speicherkarte, eine Classic-Variante oder eine Karte mit erweitertem Protokoll wie DESFire handelt.

Der Übertragungsmodus beschreibt die aktive ISO-14443-Variante und die verwendete Bitrate. Er legt fest, ob die Kommunikation im Typ-A- oder Typ-B-Modus erfolgt und ob höhere Protokollschichten genutzt werden. In Kombination erlauben diese Informationen eine präzise Zuordnung zu Kartentypen wie MIFARE Classic, Ultralight, DESFire oder anderen ISO-14443-kompatiblen Varianten und bestimmen, welche Angriffs- und Analysetechniken technisch sinnvoll sind. Für klassische Karten erlaubt nfc-mfclassic einen direkten Leseversuch mit bekannten Schlüsseln:

nfc-mfclassic r a u card.mfd

Ein erfolgreicher Durchlauf erzeugt ein vollständiges Kartenabbild. Scheitert der Zugriff, bleibt der Dump leer oder unvollständig und signalisiert die Notwendigkeit weitergehender Angriffe.

Mfoc zur Schlüsselgewinnung

Mfoc ergänzt Libnfc um einen gezielten Offline-Angriff auf MIFARE Classic. Voraussetzung bleibt ein bekannter Schlüssel pro Karte, häufig ein Default-Key oder ein aus dem Umfeld bekannter Sektor-Key. Die Installation erfolgt separat:

sudo apt install mfoc

Ein Basisangriff ohne Zusatzparameter testet integrierte Default-Keys:

mfoc -O dump.mfd

Die Ausgabe zeigt sektorweise, welche Schlüssel erfolgreich rekonstruiert wurden. Jeder gefundene Key erweitert den Zugriff auf weitere Sektoren, bis im Idealfall die gesamte Karte decodiert vorliegt. Eigene Schlüsseldateien vergrößern den Suchraum:

mfoc -f keys.txt -O dump.mfd

Das Ergebnis ist kompatibel zu nfc-mfclassic und Proxmark3. Genau hier beginnt die eigentliche Kombination der Werkzeuge, da alle folgenden Schritte auf demselben Dump aufbauen.

Proxmark3 als zentrales Analysewerkzeug

Proxmark3 fungiert als universelle Analyse-, Sniffing- und Emulationsplattform. Unter Kali Linux steht der Client paketiert bereit oder wird aus dem Quellcode erstellt, um aktuelle Firmware-Funktionen zu nutzen:

sudo apt install proxmark3 proxmark3-common proxmark3-firmwares

Alternativ erfolgt der Build aus dem Repository:

git clone https://github.com/RfidResearchGroup/proxmark3.git

cd proxmark3

make clean && make all

sudo make install

Vor dem Flashen deaktiviert das System den ModemManager, da dieser serielle Geräte fehlinterpretiert:

sudo systemctl stop ModemManager

sudo systemctl disable ModemManager

Das Flashen der Hardware erfolgt direkt über den Client:

proxmark3 /dev/ttyACM0 --flash --unlock-bootloader --image bootrom.elf

proxmark3 /dev/ttyACM0 --flash --image fullimage.elf

Der Zugriff startet über pm3.

PM3 bietet automatische Porterkennung und vereinfachten Zugriff auf den Proxmark3.
Abbildung 2: PM3 bietet unter Kali Linux automatische Porterkennung und vereinfachten Zugriff auf den Proxmark3-Client.

Eine Funktionsprüfung bestätigt Antennenabstimmung und Firmwarestatus:

hw status

hw version

hw tune

Tiefe Analyse und aktive Angriffe

Im Gegensatz zu Libnfc erlaubt Proxmark3 Sniffing und aktive Manipulation. Ein automatisierter Angriff auf MIFARE Classic kombiniert mehrere Techniken.

hf mf autopwn

Der Befehl prüft bekannte Schlüssel, nutzt Nested-Angriffe und schreibt gefundene Daten direkt in den internen Speicher. Der Effekt entspricht funktional Mfoc, liefert jedoch zusätzliche Telemetrie und erlaubt sofortige Weiterverarbeitung. Sniffing zeichnet Authentifizierungssequenzen auf.

hf mf sniff

Die aufgezeichneten Nonces dienen als Grundlage für Offline-Analysen oder zum Abgleich mit Mfoc-Ergebnissen. Emulation simuliert eine vollständige Karte gegenüber einem realen Reader:

hf mf sim --1k

Damit lässt sich testen, ob Backend-Systeme allein auf UID oder auf vollständige kryptografische Prüfungen reagieren.

Zusammenspiel der Werkzeuge im Testablauf

Ein konsistenter Workflow beginnt mit Libnfc zur Hardware- und Kartenerkennung. Nfc-list klassifiziert das Ziel, nfc-mfclassic prüft direkten Zugriff. Mfoc übernimmt die Schlüsselgewinnung, sobald Default-Keys greifen. Der erzeugte Dump fließt in Proxmark3 ein, um Emulation, Replay und Sniffing durchzuführen. Parallel erlauben Libnfc-Werkzeuge Relay-Angriffe zwischen zwei Endpunkten.

nfc-relay

Diese Kombination deckt den gesamten Lebenszyklus einer Karte ab, von der Identifikation über Schlüsselgewinnung bis zur realistischen Simulation im Feld. Alle Werkzeuge nutzen kompatible Dateiformate und identische Protokollannahmen, wodurch Ergebnisse vergleichbar und reproduzierbar bleiben.

Bedeutung für Unternehmen

Der kombinierte Einsatz von Libnfc, Mfoc und Proxmark3 zeigt, ob Karten klonbar sind, ob Reader falsche Zustände akzeptieren oder ob Backend-Systeme unzureichend prüfen. Kali Linux bündelt diese Tests in einer isolierten Umgebung ohne Eingriffe in Produktionssysteme. Unternehmen erhalten damit eine belastbare Grundlage, um Kartenmigrationen zu planen, Schlüsselkonzepte zu überarbeiten und Zutrittsinfrastrukturen technisch zu bewerten.

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit