Lässt sich die Stromzähler-PIN durch Brute-Force Attacke hacken?

Dann bist Du auf das gleiche Problem gestoßen, das ich oben für den EMH mMe4.0 beschrieben habe: Nach richtiger PIN-Eingabe landet man in einem Menü, und mit den Blinkpulsen der nachfolgenden PIN-Eingabe(n) klickt man sich recht schnell durch das Menü durch und ist dann schon wieder draußen, womit man den Zähler hinterher wieder im gleichen Zustand wie zuvor vorfindet.

Abhilfe ginge wohl wie oben beschrieben: Zeitraffer-Kamera vor das Display des Stromzählers hängen und die kompletten Eingabeversuche mit-filmen, mit einem Bild alle ca. 10 Sekunden. Bei Eingabe der richtigen PIN "absorbiert" das Durchblinken durch das Menü einige Pulse, wodurch die Synchronisation verloren geht. Sei z.B. 3764 die richtige PIN. Danach folgt im Rahmen des Hackens 3765, 3766 usw. Absorbiert das Menü nun z.B. 10 Blink-Pulse, dann gibt man danach ungewollt die 6537 ein, danach 6637, usw. Man beobachtet also einen plötzlichen Sprung in den eingegebenen PINs, bis es sich nach genügend Nullern irgendwann wieder einpendelt. Durch schnelles Durchschauen der Video-Aufzeichnung würdest Du dann sehen, dass im 3700er-Bereich mal zeitweise ein paar Zahlen im 6000er-Bereich auftreten. Durch Aufspüren dieser Diskontinuität kannst Du die richtige PIN dann bis auf wenige Werte eingrenzen, die Du anschließend nochmal durchprobieren lässt

1 „Gefällt mir“

Erfolg! und schneller als die Zusendung :slight_smile:

Nachdem die richtige PIN eingegeben wurde ist der Zähler ISKRA MT691 im Menü geblieben und dort umhergewandert: Es war einfach erkennbar, dass die richtige PIN zwischenzeitlich gefunden wurde.

Außerdem war der PIN Zustand "off"; eigentlich besteht nach der einmaligen richtigen Eingabe kein Bedarf, die PIN zu kennen.

Ich habe die PIN dann wieder aktiviert, um den genauen Wert zu finden. Dazu habe ich den Startwert von 9999 auf den letzten Wert, den ich noch in der Eingabe gesehen hatte gesetzt und nochmal Brute-Force angewendet.

Die Zeit bist zum vollständigen Durchprobieren sind ca 50h. Bei der Benutzung muss man darauf achtgeben, dass das Programm nicht vom Energy Saver abgeschossen wird. Einmal hatte ich einen Abbruch, die Eingabe war verschoben, das Anforderungsblinken war mitten in den Ziffern, die eingegebenen Zahlen waren auf einmal größer und durcheinander. Ich habe den Fortschritt tagsüber im ca. Stundenabstand beobachtet.

Die meiste Zeit wird durch die 3s Wartezeit beim ZIffernwechsel verbraucht: (43s10000=33h). Ich habe daher nicht versucht, aus den Licht an/aus Zeiten (300ms) noch etwas rauszuquetschen.

Das .flo export File (schlanke 720 Bytes) kann ich nicht direkt hochladen, weil es kein erlaubter Filetyp ist. Gibt es einen üblichen Workaround?

Deshalb erstmal das (zusätzlich kommentierte) Bild:

1 „Gefällt mir“

Pin_Blink.zip (566 Bytes)

Hier die Datei, die man in die Android App "Automate" importieren und dort ausführen kann. Ich würde mich über Kommentare zur Nutzung freuen.

1 „Gefällt mir“

Ich habe noch eine Formel gefunden, die i. Vorkommastelle direkt aus k berechnet: floor(kpow(10,1-i))-10floor(k/pow(10,i)).
Das damit aktualisierte .flo hat nur noch 20 Blöcke (und ist eleganter, braucht kein Array mehr)

2 „Gefällt mir“

An alle, die das genutzt haben (oder sonst bescheid wissen). :slight_smile: /p>

Das Script sollte ja auch auf nem 8266 laufen.

Womit kompiliert ihr es dort?

Meine alte Arduino IDE wirft bei d1 mini nen Fehler.

Es lässt sich nur für nen esp32 bauen...

Ja, das funkioniert problemlos. Habe auf D1 mini clone gestellt. Mit den Timings muss ich aber noch spielen, die passen bei meinem Zähler nicht so gut.

??

Die Frage war, womit ihr es kompiliert.

Mit meinem IDE geht es nämlich nicht.

Kannst du mir mal deinen Sourcecode als Datei anhängen?

Vielleicht bin ich ja wirklich zu blöd zum copy n paste...

Steht doch da. Arduino IDE. Code ist aus dem Forum.

Funktioniert problemlos :slight_smile:

Wo "da"? du meinst in meinem Post in dem steht, dass es mit meinem arduino IDE NICHT geht?

Welche Version des IDE?

Ja, das ist auch meiner. Schließt aber eben keinen copy paste Fehler aus.

Schön für dich. Hilft aber bei meiner Frage nicht das Allergeringste

Version? Keine Ahnung. Bring deine doch mal auf Stand!

Ansonsten kann man da wohl nichts helfen.

Ist sie natürlich.

Wobei es auch mindestens 2 gibt. 1er und 2er.

Geht aber mit beiden nicht.

Ich muss es wohl doch mal mit VSC versuchen...

Heute kam der Brief. Das Rennen habe ich also mit 18 Tagen Vorsprung gewonnen.

1 „Gefällt mir“

Bei mir läuft mittlerweile der 2. komplette Durchlauf und ist fast fertig.
Beim MT631 soll eigentlich nach Eingabe der korrekten PIN die 2. Zeile hinzukommen und man springt dann bei einer Eingabe immer in einem Menü. Sagt zumindest die Anleitung.

Nun ist die PIN-Eingabe bei mir tatsächlich in Kürze 2x komplett von 0000 - 9999 durchgelaufen. Geändert hat sich nichts.
Hat dazu irgendwer eine Idee?
Parallel habe ich die SYNA nochmal kontaktiert, woran es hängt mit dem Zusenden der PIN und ob ich da noch irgendwas zuliefern könne...

Danke für sachdienliche Hinweise :slight_smile:

Für die Zähler, die nach einmaliger richtiger Eingabe der PIN nicht dauerhalt entsperrt sind, habe ich hinzugefügt, dass nach der PIN Eingabe ein Bild mit der Frontkamera gemacht wird. Im Test hatte ich einen Spiegel so gehalten, dass die Anzeige fotografiert wird. Der Aufbau ist damit allerdings deutlich komplizierter: man muss nicht nur das blinkende Handy, sondern auch den Spiegel plazieren und gegebenenfalls noch ein Licht, damit man die LED Anzeige gut erkennen kann. Das war bei mir eher mau, ich hatte aber auch die Auflösung reduziert.

IMG_20241102_190442.jpg

Bei den falschen PINs wie im Beispielbild ist jeweils nur der Zählerstand (000204) zu sehen; nach der richtigen PIN verschiedene Menü Anzeigen. Die Fotos könnte man mit einem Tool (ggf Visipics) auf Änderungen durchsuchen. Hilfreich wäre die Info, wie lange es dauert, bis man bei diesen Zählern trotz dauernder Blinkerei das Menü wieder verläßt.

2 „Gefällt mir“

Da sich mein VNB nicht auskäst nach dem zählerwechsel, geht das Script von @lotus auch mit dem Lesekopf direkt, oder braucht es eine LED, die weiß leuchtet?

Habe einen Gayer& lay oder so Zähler.

Geht immer auch mit einem Lesekopf, sofern du die LED da ansteuern kannst.

Ich hab mir einen kleinen ESP mit beidem gebaut.

Nach dem Einschalten blinkt der zuerst die Pin ein und schaltet dann in den Lesemodus.

Dann ist dein Timing falsch und er erkennt nicht jede Eingabe.

Erhöhe mal die Zeitwerte und lass den Zähler rückwärts laufen.

nur die PIN hat man dann ja nicht, wäre ja mal was, mit dem ESPcam Modul, PIN ticken und Foto machen. Weiß gar nicht mehr ob man erkennen kann wenn er die PIN gefressen hatte...

Hallo @optipower ,
könntest du mir bitte noch das Programm zuschicken?
Ich wollte es auf eine Raspi + Leserkopf Hichi aufbauen.
Vielen herzlichen Dank schonmal.

hat jemand noch das Programm und mir zu Verfügung stellen kann? Vielen DANK.