Probleme bei autonomen Zutrittskontrollen – Dort, wo man es nicht erwartet hat.

Allen einen guten Tag. Ich beginne mit der Vorgeschichte, die mich zu dieser Untersuchung veranlasst hat, aber vorher möchte ich warnen: Alle praktischen Handlungen wurden mit Zustimmung der leitenden Strukturen durchgefĂŒhrt. Jeder Versuch, dieses Material zu nutzen, um ohne das Recht dort zu sein, in gesperrte Territorien einzudringen, stellt ein strafrechtliches Vergehen dar.

Alles begann damit, dass ich beim AufrĂ€umen auf dem Tisch zufĂ€llig den RFID-SchlĂŒssel fĂŒr den Eingang auf den NFC-Leser ACR122 gelegt habe – wie groß war meine Überraschung, als Windows den Ton fĂŒr die Erkennung eines neuen GerĂ€ts abspielte und die LED grĂŒn leuchtete. Bis zu diesem Moment dachte ich, dass diese SchlĂŒssel ausschließlich im Proximity-Standard funktionieren.
Probleme bei autonomen Zutrittskontrollen – Dort, wo man es nicht erwartet hat.
Aber da der Leser ihn erkannt hat – bedeutet das, dass der SchlĂŒssel einem der Protokolle oberhalb des ISO 14443 Standards (auch bekannt als Near Field Communication, 13,56 MHz) entspricht. Das AufrĂ€umen war sofort vergessen, da ich die Möglichkeit sah, die SchlĂŒsselbund zu eliminieren und den EingangsschlĂŒssel im Telefon zu speichern (die Wohnung ist schon lange mit einem elektronischen Schloss ausgestattet). Nachdem ich mich mit dem Studium beschĂ€ftigt hatte, stellte ich fest, dass sich unter dem Plastik ein NFC-Tag Mifare 1k verbarg – das gleiche Modell, das in Mitarbeiterausweisen, Fahrkarten usw. verwendet wird. Die ersten Versuche, in den Inhalt der Sektoren einzudringen, waren zunĂ€chst erfolglos, und als ich den SchlĂŒssel schließlich knackte, stellte sich heraus, dass nur der 3. Sektor verwendet wird, und darin wurde der UID des Chips selbst dupliziert. Es schien zu einfach, es stellte sich tatsĂ€chlich so heraus und es gĂ€be keinen Artikel, wenn alles wie geplant gelaufen wĂ€re. Hier habe ich das Innere des SchlĂŒssels erhalten und es gab keine Probleme, wenn es nötig war, den SchlĂŒssel auf einen anderen, gleichen zu kopieren. Aber die Aufgabe war es, den SchlĂŒssel auf ein mobiles GerĂ€t zu ĂŒbertragen, was ich in Angriff nahm. Und hier begann der Spaß – wir haben ein Telefon – iPhone SE mit installiertem iOS 13.4.5 Beta build 17F5044d und einigen benutzerdefinierten Komponenten fĂŒr den reibungslosen Betrieb von NFC – darauf möchte ich aus bestimmten objektiven GrĂŒnden nicht nĂ€her eingehen. Bei Interesse ist alles, was spĂ€ter gesagt wird, auch fĂŒr das Android-System anwendbar, jedoch mit einigen Vereinfachungen.

Aufgabenliste zur Lösung:

  • Zugang zum Inhalt des SchlĂŒssels erhalten.
  • Die Möglichkeit der Emulation des SchlĂŒssels durch das GerĂ€t realisieren.

Wenn die erste Version relativ einfach war, traten mit der zweiten Probleme auf. Die erste Version des Emulators funktionierte nicht. Das Problem wurde ziemlich schnell erkannt – bei mobilen GerĂ€ten (sowohl iOS als auch Android) ist die UID im Emulationsmodus dynamisch und unabhĂ€ngig davon, was im Image hinterlegt ist, schwankt sie. Die zweite Version (die mit Administratorrechten gestartet wurde) fixierte die Seriennummer auf die gewĂ€hlte – die TĂŒr öffnete sich. Ich wollte jedoch alles perfekt machen und erstellte schließlich eine vollstĂ€ndige Version des Emulators, die Mifare-Dumps öffnen und emulieren konnte. Plötzlich hatte ich einen Anfall und Ă€nderte die SchlĂŒssel der Sektoren in beliebige und versuchte, die TĂŒr zu öffnen. Und sie... GING AUF! Nach einer Weile verstand ich, dass geöffnet wird alle TĂŒren mit diesem Schloss, sogar diejenigen, fĂŒr die der ursprĂŒngliche SchlĂŒssel nicht geeignet war. In diesem Zusammenhang erstellte ich eine neue Aufgabenliste:

  • Herausfinden, welcher Controller fĂŒr die Verwaltung der SchlĂŒssel verantwortlich ist
  • Verstehen, ob eine Verbindung zum Netzwerk und eine gemeinsame Datenbank vorhanden sind
  • Herausfinden, warum ein faktisch nicht lesbarer SchlĂŒssel universell wird

Nach einem GesprÀch mit dem Ingenieur der Hausverwaltung erfuhr ich, dass einfache Controller von Iron Logic z5r ohne Anbindung an ein externes Netzwerk verwendet werden.

LesegerÀt CP-Z2 MF und Controller IronLogic z5r
Mir wurde ein AusrĂŒstungsset fĂŒr Experimente ausgehĂ€ndigt:

Probleme bei autonomen Zutrittskontrollen – Dort, wo man es nicht erwartet hat.

Wie hier zu sehen ist, ist das System vollstĂ€ndig autonom und Ă€ußerst primitiv. ZunĂ€chst dachte ich, der Controller sei im Lernmodus – der Sinn dahinter ist, dass er einen SchlĂŒssel liest, ihn im Speicher ablegt und die TĂŒr öffnet – dieser Modus wird genutzt, um alle SchlĂŒssel zu speichern, zum Beispiel bei der Schlosswechsel in einem Mehrfamilienhaus. Aber diese Theorie bestĂ€tigte sich nicht – programmtechnisch ist dieser Modus ausgeschaltet, die BrĂŒcke ist in Arbeitsposition – und dennoch sehen wir beim Anhalten des GerĂ€tes Folgendes:

Screenshot des Emulationsprozesses auf dem GerÀt
Probleme bei autonomen Zutrittskontrollen – Dort, wo man es nicht erwartet hat.

 und der Controller signalisiert, dass der Zugang gewÀhrt wurde.

Das bedeutet, das Problem liegt in der Software des Controllers oder des LesegerĂ€ts. Lassen Sie uns das LesegerĂ€t ĂŒberprĂŒfen – es arbeitet im iButton-Modus, also schließen wir die Sicherheitsplatine Bolid an – wir haben die Möglichkeit, die Ausgabedaten des LesegerĂ€ts zu betrachten.

Die Platine wird spĂ€ter ĂŒber RS232 angeschlossen.
Probleme bei autonomen Zutrittskontrollen – Dort, wo man es nicht erwartet hat.

Durch die Methode der mehrfachen Tests stellen wir fest, dass der Leser im Fall einer fehlgeschlagenen Autorisierung denselben Code ĂŒbertrĂ€gt: 1219191919

Die Situation beginnt sich zu klĂ€ren, allerdings ist mir momentan unverstĂ€ndlich, warum der Controller auf diesen Code positiv reagiert. Es gibt die Vermutung, dass bei der BefĂŒllung der Datenbank versehentlich oder absichtlich eine Karte mit anderen Sektor-SchlĂŒsseln herangezogen wurde – der Leser hat diesen Code gesendet und der Controller hat ihn gespeichert. Leider habe ich keinen firmenmĂ€ĂŸigen Programmierer von IronLogic, um in die SchlĂŒssel-Datenbank des Controllers zu schauen, aber ich hoffe, dass ich darauf hinweisen konnte, dass das Problem existiert. Eine Videodemonstration der Arbeit mit dieser Schwachstelle ist verfĂŒgbar. unter diesem Link.

P.S. Gegen die Theorie der zufĂ€lligen HinzufĂŒgung spricht die Tatsache, dass ich in einem BĂŒrozentrum in Krasnojarsk ebenfalls in der Lage war, die TĂŒr mit derselben Methode zu öffnen.

Quelle: habr.com

60GB SSD 8Gb DDR4