Ethical-Hacker-Grundlagen

Was ist Pentesting?

07.02.2018
Von  und
Roger Grimes ist freier Redakteur unserer US-Schwesterpublikation CSO Online.


Florian Maier beschäftigt sich mit diversen Themen rund um Technologie und Management.

So geht Ethical Hacking

Wir zeigen Ihnen in fünf Schritten, wie Ethical Hacker arbeiten:

1. Umfang und Zielsetzung bestimmen

Für jeden professionellen Penetration Tester ist eine lückenlose Dokumentation des Aufgabenbereichs und der Zielsetzung essenziell. Bezüglich der Bestimmung des erstgenannten, sollte sich ein Ethical Hacker folgende Fragen stellen:

  • Welche Computer Assets fallen in den Aufgabenbereich?

  • Gehören dazu alle Rechner, oder handelt es sich um bestimmte Applikationen, Betriebssysteme, mobile Gerätschaften oder Cloud Services?

  • Umfasst der Aufgabenbereich nur einen bestimmten Typ von Asset, beispielsweise Web Server oder SQL Server und sollen auch Netzwerk-Devices inkludiert werden?

  • Kann automatisiertes Schwachstellen-Scanning im Zuge des Pentests zur Anwendung kommen?

  • Ist Social Engineering erlaubt? Und wenn ja: Welche Methoden und in welchem Umfang?

  • In welchem Zeitraum soll der Penetration Test stattfinden?

  • Gibt es bestimmte Tage oder Tageszeiten, die für einen Pentest nicht geeignet sind? (Etwa, weil ansonsten die Gefahr von Ausfällen oder Service-Unterbrechungen droht)

  • Sollen im Zuge des Pentests möglichst keine Unterbrechungen verursacht werden oder soll ein möglichst authentischer Angriff erfolgen?

  • Soll es ein "Blackbox" (der Pentester erhält keine internen Informationen über die beteiligten Systeme und Applikationen) oder "Whitebox" (sämtliches internes Wissen über die anzugreifenden Systeme und relevanten Source Code sind vorhanden)-Pentest sein?

  • Soll das IT-Security-Team mit an Bord geholt werden oder soll deren Reaktion (oder Nicht-Reaktion) getestet werden?

  • Soll ein möglichst lautloser Ansatz beim Einbruch in die Systeme angewandt werden? Oder soll gezielt geprüft werden, ob die existierenden Detection- und Prevention-Maßnahmen greifen?

Bezüglich der Ziele des Penetration Tests, sollten sich Ethical Hacker fragen:

  • Geht es nur darum zu zeigen, dass ich in einen Rechner einbrechen kann?

  • Gehört Denial of Service zu den Zielen, die vom Aufgabenbereich gedeckt sind?

  • Soll der Zugang zu einem bestimmten Rechner kompromittiert und spezifische Datensätze abgegriffen werden oder reicht es, privilegierten Zugang zu bekommen?

  • Welche Ergebnisse sollten in die abschließende Dokumentation des Penetration Tests einfließen? Müssen alle angewandten (erfolgreichen und nicht-erfolgreichen) Hacking-Methoden genannt werden? Oder reichen die wichtigsten? Wie tief muss ich ins Detail gehen? Brauche ich Screenshots oder -captures für die Dokumentation?

Bevor irgendwelche Pentesting-Versuche gestartet werden, sollte der Aufgabenbereich und die Zielsetzung detailliert besprochen und sowohl von Seiten des Auftraggebers, als auch der des Ethical Hackers abgesegnet werden.

2. Die richtigen Pentesting-Tools auswählen

Penetration Tester und Ethical Hacker nutzen normalerweise ein Standardset von Hacking Tools. Je nach Einsatz erweitern sie ihr Portfolio aber auch um verschiedene andere Software-Werkzeuge. Soll ein Penetration Tester beispielsweise eine SQL-Datenbank angreifen, hat darin aber keine Erfahrung, wird er im Vorfeld des Tests verschiedene SQL-Angriffswerkzeuge erproben.

Den Startpunkt bildet dabei für viele Ethical Hacker eine Linux-Distribution, die speziell für Pentesting-Zwecke ausgelegt ist. Im Laufe der Jahre gab es einige solcher Distributionen - inzwischen hat sich Kali Linux im professionellen Ethical-Hacking-Umfeld durchgesetzt. Hier gibt es tausende von Hacking Tools zu entdecken, darunter auch die Standard-Tools vieler Profis.

Das wichtigste Kriterium für Hacking Tools ist dabei (neben überzeugender Qualität und der Eignung für die angestrebten Zwecke), dass diese keine Malware oder anderen Schadcode enthalten, mit denen der (Ethical) Hacker gehackt werden soll. Leider enthält die Mehrzahl der im Internet - insbesondere frei verfügbaren - Hacking Tools regelmäßig Malware und undokumentierte Hintertüren. Den gängigsten und populärsten Tools (etwa Nmap) kann man zwar trauen, aber die Creme de la Creme der Pentester schreibt selbstverständlich ihre eigenen Hacking Tools. Getreu dem Motto: "Trust no one."

3. Das Pentesting-Ziel "kennen lernen"

Jeder Ethical-Hacking-Profi beginnt seine Arbeit damit, so viel wie möglich über sein Ziel zu erfahren und zu lernen. Dazu gehören beispielsweise Informationen über die IP-Adresse, das Betriebssystem, Applikationen und Versionsnummern, Patch-Stände, Netzwerk-Ports und alle anderen Daten, die sich für die Kompromittierung als nützlich erweisen könnten.

Es ist eine absolute Seltenheit, dass ein Profi-Pentester nicht bereits in den ersten Minuten eine offensichtliche, potenzielle Schwachstelle entdeckt. Und selbst wenn nicht: Auf Grundlage der gesichteten Informationen können weitere Angriffe, beziehungsweise Angriffsversuche gestartet werden.

4. Den Exploit ausführen

Das ist, wofür der Pentester sein Geld bekommt: der erfolgreiche Einbruch in ein System. Aus den in Phase drei gesicherten Informationen entwickelt der Ethical Hacker einen Exploit für eine identifizierte Schwachstelle und erlangt so unautorisierten Zugang (oder einen Denial of Service, falls das das Ziel war). Wenn ein Pentester es nicht schafft, ein bestimmtes Asset zu kompromittieren, muss er sich auf andere fokussieren. In aller Regel werden Profis aber schnell fündig. Der "Exploit-Part" ist dabei weniger kompliziert, als die meisten Menschen glauben. Um ein guter Ethical Hacker zu sein, muss man kein Genie sein, aber man benötigt zwei Eigenschaften unbedingt: Geduld und Durchhaltevermögen.

Je nach Schwachstelle oder Exploit kann an dieser Stelle ein weiterer Exploit nötig werden - etwa um einen normalen Zugang in einen Admin-Zugang zu "verwandeln". Im nächsten Schritt setzt der Penetration-Testing-Experte nun seinen Weg zum Ziel fort. Dabei bewegt er sich vertikal oder horizontal. Ersteres bezeichnet den Weg über externe Systeme, Zweiteres die Bewegung über dieselbe Klasse von Systemen. Manchmal muss das Ziel des Penetration Tests ganz konkret "erlangt" werden (etwa vertrauliche Daten), in anderen Fällen genügt eine Dokumentation darüber, wie dieser Vorgang abgelaufen wäre.

5. Ergebnisse dokumentieren

Last but not least wartet auch auf den Ethical Hacker Schreibarbeit: Die durchgeführten Maßnahmen, Erkenntnisse und Schlussfolgerungen müssen - je nach vorheriger Abmachung - mehr oder weniger detailliert dokumentiert werden.