Über unsMediaKontaktImpressum
Aaron Brown & Severin Quell 18. November 2020

Penetrationstests: Auf dem Weg zu den Kronjuwelen

Wie läuft ein Penetrationstest ab, wie sollten sich Unternehmen darauf vorbereiten?

Sie denken wie Cyberkriminelle, verfügen über exklusives Wissen der Hackerszene und nutzen Scan-Tools und Datenbanken. Penetrationstester gehen mit forensischer Expertise auf die Jagd nach potenziellen Angriffsstellen in Unternehmen. Wir beschreiben im dritten Teil unserer fünfteiligen Serie, wie Penetrationstests ablaufen und wie sich Unternehmen darauf vorbereiten sollten.

Mittlerweile bangen zwölf Prozent der kleinen und mittleren Unternehmen wegen zunehmender Cyberangriffe auf ihre IT-Systeme um ihre Existenz. Das meldete die Initiative "Deutschland sicher im Netz" (DsiN) Anfang Oktober 2020 zum Auftakt des europäischen Aktionsmonats für mehr Cybersicherheit im Rahmen ihres Praxisreports Mittelstand 2020 [1]. Dem gegenüber steht, dass immer noch 25 Prozent der Betriebe über keinerlei Datensicherungen verfügen, 35 Prozent keine Krisenreaktionspläne haben und nur etwa jedes fünfte Unternehmen verschlüsselte E-Mails verwendet.

Dabei können kleinste und einzelne Sicherheitslücken zu immensen Schäden führen. Ist beispielsweise auch bei nur einem Betriebssystem im Netzwerk eine bekannte Schwachstelle nicht ausgebessert (gepatcht), könnte ein Hacker darüber ins Netzwerk eindringen. Das passierte etwa beim berüchtigten Ransomware-Angriff WannaCry, der 2017 vermutlich eine Milliarde Dollar Schaden weltweit anrichtete.

Penetrationstests als Instrument zur Risikobewertung

Genau hier setzen Penetrationstests an: Sie zielen darauf ab, Schwachstellen in Netzwerken, Anwendungen, Netzdiensten oder Datenbanken zu identifizieren, sodass diese frühzeitig beseitigt werden können. Als beauftragter, autorisierter, geplanter sowie simulierter Cyberangriff auf praktisch alles, was im vereinbarten Scope liegt – also zum Beispiel ein Netzwerk mit allen angeschlossenen Anwendungen, Netzdiensten und ausgewählten oder allen Datenbanken – versuchen Penetrationstester, bisher unbekannte Angriffspunkte zu identifizieren sowie bekannte Schwachstellen so auszunutzen, dass sie möglichst weit in die Systeme vordringen können – all das, um Hackern zuvorzukommen, die geistiges Eigentum und andere sensible Daten stehlen oder anderweitigen Schaden anrichten können, etwa durch eine Betriebsunterbrechung.

Ein Penetrationstest legt also die Resilienz der Sicherungssysteme offen. Er ermöglicht eine Risikobewertung über die aktuelle Sicherheitslage eines IT-Systems und dessen Infrastruktur und lässt Schlüsse darüber zu, inwieweit sich unbefugte externe oder auch interne Mitarbeiter Zugang zu vertraulichen Informationen beschaffen können. Der Penetrationstest ist nicht mit einer Schwachstellenanalyse zu verwechseln, die lediglich mit Softwaretools ein IT-System scannt und nach bekannten Lücken suchen kann. Aber auch ein Penetrationstest, der idealerweise nach einer Sicherheitsanalyse erfolgen sollte, wird meistens durch geeignete Scan-Tools eingeleitet und unterstützt.

Arten von Penetrationstests und Angriffsmethoden

Für die Durchführung eines Penetrationstests benötigt ein IT-Sicherheitsanalytiker den ausdrücklichen Auftrag des Kunden und abgestimmte Informationen. Erhält er keine weiteren Informationen, handelt es sich um einen sogenannten Black-Box-Test. Bei einem White-Box-Test erhält der Dienstleister grundlegende Informationen über das System, das er penetrieren soll, sowie – idealerweise – auch das IT-Sicherheitskonzept mit der Dokumentation der zugehörigen IT-Infrastruktur. Wird nur ein gewisser Teil der möglichen Informationen vorab zur Verfügung gestellt, wird oft auch von einem Grey-Box-Test gesprochen.

Da die Pentester das Vorgehen einer Gruppe von Angreifern simulieren, werden sie oft auch als "Red Team" bezeichnet. Ist nicht nur die Antwort der Schutzmechanismen und Sicherheitsmaßnahmen im Scope des Tests, sondern steht auch die Schnelligkeit und Kompetenz der Sicherheitsexperten des Auftraggebers auf dem Prüfstein, nennt man diese korrespondierend oft "Blue Team".

Zu unterscheiden sind drei wesentliche Angriffsmethoden, die im Rahmen von Penetrationstests zum Einsatz kommen können.

  • Ein Angriff über das Netzwerk,
  • Social Engineering und
  • der physische Angriff.

Nicht jede Methode ist überall sinnvoll, ethisch vertretbar oder vom Auftraggeber erwünscht. Der derzeit am häufigsten beauftragten Penetrationstest ist der Angriff über das Netzwerk.

Ablauf von Penetrationstests

Ein Penetrationstest gliedert sich in der Regel grob in fünf Phasen:

  1. Vorbereitung (Abstimmung von Testzielen, Scope, Prüfmethoden und -geräten)
  2. Informationsbeschaffung (Dokumentensichtung, Google-Hacking, Netzwerk-Mitschnitt, Portscans)
  3. Analyse & Angriffsauswahl (Recherche nach geeigneten Exploits, detaillierte Netzwerkanalyse, Hash Cracking, Abstimmung weiterer Angriffe)
  4. Verifikationstests (Ausnutzung der Schwachstellen, Umgehung von Sicherheitsmaßnahmen und aktives Eindringen, Man-in-the-Middle-Attacks, Post-Exploitation)
  5. Abschlussanalyse (Auswertung und Dokumentation der Ergebnisse, Management-Summary und Präsentation, Auflistung der Schwachstellen, Empfehlungen für Gegenmaßnahmen.

Der eigentliche Penetrationstest beginnt in der Regel mit einem toolbasierten Scan des Netzwerks. Die Hauptangriffspunkte sind Firewalls, Webserver und Remote Access Services (RAS) zur Fernwartung, bei Microsoft etwa das Remote Desktop Protokoll (RDP) sowie Funkverbindungen wie WLAN oder Mobilfunktechnologien.

Bekannte Scan-Tools sind unter anderem Nessus, Metasploit und der Burp Suite. Vor allem Webserver sind aufgrund ihrer zahlreichen Funktionen (E-Mail, FTP, DNS und weitere) und ihrer leichten Erreichbarkeit von außen – IP-Adresse genügt – besonders angreifbar. Dabei kann die Kenntnis der IP-Adresse genügen, um sich Zugang zu verschaffen.

Die Tools liefern die Informationen für die System- und Anwendungsanalyse. Aufgrund dieser Informationen können dann identifizierte Schwachstellen gezielt angegriffen beziehungsweise penetriert werden. Die Schwachstellen und Befunde des simulierten Angriffs werden dann typischerweise in einem Abschlussbericht zusammengefasst.

Typische Findings in Penetrationstests

Vor allem bei Webanwendungen findet ein Penetrationstester häufig Anhaltspunkte, die zur Aufdeckung bisher unbekannter Schwachstellen führen. Er studiert den Quellcode von Skripts (SQL, PHP, Java) und testet per Zufallseingaben, ob er unveröffentlichte Code- oder Webseitenpfade aufspüren kann. Dabei kommt es selbst in den bestgeschützten Systemen vor, dass sich ein Web-Administrator aus Bequemlichkeit einen Ordner beispielsweise mit Projektdaten angelegt hat, der nicht ausreichend geschützt ist. Enthält solch ein Ordner noch gültige Private Keys, Admin-Logs, E-Mail-Adressen und Zugangsdaten oder weitere Informationen zur IT-Infrastruktur, öffnet sich für Angreifer die nächste Tür, um weiter ins System einzudringen.

Insbesondere auch schlecht geschriebene Webseiten-Skripte weisen immer wieder Einfallstore auf: Texteingabefelder etwa sind anfällig für SQL-Injections. Hierbei nutzen Cyberkriminelle Sicherheitslücken in SQL-Datenbanken, über die sie eigene Datenbankbefehle einschleusen (injection), um Zugriff auf die Daten zu erhalten. Auch bei anderen Eingabeprozessen wie Cookie- und Sitzungsdaten, hochgeladenen Dateien und Fernwartungskanälen können Fehler auftreten. Durch die wiederholte zufällige Eingabe von Zeichenfolgen (Fuzzing) besteht die Möglichkeit, einen unbekannten Fehler zu finden und ihn per Trial & Error zu verstehen. Hacker schreiben sich dafür oft ein kleines Tool, um mit den zufallsgesteuerten Eingaben von Zeichenfolgen ihr Verständnis der Fehler so zu verbessern, dass sie einen oder gleich mehrere dieser Fehler für ihre Zwecke ausnutzen können. Bisweilen gelingt es ihnen so beispielsweise, eine SQL-Datenbanken zu knacken und auf die Daten zuzugreifen.

BSI-Leitfaden und OSSTMM-Standard sowie rechtliche Fallstricke

Damit Penetrationstester sicher, vertrauenswürdig, nachprüfbar und vergleichbar arbeiten und ihre Erkenntnisse dokumentieren, ist in Leitfäden wie dem vom Bundesamt für Sicherheit in der Informationstechnik (BSI) und dem OSSTMM (Open Source Security Testing Methodology Manual) [2] ein Vorgehensmodell definiert. Dieses Vorgehensmodell ist für Penetrationstests heute praktisch der Standard.

Weitere etablierte Standards kommen vom Open Web Application Security Project (OWASP) für Testverfahren im Web und bei mobilen Anwendungen oder dem National Institute of Standards and Technology (NIST) mit branchenspezifischen Vorgaben, das PTES Framework (Penetration Testing Methodologies and Standards) liefert detaillierte Vorgaben zur Strukturierung einzelner Tests.

Umfang, Grenzen und Risiken von Penetrationstests

Der Vertrag muss detailliert definieren, welche Aufgaben der Penetrationstester hat, welche Risiken bei der Durchführung der vereinbarten Tests bestehen und in welchem Zeitraum der Test stattfinden soll. Denn Störungen im laufenden Betrieb der IT-Infrastruktur lassen sich während eines Penetrationstests nicht ausschließen. So sollten in dem Vertrag die Angriffsmethoden und die Risikoklassifizierung nach den BSI-Empfehlungen oder dem OSSTMM festgelegt sein. Zudem sollte geregelt werden, welche Bereiche des Netzwerkes ausgeschlossen werden sollen.

Insbesondere Tests an Hochsicherheitsnetzen oder Produktionssystemen sind oft besonders wichtig, erfordern aber auch besondere Vorsicht und Sorgfalt. Hierzu ist viel Erfahrung mit diesen Umgebungen und eine intensive Testvorbereitung notwendig, um die Besonderheiten des Scopes zu recherchieren.

Zudem bedarf es einer Regelung, wie in einem Notfall, also bei einer unerwarteten Auswirkung des Tests auf das System, vorzugehen ist. Grundsätzlich sollten Rechtsabteilung und Betriebsrat in die Vorbereitung eines Penetrationstests eingebunden sein. Der Dienstvertrag muss außerdem auch eine Geheimhaltungsvereinbarung für die Auftragnehmer enthalten. Zusätzlich sollte geprüft werden, ob der Anbieter bzw. sein Personal über geeignete Zertifizierungen als Sicherheitsdienstleister, z. B. durch das BSI, verfügen. Schließlich kommen die Security Analysts den Kronjuwelen gefährlich nahe – damit genau das einem kriminellen Hacker anschließend nicht mehr gelingen kann.

Die Zukunft der Penetrationstests: Mehr dazu in Folge vier unserer Serie.

Autoren

Aaron Brown

Aaron Brown ist seit 2019 bei der infodas an Bord. Als Team Lead für Security Audits verantwortet er den Bereich Ethical Hacking / Pentesting.
>> Weiterlesen

Severin Quell

Severin Quell geb. Rast verantwortet und entwickelt als Teil der Geschäftsleitung den Unternehmensbereich IT Security Consulting der INFODAS GmbH.
>> Weiterlesen
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben