Scroll Indicator
Pentestips: dont brick it - Einführung in Magic Cards, UIDs und BCCs
Brick es nicht!
Einführung in Magic Cards, UIDs und BCCs
- MIFARE" ist eine Familie von Hochfrequenz-RFID-Karten mit 13,56 MHz, die von Panasonic / NXP hergestellt werden und in die ISO-Kategorie 14443a fallen.
- Innerhalb der Familie gibt es viele Kartentypen mit unterschiedlichen Speichergrößen, Verschlüsselungen und Funktionen: Mifare Classic, Ultralight, DESFire, NTAG, und so weiter.
- Alle MIFARE-Karten haben die gleichen Grundstrukturen:
- UID (Eindeutige ID)
- SAK/ATQS (siehe unser vorheriges Tutorial)
- Speicherplatz
- Die Kartenkonfiguration wird im "Block 0" oder "Manufacturer Block" definiert. Bei Originalkarten kann der Block 0 nicht geändert werden. Dies war ein Schlüsselelement, um das Klonen von Karten zu verhindern - der Inhalt des Ausweises konnte geändert werden, aber der Herstellerblock und die UID konnten nicht geändert werden.
- Jetzt gibt es für fast alle MIFARE-Kartentypen modifizierbare oder "Magic"-Karten, bei denen der Herstellerblock geändert werden kann.
- Aber: Mit großer Macht kommt große Verantwortung. Wird der Block 0 falsch konfiguriert, kann die Karte "gebricked" werden, d.h. unwiderruflich zerstört werden.
- Die häufigste Art, eine Magic Card zu "bricken", ist ein falscher BCC-Wert.
- Der BCC ist ein Prüfsummenwert für die UID, der als "Doppelprüfung" fungiert, um sicherzustellen, dass die UID korrekt ist. Ist der BCC-Wert falsch, ist die Karte nicht mehr auffindbar und kann daher nicht gelesen oder geändert werden.
- Schauen wir uns ein Beispiel an.
- Öffnen wir eine MIFARE Classic 1K-Karte mit einem 4-Byte-UID-Dump in einem Hex-Editor, können wir den UID-Wert in Block 0 sehen
- Wenn wir die UID ändern wollen, würden wir instinktiv nur die UID-Werte ändern, z. B. in 1 2 3 4 5 6 7 8.
- Der BCC-Wert wird jedoch vom UID-Wert abgeleitet. Wenn wir also die UID ändern, ohne den BCC-Wert zu ändern, wird die Karte gebrannt, wenn wir die Änderung vornehmen.
- Wir müssen den BCC-Wert für unsere neue UID berechnen .
Der neue BCC-Wert wird durch XOR-Verknüpfung jedes Bytes mit dem Ergebnis der vorherigen XOR-Verknüpfung berechnet - keine Sorge, es gibt viele Tools im Internet, um diese Aufgabe zu erledigen, z. B.: https://bcc.beyerleinf.de/
- Wenn wir unsere neue UID eingeben: 0x12345678 (als Hex-String), erhalten wir den BCC-Wert von 0x08. Wir ändern also den BCC der Originalkarte von 0xFC auf 0x08 und schreiben die Karte.
- Jetzt haben wir eine neue UID, ohne die Karte zu zerstören!
- Wenn Sie UIDs manuell aktualisieren (indem Sie den Proxmark-Befehl hf mf wb0 verwenden), müssen Sie den korrekten BCC berechnen lassen, sonst wird die Karte zerstört.
- Glücklicherweise führen viele Tools diese Berechnung automatisch durch:
- Android: Mifare Classic Tool hat einen BCC-Rechner
- Windows/Linux: wir können das LibNFC mf-setuid Tool verwenden
- Weitere Informationen über Magic Cards finden Sie in dem Artikel der Lab401 Academy: Kenne deine magischen Karten: https://lab401.com/blogs/academy/know-your-magic-cards
Einen Kommentar hinterlassen