Penetration Testing: Was ist ein Pentest?

Mit Penetrationstests, kurz Pentests, lässt sich z. B. das Angriffspotenzial des Netzwerks, einzelner teilnehmender Systeme oder gar einer einzelnen Anwendung feststellen. Wie wird ein solcher Test genau durchgeführt und was bedeutet er für das bestehende Netzwerk?

Was ist Pen Testing?

In der Informationstechnik bezeichnet ein Penetrationstest den geplanten Angriff auf ein Netzwerk beliebiger Größe oder einzelne Rechner mit dem Ziel, die Schwachstellen des jeweiligen Testobjekts offenzulegen. Zu diesem Zweck werden mithilfe diverser Tools verschiedene Angriffsmuster nachgestellt, die bekannten Angriffsmethoden nachempfunden sind. Die typischen Komponenten, die einem Pentest unterzogen werden, sind:

  • Netzwerk-Kopplungselemente wie Router, Switches oder Gateways
  • Sicherheits-Gateways wie Software- und Hardware-Firewalls, Paketfilter, Virenscanner, Load Balancer, IDS und IPS etc.
  • Server wie Webserver, Datenbankserver, Fileserver etc.
  • Telekommunikationsanlagen
  • Jegliche Art von Webanwendungen
  • Infrastruktureinrichtungenwie z. B. Zutrittskontrollmechanismen
  • Involvierte drahtlose Netzwerkewie WLANs oder Bluetooth

Generell unterscheidet man zwischen Blackbox-, Whitebox- und Greybox-Tests: Bei ersteren stehen den Penetrationstestern und -testerinnen lediglich die Adressinformationen des Zielnetzwerks bzw. -systems zur Verfügung. Beim Whitebox Penatration Testing besitzen die Testenden umfangreiches Wissen über die zu testenden Systeme, etwa über die IP-Adressen und die eingesetzten Software- und Hardware-Komponenten. Greybox Tests, die am häufigsten genutzte Testvariante, kombinieren die Testmethoden aus Blackbox und Whitebox Testing. Erste Kenntnisse über die IT-Infrastruktur sind vorhanden, z. B. wozu die Systeme verwendet werden und was sie ungefähr ausmacht.

So führen Sie einen Penetrationstest durch

Wie können Sie Penetration Testing für Ihre Zwecke verwenden? Wir haben in den nachfolgenden Abschnitten die wichtigsten Aspekte für Ihren eigenen, individuellen Penetrationstest zusammengefasst.

Pentest-Voraussetzungen

Um einen erfolgreichen Pen-Test durchzuführen, sollten Sie zunächst ein klares Konzept erstellen. Klären Sie, welche Komponenten es zu testen gilt, welchen Zeitrahmen ein einzelner Test bzw. die gesamte Überprüfung Ihres Netzwerks haben soll und ob Sie alle notwendigen Werkzeuge zur Verfügung haben.

Diese Vorbereitungsphase ist umso wichtiger, wenn Sie externe Tester bzw. Testerinnen mit dem Sicherheitscheck beauftragen und ein Whitebox-Test realisiert werden soll. In diesem Fall ist es notwendig, dass Sie alle Informationen über Ihr Netzwerk und die teilnehmenden Systeme kommunizieren und vorhandene Dokumentationen weiterreichen. Anders verhält es sich bei einem Blackbox-Test, für den Sie ausschließlich die Zieladresse der jeweiligen Testobjekte kundgeben.

Hinweis

Das Bundesamt für Sicherheit in der Informationstechnik (BSI)“) empfiehlt, dass ein Testteam aus mindestens zwei Personen besteht, damit das Vier-Augen-Prinzip gewahrt bleibt. Zu den zentralen, fachlichen Bereichen, die Pentester beherrschen sollten zählen: Systemadministration, Netzwerkprotokolle, Programmiersprachen, IT-Sicherheitsprodukte, Anwendungssysteme und Netzkomponenten.

Die besten Pen Testing Tools

Die Vielfalt an Netzwerk-Angriffsformen sorgt dafür, dass auch Penetrationstestern und -testerinnen eine ganze Reihe verschiedener Werkzeuge zur Verfügung stehen. Zu den wichtigsten Tools zählen:

  • Port-Scanner: Beim Port-Scanning werden offene Ports eines Computersystems mithilfe spezieller Tools ausfindig gemacht.
  • Schwachstellen-Scanner: Schwachstellen-Scanner (auch: Vulnerability Scanner) überprüfen Systeme auf vorhandene Sicherheitslücken, fehlerhafte Konfigurationen sowie ungenügende Passwort- und Benutzerrichtlinien.
  • Sniffer: Mithilfe eines Sniffers lässt sich der Datenverkehr eines Netzwerks analysieren. Je besser dieser verschlüsselt ist, desto weniger Information werden dabei erhalten.
  • Paket-Generatoren: Paket-Generatoren sind Tool zur Generierung bzw. Simulation von Netzwerkdatenverkehr. Auf diese Weise wird im Rahmen eines Penetrationstests tatsächlicher Netzwerkdatenverkehr imitiert.
  • Passwort-Cracker: Mit Passwort-Crackern versuchen Pentester und -testerinnen an unsichere Kennwörter zu gelangen.

Viele der genannten Tools wurden explizit für Sicherheitstests in Netzwerken entwickelt und sind daher auf ganz spezifische Testbereiche zugeschnitten. Während der Großteil der Programme aus dem Open-Source-Sektor stammt, finden sich auch einige kommerzielle Sicherheitsanwendungen, die in der Regel besser dokumentiert und mit einem umfassenden Support verbunden sind.

Tipp

Es gibt mittlerweile umfangreiche Tool-Sammlungen für Penetrationstests, die von erfahrenen Sicherheitsfachleuten zusammengetragen wurden und häufig auf der Basis einer stabilen Linux-Distribution arbeiten. Zu den beliebtesten Lösungen zählt das 2007 veröffentlichte Kali Linux.

Ablauf eines Penetrationstests

Der Ablauf beim Penetration Testing lässt sich grundsätzlich vor allem in die folgenden vier Bereiche einteilen:

Überprüfung des Netzwerkkonzepts

Bereits in der Vorbereitungsphase kann ein Penetrationstest Ungereimtheiten oder konkrete Schwachstellen in der Konzipierung des Netzwerks oder der einzelnen Komponenten offenbaren. Sind beispielsweise verschiedene Anwendungen mit mehreren Rechtegruppen konfiguriert, können diese schnell für Komplikationen sorgen und ein Sicherheitsrisiko für das gesamte Netzwerk darstellen, selbst wenn dieses und die einzelnen gehosteten Programme ausreichend geschützt sind. Einige dieser Fälle lassen sich bereits im Vorgespräch klären, andere wiederum sind erst durch einen praktischen Test belegbar.

Test der Härtungsmaßnahmen

Kernpunkt eines sicheren Firmennetzwerks ist, dass die involvierten Systeme bestmöglich gehärtet sind. Beim Pentest geht es folgerichtig auch darum, die unternommenen Härtungsmaßnahmen zu überprüfen. Dabei geht es einerseits um installierte Software wie das Betriebssystem, Systemdienste oder Applikationen, die immer auf dem aktuellen Stand sein sollten. Sind aus Kompatibilitätsgründen mit anderen Anwendungen ältere Versionen in Gebrauch, sind alternative Schutzvorkehrungen erforderlich. Zusätzlich spielen auch die Zugangs- und Authentisierungsvoraussetzungen für die einzelnen Systeme und Programme eine große Rolle. Hier beschäftigt sich Penetration Testing mit Themen wie:

  • Zugriffsverwaltung
  • Passwortnutzung und -verschlüsselung
  • Nutzen existenter Schnittstellen und offener Ports
  • definierte Regelwerke (z. B. von Firewall)

Suche nach bekannten Schwachstellen

Es dauert im Allgemeinen nicht lange, bis entdeckte Sicherheitslücken bekannt werden, weshalb Penetrationstestern und -testerinnen die Angriffspunkte der untersuchten Testobjekte in der Regel geläufig sind. Dank der Versions- und Patchstände, die sie bei ihren Recherchen über den Härtungsgrad der Netzwerkkomponenten festgestellt haben, wissen sie daher schnell, welche Anwendungen ein Sicherheitsrisiko darstellen. Sollen viele Systeme in kurzer Zeit untersucht werden, lohnt sich der Einsatz von Schwachstellen-Scannern, die allerdings nicht immer zu einem exakten Ergebnis führen.

Gezielter Einsatz von Exploits

Gewissheit darüber, ob sich gefundene Schwachstellen tatsächlich auch ausnutzen lassen, erlangt der Testende nur, indem er selbst einen entsprechenden Exploit einsetzt. Bei einer solchen Befehlsfolge handelt es sich in der Regel um Skripte, die von verschiedenen Internetquellen bereitgestellt werden, allerdings nicht immer sicher programmiert sind. Führt man einen solchen unsicheren Exploit aus, besteht die Gefahr, dass die getestete Anwendung bzw. das System abstürzt und im schlimmsten Fall sogar wichtige Speicherbereiche überschrieben werden. Hier sollte der Penetrationstester bzw. die Penetrationstesterin also darauf bedacht sein, nur nachweislich ungefährliche Skripte aus seriösen Quellen einzusetzen oder auf das Testen der Sicherheitslücke zu verzichten.

Hinweis

Alle Schritte und Ergebnisse des Pentests sollten schriftlich festgehalten werden. So besitzen Sie die optimale Grundlage, um die einzelnen Schritte nachzuvollziehen und die Situation im Anschluss zu bewerten. Anhand von empfohlenen Prioritätslisten können Sie den Systemschutz Schritt für Schritt optimieren. Das BSI empfiehlt im Praxis-Leitfaden für IS-Penetrationstests alle zwei bis drei Jahre eine erneute Prüfung.

Die Vor- und Nachteile von Pentests

Homogene Großrechnerstrukturen gehören der Vergangenheit an. Die heutigen dezentralen IT-Strukturen sorgen täglich für neue Sicherheitslücken und Fehlfunktionen, die Software-Hersteller mal schneller, mal langsamer beheben. Hier glänzen Penetrationstest mit folgenden Vorteilen:

  • bei der Überprüfung der Systeme gehen Pentests wesentlich mehr ins Detail als gewöhnliche Sicherheitschecks
  • die elementare Zielsetzung besteht darin, das Zusammenspiel der einzelnen Komponenten zu überprüfen
  • externe Testende bringen eine zusätzliche Meinung und eine andere Sicht auf das zugrundeliegende Sicherheitskonzept ein
  • professionelle Penetrationstester und -testerinnen sind speziell geschult und gehen ähnlich vor, wie es auch Cyber-Kriminelle tun würde

Penetration Testing und insbesondere die Zusammenarbeit mit externen Testenden ist allerdings auch mit gewissen Nachteilen verbunden:

  • während der Ausführung bekommt das Pentest-Team Einsicht in Interna
  • es besteht immer die Möglichkeit, dass der Penetrationstest Schäden verursacht, die Sie im Nachhinein nicht mehr beheben können
  • Pentests liefern lediglich eine Momentaufnahme Ihrer Netzwerksysteme und sollten daher niemals zum Anlass für den Verzicht auf gängige Abwehrmaßnahmen genommen werden

Im Übrigen zählt das sogenannte Social Engineering nicht zu den Risiken, die ein klassischer Penetrationstest überprüft. Viele Dienstleistende bieten die Überprüfung dieser menschlichen Sicherheitslücken in Unternehmen inklusive spezieller Schulungen aber optional an.