Bruteforce Passwörter Engineering-Menü-Radios

Bild

Was ist ein Engineering-Menü und warum wird es benötigt? Lass mich aus dem Wiki zitieren :
Undokumentierte Funktionen (englisch undokumentierte Funktionen), NDV - Funktionen technischer Geräte und / oder Software, die nicht in der Dokumentation enthalten sind. In den meisten Fällen werden undokumentierte Features von Entwicklern absichtlich festgelegt, um die Funktionalität zu testen und weiter zu erweitern. Undokumentierte Features werden normalerweise während des Reverse Engineering- Prozesses entdeckt , können aber auch versehentlich entdeckt werden.
Weiter unten im Artikel eine Beschreibung meines Versuchs, Codes für das Engineering-Menü des Radiosenders auszuwählen.

Einleitung


Ich habe einmal einen in China hergestellten KYD-IP620-Radiosender gekauft, aber unter der inländischen "Marke". Ich werde die Marke nicht bewerben, wird Google mitteilen. In seinen Händen gedreht, gespielt und verlassen. Aber kürzlich bin ich wieder darauf gestoßen und habe beschlossen, diesem Wunder der Technologie mehr Aufmerksamkeit zu schenken. Das mittlere Einstellungsmenü zwang mich, nach Software für die Arbeit mit dieser Station zu suchen. Es schien mir, dass die Software mehr Einstellungen geben wird, als über das Menü verfügbar sind.

Auf der Website des Herstellers habe ich mein Modell des Radiosenders gefunden, aber die Software nicht gefunden. Ich schrieb einen Brief an den technischen Support, antwortete schnell und schickte die Software. Installiert, gestartet und das erste, was mir aufgefallen ist, war die größere Anzahl unterstützter Bereiche. Sie drängten mich, nach der Möglichkeit zu suchen, die von mir gewünschte Frequenz (innerhalb eines angemessenen Bereichs des aktuellen Bereichs) aufzuzeichnen. Aber dann wartete ein Mist auf mich.

Die offizielle Software prüfte vor der Aufnahme, ob die eingegebene Frequenz in den ausgewählten Bereich fällt, und untersagte die Aufnahme außerhalb des Bereichs. Okay, ich habe den Sniffer gestartet, das Schreib-Lese-Protokoll herausgefunden und mein Dienstprogramm auf das Delphi- Knie geworfen . Aber dann tauchte ein weiterer Byak auf. Ich habe es geschafft, die Frequenz aufzunehmen, die ich wollte, aber der Radiosender war dumm und leise. Empfang oder Übertragung ist Stille. Anscheinend gibt es auch eine Kontrolle an der MK-Station.

Die Station abgebaut. Auf der Tafel wurde unter anderem 24C64 gefunden. Dies ist ein i2c EEPROM-Chip. Es wurde gelötet, die Müllkippe entfernt, zurückgelötet. Es war nichts im Dump außer meinen Einstellungen und den Frequenzen, die ich aufgezeichnet habe. Ich habe den i2c-Sniffer an den Speicher angeschlossen, mit offizieller Software, meinem Dienstprogramm, nichts geschrieben / gelesen. Alles, was auf dem i2c-Bus lief, befand sich im EEPROM, nichts wurde extra gelesen oder geschrieben. Alle Daten im EEPROM sind nur das, was ich geschrieben habe. Später habe ich das Schreib- / Leseprotokoll fertiggestellt und konnte auf alle Speicheradressen lesen / schreiben.

Worum geht es?


Ich antizipiere die Frage „Warum brauche ich das alles, worüber schreibe ich?“ Und werde versuchen, meine Gedanken zu beschreiben. Google gab mehrere Diagramme der vorherigen und nächsten Modelle des Radiosenders. Ich habe die schematische Darstellung meines Versuchsteilnehmers, die ich im Artikel beschreibe, nicht gefunden, aber sie stimmt zu 70% mit ihnen überein (ich habe es herausgefunden, während ich die erforderlichen Beine aufgerufen habe). Nach dem Schema sind die Unterschiede nicht signifikant. Dies legt die Schlussfolgerung nahe, dass der Hersteller, insbesondere China (mit seiner Massenproduktion), zur Reduzierung der Produktionskosten für den Kunden keine globalen Schemata mehr entwerfen, keine Software für MK-Radiosender schreiben usw. wird. Warum, wann gibt es schon ein fertiges, das leicht korrigiert und zurückgegeben werden muss? IMHO lässt sich am einfachsten programmgesteuert und ohne die Verwendung eines Programmiergeräts anpassen. Dies ermöglicht es, einen großen Stapel von Rohlingen herzustellen, die dann mit dem geringsten Aufwand auf die Kundenanforderungen gebracht werden. Nach diesem Gedanken suchte ich nach einem Zugang zum Engineering-Menü und fand es. Es gab nichts Kompliziertes: Es war notwendig, die 2 Tasten gedrückt zu halten und den Radiosender einzuschalten.

Hier ist es!


Vor dem Aufrufen des Menüs wird die Aufschrift "SET" geschrieben.

Bild

Für den weiteren Zugriff auf die Funktionen wird ein 6-stelliges Passwort benötigt. Das Zerschlagen von Händen ist mühsam und verschwindet. Bei falschem Passwort wird wieder die Aufschrift „SET“ angezeigt. Google hat ein Passwort vergeben, was zu einem Factory Reset führt. Wenn Sie es eingeben, ändert sich die Aufschrift in "ERASE". Dann hat er sich später beim Debuggen als nützlich erwiesen. Es gab eine Idee, eine Suche nach MK zu organisieren. Lassen Sie ihn langsam seine Passwörter drehen, und ich werde mein eigenes Ding machen.

Bild

Fangen wir an


Zum Eingeben des Passworts beim Radiosender gibt es: eine Tastentastatur und einen Encoder.

Anzeige der eingegebenen Daten: LCD-Bildschirm. Ich wollte die Kamera nicht an dieser ganzen Sache befestigen und die Bilder oder Videos von ihr analysieren. Wir haben einen Bildschirm, wir werden ihn benutzen. Nachdem ich mich etwas eingehender mit dem Inneren der Station befasst hatte, stellte ich fest, dass der HT1621B-Treiber für das LCD-Display verantwortlich ist. Beim Durchsuchen des Datenblattes für den Treiber und seiner Steckerbelegung wurden die von mir benötigten Steckerbelegungen ermittelt. Dies sind CS, WR und DATA. Kurz CS - der Beginn der Übertragung, WR- "Synchronisation", DATA-Daten. Lassen Sie uns versuchen, damit auszuziehen. Wir rufen auf und verlöten zu den Schlussfolgerungen der MK-Station, die zu den Beinen des LCD-Bildschirmtreibers führen.

Bild

Wir schließen den Logical Analyzer an und prüfen die übertragenen Daten an den Treiber für die Aufschrift „SET“ und für die Aufschrift „ERASE“. Es ist klar, dass die Daten unterschiedlich sind, wir werden sie brauchen. Als nächstes verlöten wir die "Organe" der Eingabe. Wir benötigen 2 Tasten der Tastatur (MENU und F) und einen Encoder. Ich habe keine Arduins, ich werde tun, was zur Hand ist. Zur Hand war eine Pinnwand mit AtMega16 von Genosse DiHalt .

Bild

Technische Aufgabe


Wir schreiben einen Encoder-Emulator und einen Emulator zum Drücken der Tasten „MENU“ und „F“ (sie werden zur Eingabe und Bestätigung eines Passworts benötigt). Wir analysieren die Daten, die auf dem LCD-Bildschirm angezeigt werden. Wir werden die LCD-Treiberdaten durch AtMega16-Interrupts lesen. Für verschiedene Fahrerdaten aus dem "Standard" ("SET") geben wir das aktuelle Passwort über UART aus. Wir können nicht in das Datenformat für den Fahrer gehen. Wir müssen unterscheiden, wann die Aufschrift „SET“ nach dem Drücken der Taste „MENU“ nicht angezeigt wird und wann sie leuchtet. Es ist logisch, dass die Daten unterschiedlich sein werden. Daher vergleiche ich die Bytefolge, die nach der letzten Ziffer des eingegebenen Passworts empfangen wurde, und drücke die Taste „MENU“. Nachdem ich mehrere Pakete des LCD-Treibers für die Aufschrift „SET“ abgefangen hatte, war ich überzeugt, dass sie gleich sind, und nahm dieses Paket als Referenz. Im Vergleich dazu verwerfe ich diejenigen, die übereinstimmen, und übertrage die anderen zur weiteren Analyse an UART. Ich habe diesen Algorithmus mit einem Passwort überprüft, das zu einem Zurücksetzen auf die Werkseinstellungen führt. Es hat meine Erwartungen erfüllt. Im Allgemeinen sieht der Passworteingabealgorithmus so aus: Die Aufschrift "SET" ist aktiviert, eine Einladung zum Engineering-Menü. Drücken Sie die “MENU” -Taste und geben Sie das erste Zeichen des Passworts ein. Drücken Sie dann erneut die Taste „MENU“, um das nächste Zeichen einzugeben. Also bis zum letzten Zeichen wiederholen. Wenn Sie das letzte Zeichen eingegeben haben, drücken Sie erneut die Taste "MENU". Und hier leuchtet die Aufschrift "SET" oder etwas anderes auf. Wenn "SET" leuchtet, werden wir an den Anfang durch Iteration des Passworts gestoßen. Wenn nicht, senden Sie das Passwort zur Analyse über UART. Bildschirmprogramme für das Brute-Force-Management. Drücken Sie die “MENU” -Taste und geben Sie das erste Zeichen des Passworts ein. Drücken Sie dann erneut die Taste „MENU“, um das nächste Zeichen einzugeben. Also bis zum letzten Zeichen wiederholen. Wenn Sie das letzte Zeichen eingegeben haben, drücken Sie erneut die Taste "MENU". Und hier leuchtet die Aufschrift "SET" oder etwas anderes auf. Wenn "SET" leuchtet, werden wir an den Anfang durch Iteration des Passworts gestoßen. Wenn nicht, senden Sie das Passwort zur Analyse über UART. Bildschirmprogramme für das Brute-Force-Management. Drücken Sie die “MENU” -Taste und geben Sie das erste Zeichen des Passworts ein. Drücken Sie dann erneut die Taste „MENU“, um das nächste Zeichen einzugeben. Also bis zum letzten Zeichen wiederholen. Wenn Sie das letzte Zeichen eingegeben haben, drücken Sie erneut die Taste "MENU". Und hier leuchtet die Aufschrift "SET" oder etwas anderes auf. Wenn "SET" aufleuchtet, werden wir durch Iteration des Passworts zum Anfang zurückkehren. Wenn nicht, senden Sie das Passwort zur Analyse über UART. Bildschirmprogramme für das Brute-Force-Management.

Bild

Realität


Die Realität ist, dass ich mit einer hohen Suchgeschwindigkeit gerechnet habe, aber das Leben hat Anpassungen vorgenommen. In einem Radiosender verarbeitet MK den Encoder und die Tastenanschläge so, wie es sollte, mit "Anti-Bounce" der Kontakte und Verzögerungen in der Benutzerreaktion. Daher werden im Bruteforce-Code Verzögerungen eingeführt. Ja, alles basiert auf Verzögerungen. Skizzierte ein Tool zum Verwalten von Brute Force. Beim Lesen von anderen als den "Standard" -Treiberdaten wird das Kennwort über UART an den Computer übertragen, an dem es aufgetreten ist.

Zusammenfassung




Die Suche hat begonnen und tickt. Im Moment habe ich noch nichts verdreht. Aber ich gebe nicht auf. Ich werde geduldig auf das Ende warten. Es ist klar, dass es bei diesem Ansatz zu „falschen“ Antworten kommen kann. Vor dem Hintergrund der zukünftigen Anzahl gescannter Passwörter ist dies jedoch ein Tropfen auf den heißen Stein. Diese „falschen“ Passwörter können später über das Dienstprogramm schnell überprüft werden. Am Ende der Suche werde ich Ihnen auf jeden Fall mitteilen, wie all diese brutale Gewalt geendet hat und was am Ende passiert ist.

Utility-Quellen, AtMega16-Firmware sind auf dem Github verfügbar .

Jetzt auch beliebt: