 Ja, willkommen zu meinem Talk Megacode zu Garagentouren und ich werde also zeigen, was ich mit dieser Fernbedienung gemacht habe. Und es wird um Elektronik geben, um Mikrocontroller und um Software-defined Radio, aber es wird nicht sehr detailliert werden. Es ist ein sehr einfacher Level. Jeder sollte in der Lage sein, das zu verstehen. Und selbst wenn du bislang noch kein Hardware-Hacking gemacht hast, das sollte dich motivieren, das vielleicht zu machen, weil es muss nicht schwierig sein. Also das ist auch keine neue Attacke, sondern die Fernbedienung sendet einen festen Code und ich wiederhole den einfach. Das ist also ganz einfach, aber um das rauszufinden, das war ganz interessant. Und wenn du jemals Elektronik bauen wolltest, dann wirst du vielleicht feststellen, dass das schwierig ist und dass man da nicht weiß, was man tut. Und wenn man Software-defined Radio ausprobieren wird, dann wird man feststellen, dass Funkübertragung schwierig ist, aber das ist jetzt der perfekte Talk für euch. Also, ja, einer von euch ist glücklich, das ist gut. Also das ist so eine Fernbedienung. Ich habe in den Staaten gearbeitet für ein paar Monate und man hat uns also so eine Fernbedienung gegeben. Und ich wollte wissen, wie sicher ist dieses Zugangstor und das wird für die Garage benutzt. In den Vereinigten Staaten braucht man also ein Auto, weil es gibt nicht so viel öffentlichen Nahverkehr und man gibt uns das, um den Haupteingang zu bedienen. Und was wichtig ist, man gibt uns das auch, um den Pool reinzugehen und der ist auch mit einem Zaun umgeben, weiß nicht warum, aber so ist es. Und das ist der Grund, weswegen ich mir das angeschaut habe, weil es da also dieses Tor gibt. Man kann drüber springen, aber es ist natürlich viel lustiger, das zu hacken. Also, die geben dir eine, so eine Fernbedienung für einen Teil des Gebäudes und man sollte also nur Zugriff zu diesem einen Gebäude haben. Und dieser Komplex hat also, wie du sehen kannst, viele Gebäude und das wird in vielen Gebäuden in Kalifornien benutzt. Und das war auch einer der Gründe, warum ich viele Dinge wiedererkannt habe. Und wenn du diese Fernbedienung schon mal irgendwo gesehen hast, das ist genau dieselbe. Und bevor es jetzt also um diese Fernbedienung gehen soll, ist es wichtig, dass man weiß, wo man Informationen findet, besonders als Anfänger. Wenn man also schon mal Hardware-Hacking gemacht hat, dann kann man damit direkt anfangen. Und wenn man Software Defined Radio machen möchte, dann kann man wahrscheinlich die Modulation herausfinden, aber wenn man es noch nicht gemacht hat, dann ist das relativ schwierig. Und jetzt geht es darum, wie wer diese Informationen herausfinden kann und das spart viel Zeit. Also wir müssen jetzt diese Fernbedienung herausfinden, welche das für eine ist. Auf der Rückseite steht aber nichts. Da gibt es kein Sticker oder irgendwas Ähnliches. Und wenn man es aufmacht, dann sieht man, die Elektronik ist relativ einfach. Es hat nicht sehr viele Komponenten, aber man sieht halt nicht, was das für ein Hersteller ist. Und auf der Rückseite steht es auch nicht. Da sind sogar zwei Sticker. Ich denke, es ist vielleicht der Code, der da übertragen wird, aber ich habe das nicht herausgefunden, wie man das aus diesem Sticker ableitet. Wenn es also einen Sender gibt, dann gibt es auch einen Empfänger. Und da habe ich also an dem Tor versucht, herauszufinden, ob da vielleicht irgendwie was drauf steht. Am Pool ist es leider nur eine Aluminiumbox, keine Markierung. Am Haupteingang allerdings. Da gibt es ein hübsches Eingabefeld, um mit den Bewohnern zu reden. Und am oben dran steht, es ist von Linear, also kennen wir jetzt wenigstens den Hersteller. Und nachdem wir also einen Tag lang um das Gebäude rumgelaufen sind, setze ich mich in den Pool. Und das ist der Zeitpunkt, um die sozialen Fähigkeiten zu benutzen. Und frage also die anderen Leute, die da eine Fernbedienung haben, hey, kann ich mal deine Fernbedienung haben. Und hier gibt es zum Beispiel eins, die haben einen Sticker. Und der Hersteller ist also tatsächlich linear und das Produkt ist Akt 42B. Und nach der Website des Herstellers sehe ich also, dieses Produkt existiert noch. Und ich sehe, es kann also ein Millionen verschiedene Codes verschicken, aber es sagt mir nicht viel mehr. Und ich will also herausfinden, mehr Informationen herausfinden. Und auf der Fernbedienung sehe ich also eine FCC-ID, das ist was Spezielles von den Vereinigten Staaten. Jedes Mal, wenn ein Hersteller ein Funkgerät bauen will, dann müssen sie bestimmte Regulierungen erfüllen. Und die senden dann also Testergebnisse an die FCC, um nachzuweisen, naja, ich übersetze, ich sende mit so und so viel Energie. Und ich halte mich an diese Regulierungen. Und da kann man dann also sehr viel interessante Informationen finden bei der FCC. Und man sieht, die bringen also sehr viele Informationen raus, auch wenn sie das eigentlich nicht müssen. Und wir schauen an diese Testreports an und wir sehen da also einige Sachen, zum Beispiel die Signalmodulation. Und das ist A1D-Puls moduliert. Und in der Wikipedia steht, was das bedeutet. Es gibt also hier jetzt nur zwei Levels an oder aus, ganz einfache Übertragungsmodus. Und die Daten sind offensichtlich in Puls Position übertragen. Und sie informieren einen sogar, wie dieser Megacode-Code tatsächlich dann übertragen wird. Also mit 24 Bit Frames, 6 Millisekunden Frames und eine Millisekunde pro Frame. Das geht also nur an und überträgt dann einfach auf dieser Frequenz. Und wir haben also über die FCC ID, haben wir also fast schon alles gefunden, wissen schon, wie das encoded ist. Wir haben also viel Zeit gespart. Okay, also es gibt jetzt da ein Signal, ich kann also so ein 20 System Code Frames aufzeichnen und dann gibt es eine leere Zelle, bevor der nächste Code abgeschickt wird. Und wie es da steht, jedes Bit Frame ist 6 Millisekunden voll lang. Und jetzt wissen wir also, wie die Übertragung da funktioniert. Und jetzt können wir mit Software Defined Radio spielen. Und das ist also dieses Software Defined Radio nur 20 Dollar teuer, das ist also ganz billig. Und jetzt schauen wir uns die Frequenz an. Wir gehen auf die Frequenz und auf der linken Seite steht die. Und oben sehen wir die Fast Fourier Transformation davon. Und da sehen wir also, es gibt jetzt ein starkes Signal bei 318 Megahertz. Und unten gibt es ein Wasserfalldiagramm. Und das ist dasselbe wie oben, aber jetzt haben wir eben das Timing noch. Das heißt, wir sehen, wie sich das Signal über Zeit entwickelt. Und jedes Mal, wenn es da ein gelbes Signal gibt, dann sehen wir, okay, da gibt es also einen Puls. Software Defined Radio ist manchmal recht schwierig. Nu Radio ist tatsächlich recht schwierig. Und ich bin auch kein großer Fan davon. Ich weiß nicht richtig, wie ich das benutzen soll. Ich möchte gerne Dinge recht einfach halten. Ich weiß aber, es ist AM moduliert. Und deswegen benutze ich einen Tool, das heißt RTL FM. Das kann AM Modulation machen. Das ist eigentlich für Audio gedacht. Das heißt, man teilt ihm da die Frequenz mit und sagt ihm, es ist AM moduliert. Und dann holt man sich einfach mit einem Audio-Editor die Aufzeichnung her. Zweimal 24 Pulse. Wenn man in die Details reinguckt, dann sieht man, die Pulse sind auch tatsächlich eine Millisekunde lang. Und wir haben Bitframes, die sechs Millisekunden groß sind. Und wir sehen auch die Pulspositionen. Das heißt, hier in dem Fall gibt es ja nur ein Bitframe. Also nur ein Bit pro Frame. Und wenn wir in der ersten Hälfte sind, dann ist es eine Null. Und in der zweiten Hälfte ist es dann halt eine Eins. Und das steht jetzt nicht in der Dokumentation. Aber das findet man schnell raus. Und wir wissen, wie das codiert ist. Man schreibt also so ein Programm. Das nimmt einfach diese demodulierten Daten und findet die Codierung raus. Das ist nur 127 Zeilen Codes, Zeilen lang. Und das gruppiert also diese Dinge zusammen und dekodiert sie. Und hier sehen wir auf der linken Seite die Werte, die dekodiert werden. 23 Bit, also 4 Bit. Und wir sehen, das ist genau derselbe Code jedes Mal. Es ist zwar für eine einzelne Funkverdienung individuell, aber wir können einfach immer diese selbe Zahl senden. Dann haben wir die Fernbedienung schon geklont. Also wollen wir es senden. Wir schauen nochmal auf die FCC und schauen in die Dokumentation hinein. Dort sehen wir dann genau das Modul, das wir haben. Und jede einzelne Komponente hat eine Referenznummer. Wir lernen also, wie wir Zeichnete Bords herstellen können. Bevor wir das jetzt also machen, wollen wir wissen, wie die zusammen verbunden sind. Und wo die platziert sind, das ist uns verhältnismäßig egal. Wir wollen nur wissen, wie die zusammengeschaltet sind. Und wenn man das herausfindet, wie die funktioniert, dann sieht man also, okay, die Switches sind da auf der linken Seite, der Mikrocontroller in der Mitte, die Klok da unten und dann gibt es noch eine Antenne. Und das sehen wir auch tatsächlich auf dem Board. Das können wir auf dem Board also wiederfinden, weil wir diese Referenz jetzt haben. Und U1 ist der Mikrocontroller. Wenn man danach sucht, dann findet man also auf dem Board auch tatsächlich den Mikrocontroller. Und selbst wenn man keine Ahnung hat von Elektronik, dann kann man jetzt schon relativ leicht herausfinden, wie man mit diesen Plänen diese Komponenten identifizieren kann. Und das Problem ist, der benutzt also so einen speziellen Mikrocontroller, aber den kann man nur einmal programmieren. Das weiß ich, weil das in der Dokumentation stand. Und wenn man dann diesen Mikrocontroller sucht, dann stand man also fest, okay, der kann man nur einmal programmieren, ich kann den also nicht umprogrammieren. Der ist auch geschützt. Das heißt, ich kann auch den Code nicht auslesen. Ich kann den also leider nicht neu beschreiben. Das ist also sehr ärgerlich. Aber das ist so einfach, dass manche Leute haben also möglicherweise schon kompatible Geräte gebaut. Und bei Amazon oder Ebay sucht man dann also zum Beispiel so ein alternatives Gerät, zum Beispiel hier von Transmitter Solutions. Ja, das hat eben hier diesen Namen. Und das sagt, es ist 318 MHz, genau dieselbe Frequenz. Es ist kompatibel mit dieser Fernbedienung, ACT 31B. Und er ist programmierbar. Das ist interessant. Die andere Fernbedienungen, die waren nicht programmierbar. Im Handbuch steht, also steht nicht, wie man das programmieren kann. Aber hier ist eine wichtige Information. Da gibt es nämlich wieder die FCC ID. Das ist natürlich, haben wir vorher schon gesehen, eine ganz wichtige Information. Leider gibt es bei der FCC nicht so viele Informationen wie bei dem anderen. Aber es gibt immerhin ein Bild von dem Inneren. Und man sieht also direkt hier oben gibt es einen Pinheader. Hier kann man also Dinge drauflöten. Und kann man das dann möglicherweise auch programmieren. Also wir kaufen uns das. Und wir sehen auch diese Programmingheader. Und oben gibt es also diesen Chip und mit Microcontroller. Und es ist wieder ein Microcontroller. Aber der ist jetzt eben flashbar. Den kann ich neu programmieren. Und der nächste Aufgabe ist jetzt also zu löten. Und man muss jetzt einfach nur die Pins auf der rechten Seite anlöten. Und dann kann man den Chip programmieren. Das ist leicht zu löten. Das ist einfach zu machen. Und wir wollen jetzt wieder wissen, wie die Dinge verbunden sind. Und wir können uns jetzt das Board angucken. Also es steht leider nicht in der Dokumentation. Aber wir können uns jetzt hier die Informationen von dem Microcontroller anschauen. Dann finden wir also die Anschlüsse. Und es ist viel einfacher als Arduino oder sowas ähnliches. Wer also ein Arduino benutzen kann, der kann auch sowas benutzen. Und jetzt haben wir also rausgefunden, wie das Zeug verbunden ist. Wir wissen, wie das Signal moduliert ist. Wir wissen, wie wir es senden müssen. Das heißt, jetzt geht es darum, unsere eigene Firmware zu senden. Womit wir also in den richtigen Abständen die Signale senden können. Und wenn Sie bitte auf die Kamera hier umschalten könnten. Also wir haben das Programm geschrieben. Das ist ganz einfach. 125 Zahlen Code Firmware. Und ich kann jetzt meinen Code übertragen auf die Fernbeginung. Wo ist mein Terminal? Ah, hier, da ist es. Kannst du dir die Kamera zeigen? Während das gemacht wird, starte ich einfach meinen Software Defined Radio, damit wir die Übertragung sehen können. Also hier haben wir das Software Defined Radio mit der Fernbedienung. Die Fernbedienung ist hier. Jetzt aktivieren wir es. Und wenn ich auf es drücke, dann sieht man die Übertragung. Jetzt sieht man sie nicht mehr. Das ist der Übermittler, der Empfänger. Und immer wenn Code übertragen wird, dann blinkt das Licht. Es ist irgendwas kaputt, wie immer, vor für Effekt. Es klappt aber nur mit dieser Fernbedienung. Das tut jetzt noch gar nichts mit der anderen Fernbedienung. Also wir haben die Frequenz identifiziert. Und jetzt nutzen wir einfach unseren Decoder. Drücken auf die Fernbedienung. Ein paar mal. Wir verlassen dieses Programm und sehen, dass es hier genutzt wird. Ich denke, ich muss das aktivieren. Wenn ich das übertrage, jetzt kannst du sehen, dass das überträgt an der LED. Dann siehst du, dass ein anderer Code verwendet wird. Jetzt editieren wir einfach das E-Pro mit dem anderen Code. Der 21.8a ist Flaschen. Ich nutze ein Picture-Tool-Programmer. Das wird zum Flaschen verwendet von Microcontrollern. Bitte Flaschen. Also keine Picture-Tool-Programme. Das ist nicht USB, sondern Flaschen. Das ist Flaschen. Flaschen. Also jetzt ist es offen. Wenn wir hier nochmal schauen und den Code senden, dann sehen wir, dass das Tor offen sein wird. Das ist wie wir unsere Geräte klonen. Zurück zur Präsentation. Ich habe hier nicht nur aufgehört, wo man die kopiert. Wir wollen nicht nur einen Code, wir wollen verschiedene. Man kann das natürlich immer wieder neu flaschen. Das ist nicht immer das haben möchte. Die Bandbreite ist ziemlich klein. Wenn man relativ weit weg ist, dann funktioniert das mit Software Defined Radio nicht mehr. Da brauche ich dann spezielle Elektronik. Ich brauche einen Empfänger, den kaufe ich mir direkt von Megacode. Wir sehen, es gibt wieder nicht viele Komponenten. Wir haben jetzt schon gelernt, wie wir die identifizieren. Wir haben jetzt auch noch ein paar Kodes gespeichert. Daraus wird gelesen, welcher Code zugelassen wird und welcher nicht. Das ist tatsächlich nur eine Schicht. Auf der Rückseite sehen wir alle Verbindungen zu allen Komponenten. Mit den Komponenten können wir ein Diagramm zeichnen. Wir finden raus, was verbunden ist. Wir haben dieses Diagramm erstellt. Das heißt, wir löten die ab. Das ist das nächste, was du lernen musst. Das ist nicht sehr schwierig. Es ist schwer kaputt zu machen, da kann man nicht viel kaputt machen. Wir nehmen jetzt denselben Chip nur den beschreibbaren. Wir wissen jetzt schon, wie die Modulation funktioniert. Wir haben schon Code geschrieben, zum demodulieren und für den Microcontroller. Das heißt, wir machen jetzt genau dasselbe nochmal, nur auf diesem Microcontroller. Dann hängen wir es direkt neben einem Garagentor und schalten es an. Wir warten bis viele Leute Codes abgeliefert haben, wenn sie nach Hause gehen. Jetzt können wir jeden Code nachmachen. Wir wissen jetzt auch, wann die Leute gehen und wann sie zurückkommen. Wir hätten jetzt Informationen, um bei den Leuten einzubrechen, wenn wir das machen würden. Der Pool, das ist die letzte Information. Die ist auch sehr wichtig. Der Pool um 10.00 Uhr kommt. Der Sicherheitsgaard. Er verschließt mit seiner Fernbedienung das Tor. Ich habe mir den Sicherheitscode von dem Sicherheitsgaard notiert. Mit dem Code kann ich dann in jedes Gebäude und auch in den Pool nachziehen. Ich kann auch den Sicherheitsraum neben dem Pool mit der Überwachungskamera betreten. Wenn ich diesen Code habe, kann ich einzelne Bits an- und ausmachen. Das einfach ausprobieren, ob es noch aufgeht. Es stellt sich heraus, dass von den 20 Bits, die wir übertragen, sind nur 15 relevant. Das heißt, wir könnten ausprobieren, alle Codes auszuprobieren. 15 Bits mit tausenden von Leuten, die Zugriff haben. Es ist relativ leicht, gültige Codes zu finden. Wir sind gute Hacker. Wir kontaktieren den Hersteller. Der Hersteller reagiert nicht. Ich zeige auch den Talk deswegen, weil es recht einfach ist, die Lösung zu haben. Ich kann einfach Codes benutzen, die sich ändern. Das löst dann dieses Problem. Was wir gelernt haben, ist, dass es nicht schwierig ist, Hardware-Hacking zu tun. Wir haben ein echtes Device, das tatsächlich benutzt wird für die Sicherheit von Toren. Wir haben einfach offensichtlich zugängliche Informationen benutzt von der FCC. Wir haben neue Freunde am Pool gemacht. Wir haben gelernt, wie man ein Microcontroller lernt. Das ist wirklich einfach sehr gut dokumentiert. Wir haben software-defined Radio benutzt. Das ist an diesem Level überhaupt kein Voodoo. Das funktioniert einfach. Wir haben Chips gelötet. Wir hatten Spaß. Wir haben jetzt ein Wiki mit weiteren Informationen, mit Bildern. Ich hoffe, dass ihr jetzt Fragen habt. Herzlichen Dank für diesen großartigen Talk. Gibt es Fragen aus dem Publikum? Dann stellt euch bitte an die Mikrofone. Nummer 4, bitte. Ich arbeite an einer Forschungseinheit. Ich habe Zugang zu Laboreräumen. Dort gibt es richtig teures Equipment. Ich werde also zuerst mal ausprobieren, ob es dort funktioniert mit deiner Methode. Wenn es aber nicht funktioniert, du hast laufenden sich veränderten Code erwähnt. Wenn das nicht funktioniert, wie wäre die Alternative? Ja, es ist eine Lösung, dass man die Fernbedienungen nicht klonen kann. Die Idee ist, man hat, wie bei Autos, man hat Rolling Codes. Die Idee ist, man hat einen geheimen Nummer in der Fernbedienung. Aus dieser geheimen Nummer wird jedes Mal ein hashartiger geheimer Code generiert. Daraus wird dann der Code, der übertragen wird, generiert. Die selbe Geheimennummer ist auch im Empfänger, sodass die jeder übertragende Code unterschiedlich ist. Man kann also die Geheimennummer nicht zurückrechnen. Wenn man ein zentrales Management hat, dann ist das ganz einfach. Wenn man das nicht hat, dann ist es schwierig. Da muss man die synchronisieren. Man kann das mit Rolling Codes finden. Das Internet hat eine Frage. Das Internet möchte wissen. Oder einer dort möchte wissen. Ob du Probleme bekommen hast, damit das gebrochen zu haben. Ich habe keine Probleme. Ich habe keine Probleme. Ich habe keine Probleme. Ich habe kein Problem. Ich war in meinem Sicherheitsraum, den ich erwähnte, nicht. In dem Gebäude ist es nicht interessant, ob man die Fernbedienung hat, weil die B Bayern relativ niedrig sind. Man findet eine Tür, die offen ist. die sehen ja auch nicht, ob das eine geklonte Fernbedienung ist oder nicht. Eine weitere Frage aus dem Internet, bitte. Jemand möchte wissen, ob damit Autos zu öffnen sind? Nein, das geht nicht. Denn neue Autos benutzen alle diese Rolling Coats und die benutzen auch stärkere Verschlüsselung. Wenn eure Autos das hier benutzen, dann sollte er sie verklagen. Also in dem Allgemeinen haben Autos tatsächlich Rolling Coats. Also versucht, nach was zu suchen, was weniger attackiert wird als Autos. Ich schätze, wir haben noch Zeit für eine weitere Frage. Nochmals aus dem Internet, bitte. Was kann ich weiteres mit deiner Methode öffnen? Nein, also wir haben das für eine Garagentor gemacht. Die sind allgemein nicht sehr sicher. Wir haben versucht, ein anderes zu finden. Das ist ein Produkt von einer Firma in Kalifornien. In Europa werden die andere benutzen. Schau einfach deine Garagentor an oder vielleicht das von deinem Nachbarn. Das sind sehr einfache Geräte, die sind sehr billig und deswegen auch sehr einfach zu brechen. Thank you very much. Geht mir Bescheid, wenn ihr noch was habt. Herzlichen Dank.