IoT-Hacking: Format-String-Schwachstellen ausnutzen
Gefahrenstelle
Immer wieder lassen Hersteller Sicherheitslücken zu lange offen. Mit etwas Tüftelei lässt sich etwa über eine unbeachtete Format-String-Schwachstelle ein IoT-Gerät kapern.
Speichermanagement-Schwachstellen entstehen in der Regel durch Programmierfehler in einer hardwarenahen Programmiersprache wie C. Eine solche Format-String-Schwachstelle entdeckten der Autor und seine Kollegen erst vor Kurzem auf einem Router TL-WR841N V14 von TP-Link. Der Artikel soll an diesem Beispiel zeigen, wie man solche Schwachstellen entdeckt und welche Schritte nötig sind, um selbige trotz verwendeter Schutzmechanismen auszunutzen. Am Ende soll ein Exploit-Skript stehen, das diese Schwachstelle ausnutzt und bei der Ausführung eine Reverse-Shell vom anfälligen System erzeugt.
Der erste Teil der IoT-Hacking-Serie beschrieb bereits eine OS-Command-Execution-Schwachstelle im selben Router und wie sich durch sie eine Reverse-Shell etablieren lässt [1]. Um das zugrunde liegende Problem besser zu verstehen, wurde mit dem NSA-Tool Ghidra die Schwachstelle durch Reverse Engineering im Code identifiziert [2].