Was ist ein Pentest?
Also beginnen wir zunächst mit der Frage, was ein Pentest überhaupt ist.
Ein Pentest oder lang auch Penetrationstest ist ein autorisierter, simulierter Angriff auf ein System oder Produkt mit dem Ziel Schwachstellen zu finden.
Das bedeutet also, dass du versuchst Zugriff auf ein Smart Home oder ein einzelnes IoT-Gerät zu bekommen, der so eigentlich nicht vorgesehen ist. Damit das gelingt, musst du eine oder mehrere Schwachstellen finden.
Eine Schwachstelle ist ein Fehler, der in der Software oder der Hardware existiert und dadurch unter Umständen die Sicherheit des Smart Homes verringert.
Die Sicherheit im IT-Kontext wird als Zustand beschrieben, bei dem verschiedene Ziele erreicht werden. Die wichtigsten sind:
Vertraulichkeit ist gegeben, wenn der Zugriff auf und die Offenlegung von Informationen streng auf diejenigen beschränkt sind, die dazu berechtigt sind.
Integrität ist gegeben, wenn Daten nicht unbemerkt verändert werden können.
Verfügbarkeit ist gegeben, wenn das Smart Home und jedes IoT-Gerät erreichbar, betriebsbereit und in der Lage sind ihre vorgesehenen Funktionen korrekt auszuführen.
Damit dein Vorgehen als Pentest und nicht als Angriff gewertet wird, sind folgende Punkte zwingend zu beachten:
- Du testest ausschließlich dein eigenes Smart Home und deine eigenen Geräte.
- Du hast die ausdrückliche Erlaubnis des Eigentümers eines Smart Homes, auf dessen Netzwerk und Geräte zuzugreifen.
- Du hältst dich strikt an die Nutzungsbedingungen des Geräteherstellers.
Die Nutzungsbedingungen des Herstellers sind in den meisten Fällen auf dessen Website zugänglich sind. Sie enthalten in der Regel spezifische Regelungen, die Aktivitäten auschließen, die das Copyright und die geistigen Eigentumsrechte des Herstellers verletzen. Das Ändern, Umwandeln oder Ändern von Code sind damit verboten.
Darüber hinaus enthalten die Nutzungsbedingungen auch wichtige Informationen zum Umgang mit deinen persönlichen Daten. Es ist daher ratsam, diese Bedingungen zu lesen, bevor du ein IoT-Gerät in Betrieb nimmst.
Es ist auch wichtig zu beachten, dass das Testen von Cloud-Diensten des Herstellers sowie mobilen Apps und Webanwendungen, die vom Hersteller gehostet werden, grundsätzlich ausgeschlossen ist. In diesen Bereichen kannst du lediglich öffentlich zugängliche Informationen oder Sicherheitskonfigurationen prüfen, nicht jedoch die Infrastruktur oder die Anwendungen selbst.
Aus welchen Schritten besteht ein Pentest?
Ein Pentest durchläuft grundsätzlich drei Phasen:
In der Planung geht es darum zu überlegen, was genau du untersuchen möchtest. Möchtest du zum Beispiel nur ein einzelnes Gerät testen oder gleich dein ganzes Smart Home? Dann solltest du noch entscheiden, wie du vorgehen möchtest, wo du also mit der Suche nach Schwachstellen beginnst. Was da möglich ist, kannst du dem Abschnitt zu den Angriffsflächen von IoT-Geräten entnehmen.
Im professionellen Umfeld ist die Planungsphase wichtig, weil dabei Umfang, Ziel und Dauer des Tests festgelegt werden. Das muss gut dokumentiert werden, um den Pentest zu autorisieren. Wenn du deine eigenen IoT-Geräte untersuchst, spielt dies dagegen keine Rolle. Trotzdem ist es gerade als Anfänger sinnvoll, sich Notizen über die geplanten Schritte zu machen, an denen du dich während der Durchführung orientieren kannst.
Auf die Planung folgt dann die Durchführung, auf dem auch der Schwerpunkt dieses Pentestleitfadens liegt. Diese lässt sich in drei Phasen untergliedern:
Es beginnt mit der Reconnaissance.
Bei der Reconnaissance geht es darum, Informationen zum Untersuchungsobjekt zu sammeln.
Das Ziel ist, dass du verstehst, was das Untersuchungsobjekt macht, wie es funktioniert und wie es bedient wird. Dabei hast du folgende Möglichkeiten:
- Lies auf jeden Fall die technische Dokumentation bestehend aus Bedienungsanleitung, Installationsanleitung oder Zeichnungen für die IoT-Geräte, die du untersuchst.
- Führe eine Internetrecherche durch.
Der Hersteller hat bestimmt eine Website, auf der er unter Umständen weitere Unterlagen zur Verfügung stellt. Es ist auch denkbar, dass Nutzer sich bereits mit dem Gerät auseinandergesetzt haben und ihre Erkenntnisse teilen oder dass auch schon Schwachstellen öffentlich bekannt sind. - Benutze dein Untersuchungsobjekt und erfahre so, was es macht und wie es funktioniert.
Bis jetzt hast du dich passiv verhalten, Informationen gesammelt und dich mit deinem Untersuchungsobjekt vertraut gemacht, indem du es wie vorgesehen benutzt hast. Nun beginnt die Enumeration, bei der du aktiv mit dem Untersuchungsobjekt interagierst und es auf eine Weise nutzt, die für den normalen Betrieb nicht vorgesehen ist.
Während der Enumeration geht es darum, nach Schwachstellen des Untersuchungsobjekts zu suchen.
Dies ist ein aufwendiger Prozess, da die Anzahl möglicher Schwachstellen groß ist, bedingt durch die Vielfalt der IoT-Geräte, der Kommunikationstechnologien und der angebotenen Dienste. Die Enumeration kann auf zwei Arten erfolgen:
Bei der toolunterstützten Enumeration nutzt du Netzwerk- und Schwachstellenscanner, um systematisch Informationen und Schwachstellen des Untersuchungsobjekts zu ermitteln.
Bei der manuellen Enumeration interagierst du direkt mit dem Untersuchungsobjekt und analysierst direkt Dienste oder Netzwerke, um spezifische Informationen und potenzielle Schwachstellen aufzudecken.
Mit diesem Pentestleitfaden wirst du verschiedene Techniken und Tools der Enumeration kennenlernen und ausprobieren.
Wenn du eine Schwachstelle festgestellt hast, wirst du mit der Exploitation weitermachen.
Bei der Exploitation versuchst du Schwachstelle auszunutzen, um Zugriff auf dein Smart Home oder ein einzelnes Gerät zu bekommen.
Dabei geht es darum, dass der Zugriff so nicht vorgesehen ist. Dies kann verschiedene Formen annehmen:
Zugriff auf Daten:
Du kannst beispielsweise sensible Informationen lesen, diese manipulieren oder löschen.Ausführen von Befehlen:
Du kannst Systembefehle auf dem Gerät ausführen, Gerätefunktionen kontrollieren oder Hintertüren einrichten, um den Zugang zu erhalten.
Wie so eine Exploitation konkret aussieht, wirst du mit diesem Pentestleitfaden kennenlernen.
Mit dem Ausnutzen einer Schwachstelle befindest du dich in einer neuen Umgebung, die weitere Schwachstellen aufweisen kann. Daher wirst du an dieser Stelle die drei Phasen des Pentests erneut durchlaufen und also wieder eine Reconnaissance, eine Enumeration und bei Bedarf eine Exploitation ausführen. Das Ziel ist dabei:
Rechte zu erweitern:
Du kannst deine Rechte auf dem Gerät ausbauen, um auf sensible Informationen zuzugreifen oder Sicherheitsfunktionen zu deaktivieren.Auf weitere Geräte oder Dienste im Smart Home zuzugreifen: Das kompromittierte Gerät dient als Ausgangpunkt, um weitere Komponenten des Smart Homes anzugreifen und Zugriff auf andere Geräte oder Dienste zu erhalten.
Der Pentest schließt mit der Dokumentation ab. Hier werden die Ergebnisse aus Reconnaissance, Enumeration und Exploitation festgehalten, damit sie nachvollziehbar und reproduzierbar sind. Auch wenn du diesem Punkt nicht so viel Bedeutung beimessen musst wie im professionellen Umfeld, ist es dennoch wichtig, dass du dir während der Durchführung Notizen machst, um den Überblick zu behalten.
Vielleicht findest du auch eine Schwachstelle in einem Gerät. Dann solltest du den Hersteller informieren und ihm die Details mitteilen, damit er Sicherheitsmaßnahmen ergreifen kann.
Weiterführende Informationen
Es gibt verschiedene Leitfäden, Best Practices und Methodologien für Penetrationstests, die jeweils unterschiedliche Ansätze und Vorgehensweisen bieten. Die folgenden Quellen erklären die Phasen und Durchführungsschritte eines Penetrationstests, wobei der genaue Ablauf je nach Quelle variieren können:
- PTES (2016): PTES steht für Penetration Testing Execution Standard. Dies ist ein Leitfaden, der Best Practices und standardisierte Verfahren für kommerzielle Penetrationstests bereitstellt. Er deckt sieben wesentliche Phasen ab: Planung und Vorbereitung, Informationsbeschaffung, Bedrohungsmodellierung, Schwachstellenanalyse, Exploitation, Post-Exploitation und Reporting.
- BSI (2003): Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat ein Konzept veröffentlicht, das die Planung, Durchführung und Auswertung von Penetrationstests beschreibt. Es richtet sich an Unternehmen, IT-Sicherheitsfachleute und Organisationen, die Penetrationstests durchführen oder beauftragen.
