Pentest Blog

17. Mai 2017 – Know-how

Das Unsichtbare

Zur Systematik des Penetrationstests – ein Fachartikel von Dr. Erlijn van Genuchten

Hauptziel eines Penetrationstests ist das Aufdecken von Schwachstellen. Dabei spielt eine Analyse der sichtbaren Angriffsfläche eine entscheidende Rolle. Vergleicht man hier den digitalen Angreifer mit einem Einbrecher, so könnte man sagen: Auch ein Dieb muss die Vordertür eines Hauses sehen können, um das Schloss zu knacken.

Doch "das Sichtbare" ist häufig nur der Gipfel des Eisbergs in der IT Security. Für einen Penetrationstester ist es deshalb essenziell, auch das Unsichtbare sichtbar zu machen. Denn sollte dies gelingen, ergeben sich in der Folge oft neue Angriffsmöglichkeiten. Dabei stellt sich häufig heraus, dass genau die unsichtbaren Bereiche einer Anwendung oder eines Netzwerks weniger gut oder gar nicht geschützt sind. Doch ein Angreifer benötigt in der Regel nur eine einzige "offene Tür", um sein Ziel zu erreichen – ob diese nun sichtbar ist oder unsichtbar. Deshalb sollte bei der Absicherung von Systemen insbesondere auch "das Unsichtbare" im Auge behalten werden, nicht zuletzt deshalb, weil es häufig vergessen wird.

Ein ebenso naheliegendes wie wichtiges Beispiel für das hier sogenannte "Unsichtbare" ist etwa der Datenverkehr zwischen Systemen. Für normale Benutzer ist dieser nicht sichtbar. Zur Illustration soll hier ein Aufruf der SySS-Homepage dienen: Der verwendete Browser schickt eine Anfrage an den SySS-Webserver, woraufhin der Server eine Antwort zurückliefert. Wie in Abbildung 1 zu sehen, beinhaltet diese Kommunikation deutlich mehr Informationen als lediglich die aufgerufene Adresse in der Adressleiste. Kann man diese Informationen sehen, dann lassen sie sich auch analysieren und oft manipulieren – sowohl im Rahmen eines Penetrationstests oder auch für die Durchführung eines Angriffs.

Abbildung 1: Serveranfrage beim Aufrufen der SySS-Homepage

Eine verbreitete Manipulationsmethode besteht darin, unübliche oder unerwartete Parameterwerte an den Server zu schicken, in der Hoffnung, dass dieser Server eine andere – möglicherweise interessante – Antwort zurückgibt. So könnte ein Angreifer zum Beispiel im Parameter „Kontonummer“ eine Hochkomma eingeben und darauf bauen, dass die Antwort eine Fehlermeldung der Datenbank enthält. Diese Fehlermeldung wiederum erhält möglicherweise Informationen, die für die Planung weiterer Angriffe nützlich sind.

Manchmal jedoch bleiben an sich verfügbare Parameter auch ungenutzt und sind folglich für den Angreifer unsichtbar. Trotzdem können diese, wenn sie zum Beispiel durch Erraten gefunden werden, auf die gleiche Weise manipuliert werden wie sichtbare Parameter.

Neben solchen unsichtbaren Parametern finden sich auf vielen Websites Unterseiten oder Funktionen, die nicht direkt über das Menü erreichbar sind. Solche Unterseiten zu entdecken ist einfach, wenn sie auf der Website verlinkt, aber beispielsweise auskommentiert sind. Schwieriger wird es, wenn keinerlei Verweise existieren.

Aber mit entsprechendem Wissen über häufig existierende Seiten sowie etwas Glück beim Raten, treffen Penetrationstester ebenso wie Angreifer häufig genug auf solche unsichtbaren Seiten. Diese enthalten teils sehr wichtige Informationen, die es einem Angreifer etwa erlauben, die Sitzung eines anderen Benutzers zu übernehmen, auch wenn er dessen Anmeldedaten nicht kennt. Auch handelt es sich häufig um Seiten, die eigentlich nur für Benutzer mit höheren Berechtigungen verfügbar sein sollten  und genau deshalb versteckt wurden. Die Annahme jedoch, dass Seiten und Funktionen, die für normale Benutzer unsichtbar sind, auch vor Angreifern sicher sind, ist eine Fehlannahme, die häufig zu mangelhafter Absicherung führt.

Wollen Sie Ihr Sicherheitslevel erhöhen? Dann gehen Sie in jedem Fall davon aus, dass Kommunikation eingesehen werden kann und richten Sie Sicherheitsmechanismen darauf aus. Prüfen Sie außerdem, ob nicht verlinkte Seiten wirklich erreichbar sein müssen. Falls nicht, dann löschen oder deaktivieren Sie diese bzw. beschränken den Zugriff. Stellen Sie bei den genannten Beschränkungen sicher, dass Seiten nur für berechtigte Benutzer erreichbar sind. Des Weiteren sollten Sie unbenutzte Parameter ausreichend schützen oder gleich ganz deaktivieren. Und nicht zuletzt sollten Sie auch schützenswerte Informationen vollständig aus Seiten entfernen und dies nicht nur auskommentieren.

Doch auch wenn Sie die genannten Maßnahmen ergriffen haben, sollten Sie sich vor Augen halten, dass "das Unsichtbare" auch in anderen Bereichen Angriffsflächen bieten kann. Sie sollten zum Beispiel auf verschiedenen Systemen unterschiedliche Passwörter verwenden, um zu verhindern, dass gehashte – und damit unkenntlich gemachte – Passwörter mittels "Pass-the-Hash" zur Authentifizierung verwendet werden können. Außerdem sollten Sie prüfen, ob standardmäßig aktivierte Schnittstellen wie WLAN oder Bluetooth an Ihren Geräten eingeschaltet sind und diese einfach deaktivieren, wenn sie nicht gebraucht werden.

Denn nur das, was es nicht gibt, bleibt von Angriffen verschont.

Termine

06.09.2017
Vortrag: Angriffe auf RDP, Dr. Adrian Vollmer, D·A·CH SECURITY 2017, Neubiberberg bei München
12.09.2017 - 13.09.2017
SySS-Schulung – Hack7: Sicherheit und Einfallstore bei Webapplikationen
15.09.2017
SySS-Schulung – Secu5: IT-Recht und Datenschutz für IT-Verantwortliche
19.09.2017 - 20.09.2017
SySS-Schulung – Hack1: Hacking Workshop 1