Ankündigung
Einklappen
Keine Ankündigung bisher.
Hintertür im Wago 750-889 u.a.
Einklappen
X
-
Wenn ich den konkreten Angriff richtig verstehe, dann erfordert er jedoch noch nicht einmal, dass das Interface im Internet hängt. Es reicht, wenn ein Angreifer dich in deinem lokalen Netz dazu bringt, diese URL aufzurufen. Beispielsweise könnte man in einem KNX-Forum ein "Bild" mit der entsprechenden (externen) URL posten, und der Browser würde beim Versuch, dieses Bild zu laden, den Exploit auslösen.Zitat von GLT Beitrag anzeigendass man Steuerungen nicht hart ins Internet hängt.
Leider gilt für viele Smart*-Komponenten das selbe wie für Industrieanlagen: Security desaster. Die Komponenten müssten eigentlich mit einem eigenen VLAN vom regulären Netz getrennt und nur durch sauber definierte Interfaces zugänglich gemacht werden, aber das übersteigt sowohl die Fähigkeiten der meisten User wie auch der regulären Homerouter.
Kommentar
-
Ich hab mir den Report jetzt einmal in Ruhe durchgelesen. Ein trivialer Angriff wie von mir oben beschrieben erscheint mir jetzt deutlich schwieriger. Per JavaScript ginge es problemlos, aber davor wird einem vermutlich das längst in allen Browsern implementierte CORS schützen (es sei denn, der Wago-Server hebelt das durch einen "Access-Control-Allow-Origin: *"-Header selbst aus).Zitat von GLT Beitrag anzeigenDie URL enthält einen Platzhalter für die gültige IP
Ansonsten ist die verwendete Technik SSI für den integrierten Webserver - angedacht, dass man Werte auch ändern kann.
Das Problem ist, dass der Formatstring - hier das %x - durch den Aufrufer in der URL modifiziert werden kann. Statt "Gib 'value' als hexadezimale Zahl aus"
steht dort dann:Code:printf("%x", value)
Dies bedeutet auf den ersten Blick: "Gib 'value' als String aus" - scheinbar harmlos. Jedoch ist in C 'value' keine Zeichenkette, sondern der Zeiger auf eine Zeichenkette, also auf einen Bereich im Arbeitsspeicher. Wenn der Angreifer also sowohl den Formatstring wie auch den value kontrollieren kann, ist er in der Lage, Byte für Byte den gesamten Arbeitsspeicher des Controllers auszulesen.Code:printf("%s", value)
Das hat der Hacker getan, und in der Firmware dann eine nicht näher spezifizierte Backdoor gefunden.Zuletzt geändert von Cybso; 13.04.2019, 22:02.
Kommentar
-
Aber wir kennen doch bisher nur das Verfahren mit der die Backdoor entdeckt wurde nicht aber die backdoor selbst.Ein trivialer Angriff wie von mir oben beschrieben erscheint mir jetzt deutlich schwieriger.
Beispiel: Vielleicht muss man für die Backdoor nur eine bestimmte URL aufrufen und hat vollen Zugriff zum webinterface.
Kommentar


Kommentar