Die Geschichte, wie Sie keine Autorisierung benötigen, insbesondere in Bereichen, die für Leben und Eigentum wichtig sind, wie zum Beispiel das Verwalten eines Sicherheitsalarmsystems über die Anwendung vom Telefon aus.

Kurze Einführung
Alles begann mit der Tatsache, dass ich ein Haus gebaut habe und ein Haus ohne Einbruchalarm in unserer Realität durchaus existieren kann, aber nichts mehr oder weniger Wertvolles kann dort zurückgelassen werden (traurige Fälle von Nachbarn bestätigen dies). Das Einstellen und Deaktivieren des Schlüssels verursachte beim Beenden von innen und außen keine Unannehmlichkeiten.
Das Haus hat eine Garage, die Tore öffnen sich über die Fernbedienung und dementsprechend wird das Auto dort abgestellt. Wenn das Haus bewacht ist, löst das Öffnen über die Fernbedienung einen „Alarm“ am Tor aus und nach 2-3 Minuten die Ankunft ernsthafter Männer. Um dies zu vermeiden, müssen Sie zuerst den Schutz entfernen (den Vorraum öffnen, den Schlüssel anbringen, den Vorraum schließen, wieder ins Auto steigen) und dann das Tor öffnen. Und irgendwie ist dieses Verfahren etwas nervig, besonders im Winter, und im Allgemeinen geht die ganze „Magie“ irgendwie verloren.
Natürlich können Sie geschickt sicherstellen, dass durch das Öffnen des Tors der Alarm beseitigt wird, aber ich habe diesen Punkt noch nicht erreicht.
Aber ich fand heraus, dass unsere Sicherheitsagentur eine Wunderanwendung "Phoenix Mobile Keyboard" hat. Die Anwendung ist nicht nur sie, sondern sie arbeiten damit. Mit ihm können Sie den Alarm vom Telefon aus steuern, was mehr oder weniger die Freude daran zurückgibt, all dies zu nutzen.
Und jetzt die Geschichte selbst
Um das Sicherheitsmanagement über die Anwendung zu verbinden, müssen Sie zum Büro der Sicherheitsagentur kommen, den gewünschten Techniker finden, 400 Rubel für das „Setup“ an der Kasse bezahlen und Sie erhalten ein Konto, das in die Einstellungen des Telefons und des Voila einfährt. Sie können die Sicherheit steuern, wie Sie möchten, erhalten Push-Benachrichtigungen und keine Trauer kennen.
Alles wäre in Ordnung, aber wenn Sie sich registrieren, erhalten Sie ein Login in Form von drei Buchstaben, zum Beispiel abb (Initialen), und das Passwort besteht aus den letzten vier Ziffern der Telefonnummer (wie der Ingenieur sagte, damit sie nicht vergessen), das heißt zum Beispiel 0808. Ein wenig überrascht von dem, was Sie gehört haben, gefragt, ob das Passwort anders eingestellt werden kann, sagten sie, dass es möglich ist, aber nur Zahlen. Okay, ich habe mir das richtige Passwort gesetzt und bin losgefahren, um zu testen, wie alles funktioniert.

In der Zwischenzeit war eine Idee in meinem Kopf gereift - aber sollte ich es versuchen ...
Wir nehmen ein iPhone, verbinden es mit der Mohnblume, führen rvictl -s iPhone_UDID
: rvictl -s iPhone_UDID
, klammern rvictl -s iPhone_UDID
über Wireshark an die neue Schnittstelle und sehen, wie es funktioniert und was unsere Anwendung sendet. Sie können andere Geräte / Werkzeuge nehmen, aber ich habe eines.

Es funktioniert, wie sich herausstellt, über das Wamp-Protokoll - dies ist im Wesentlichen derselbe Web-Socket. Natürlich ist nichts verschlüsselt und Sie können genau sehen, wie Anfragen gesendet werden, und diese tatsächlich wiederholen.
Jetzt versuchen wir, die empfangenen Anfragen zu reproduzieren. All dies für die Geschwindigkeit der Tests können Sie die Erweiterung für Chrome-Typ "Web Socket Client" setzen und dort versuchen.

Nachdem wir sichergestellt haben, dass alles genau wie erwartet funktioniert, schreiben wir den Client beispielsweise schnell auf den Knoten.
Wir stellen fest, dass die API mit unterschiedlichen Nachrichten antwortet, wenn der Benutzer überhaupt nicht gefunden wird und das Kennwort falsch ist. Dies beschleunigt den Prozess.
Unser Kunde wird ziemlich dumm sein, aber dennoch effektiv. Der Client zählt alle Anmeldungen auf, die aus 3 Buchstaben bestehen. Wenn der Benutzername vorhanden ist, beginnt er mit der Aufzählung des Kennworts. Andernfalls wird mit dem nächsten fortgefahren. Das Passwort ist im Bereich von 0000 bis 9999 sortiert.
Wir fangen alles an und warten. Logins kamen ziemlich schnell vorbei (10 Minuten), es stellte sich heraus, dass es ungefähr 150 Stück waren (der Service wird nicht so oft genutzt). Das Passwort für jede Anmeldung ist in ca. 8 Minuten. Es gibt keine Einschränkungen für die Überprüfung in der IPA. Und Sie können Multithreading hohl.
In 100% der Fälle wurden Passwörter ausgewählt. Nach erfolgreicher Kennwortauswahl gibt die API folgende Informationen aus: Name des Eigentümers, Adresse (möglicherweise gibt es viele Objekte), einige Token (anscheinend zum Senden von Pushs), Sitzungs-ID usw.
Nachdem Sie sich angemeldet haben, können Sie das gesamte Objekt entsprechend deaktivieren. Die Objekte selbst waren ziemlich weit von der Stadt entfernt. Wenn diese Informationen in die Hände der „Bösen“ gefallen wären, wäre die Autopsie eines bewachten Objekts ohne Probleme verlaufen, und dann wäre es möglich gewesen, sicher zu bewaffnen, und niemand hätte es bemerkt.
Als ich merkte, dass ich selbst Kunde dieses Büros bin, fühlte ich mich ein wenig unwohl.
Eine Sache ist gut, anscheinend hat das Unternehmen immer noch eine Art von Überwachung, oder es wurde möglicherweise versehentlich bemerkt, aber nach einer Weile akzeptierte die Anwendung keine Passwörter mehr und bot an, sich an das Büro zu wenden.
Infolgedessen änderten alle ihre Benutzernamen und erstellten normale Passwörter. Das Protokoll blieb jedoch unverschlüsselt gleich, aber zumindest etwas.
Warum ist das alles? Vielleicht möchte jemand danach sein System ein wenig sicherer machen, und jemand, der einen ähnlichen Dienst mit ähnlichen Passwörtern verwendet, wird ihn von der anderen Seite betrachten und nach Maßnahmen fragen. Mit solch einfachen Aktionen wird das Sicherheitsniveau leicht erhöht.
Ich gebe hier ausdrücklich keine Namen an und entpersönlichte so weit wie möglich alle Daten, so dass derjenige, der sich selbst erkennt, Schlussfolgerungen zieht :)
PS Dieser Artikel dient nur zu Informationszwecken, die hier zum Zeitpunkt der Veröffentlichung beschriebenen Probleme sind nicht mehr relevant - das Unternehmen hat Maßnahmen ergriffen.