[For a detailed analysis, move on to RPW’s post]
Am Montag und Dienstag versetzte ein Ausfall mehrerer hunderttausend Telekom-Router die deutsche Cyberlandschaft in Aufruhr. Dass der Ausfall mit einem Angriff in Verbindung steht, wurde recht früh von Telekom und Innenministerium bestätigt.
Das Einfallstor, so stellte sich bald heraus, war eine offen dem Internet ausgesetzte Fernwartungsschnittstelle. Ein kurzes Lauschen auf Port 7547 einer öffentlichen IP bestätigte (spätestens) nach wenigen Minuten eine Angriffswelle mit versuchter command injection:
Der abgebildete Request will eine Lücke im TR-069 Befehl für das Setzen eines NTP-Servers ausnutzen, um eine Datei von einer fremdem Domain per wget herunterzuladen und auszuführen.
Für viele (auch mich) schien der Fall klar: Die Telekom-Router schienen eine Remote Code Execution im TR-069 zu haben – viel schlimmer hätte es kaum kommen können.
Es blieben jedoch eine wichtige Frage offen: Warum stürzten die Router ab, statt sich mit der Payload zu infizieren? Die Vermutung lag nahe, dass die Angreifer einen Bug in Payload oder Exploit-Code hätten. So könnten der Crash und die ausbleibende Infektion der Geräte erklärt werden. Den Angreifern schien irgendwo ein kleiner, aber entscheidender Fehler zu unterlaufen sein, der ihnen die Übernahme von 900.000 Geräten zu verhageln schien. Oder etwa nicht? Continue reading