Einführung
Ich wurde nun schon mehrmals gefragt, wie man eigentlich Penetration Tester wird und welche Vorgehensweise ich dazu empfehlen kann. Es gibt weder eine darauf spezialisierte Ausbildung noch ein darauf spezialisierter Studiengang. Ich möchte die Beantwortung der Frage von hinten aufziehen und zuerst die Frage beantworten, was ein guter Penetration Tester denn überhaupt können und wissen muss. Nun, da wären mindestens Kenntnisse und Fähigkeiten in:
- IT-Systemadministration (Betriebssysteme, Netzwerke usw.)
- Anwendungsentwicklung (diverse Programmiersprachen wie C, Java, PHP, Python)
- Theoretische Angriffstechniken: Buffer Overflow, Code Execution, Injections, uvm.
- Bedienung von Tools wie Nessus, Nikto, nmap, owasp-zap (damit meine ich nicht auf Skriptkiddie-Niveau)
- Entwicklung eigener Tools oder die Weiterentwicklung vorhandener
- Strukturierter Vorgehensweisen für Penetration Testing (OSSTMM, OWASP Penetration Testing Guide)
- Report-Erstellung (Strukturierte Berichte, Schreiben von Erläuterungen und Dokumentation)
Okay, die Auflistung ist umfangreich, ich möchte aber nichts streichen. Ich halte alle Punkte für relevant und notwendig. Es geht schließlich nicht um die Frage wie man Hacker wird, sondern wie man professioneller Karriere als Penetration Tester beginnt. Dazu gehört dann doch deutlich mehr als nur hacken zu können.
Die Grundlagen (Punkte 1 und 2)
Ich empfehle als Grundlage entweder eine Ausbildung zum Fachinformatiker (Fachrichtung Systemintegration oder Anwendungsentwicklung) oder bei formaler Eignung (ab Fach-Abi) ein Informatik-Studiengang an einer Fachhochschule. Eine Universität würde ich für das Berufsziel Penetration Tester nicht wählen, das ginge aufgrund der Mathe- und Theorielastigkeit am Ziel vorbei. Ich würde ein Informatik-Studium an einer FH wählen, entweder reine Informatik oder zumindest etwas Vergleichbares in technischer Richtung. Medieninformatik und Wirtschaftsinformatik bieten keine idealen Vorrausetzungen für Penetration Tester, sind aber immer noch besser als gar nichts.
An der Anwendungsentwicklung kommt man in der Ausbildung und im Studium nicht vorbei und grundlegende IT-Systemadministration sollte hoffentlich auch dabei sein. Ansonsten muss man privat ein wenig nachhelfen – einfach alte Hardware nehmen und mit Linux & Windows experimentieren. Die Virtualisierungen Xen, kvm & Co erlauben auch den Aufbau eines ganzen Netzwerks auf einer physikalischen Maschine und sind kostenfrei. Hier kann man sich austoben und die Grundlagen vertiefen, wenn man ansonsten keinen Zugang zu praktischen Erfahrung bekommt. Ansonsten sollte man sicherlich noch eine vernünftige Script-Sprache lernen; ich empfehle Python (oder Perl oder Ruby oder bash, aber nicht PHP & Co).
Die Angriffstechniken (Punkte 3 bis 5)
Die theoretischen und praktischen Angriffstechniken ohne „Anleitung“ zielgerichtet zu lernen erfordert eine gewisse Selbstdisziplin. Es gibt im Netz dafür gute Online-Kurse wie z.B. den OSCP (Offensive Security Certified Professional) von Offensive Security. Der CEH (Certified Ethical Hacker) ist nur theoretisch und vermittelt keine Praxis. Das Wissen vom CEH kann man sich auch aus Büchern und dem Web anlesen, falls einem der OSCP zu „praktisch“ orientiert ist. Das zur Verfügung gestellte Hacking-Lab ist beim OSCP ist definitiv sein Geld wert und ich kann es nur weiterempfehlen.
Ansonsten gibt es im Web auch noch sehr viele frei-verfügbare & verwundbare Server-Images, an denen man kostenlos üben kann. Bücher gibt es auch einige, mit unterschiedlichem Niveau. Wer hier noch in der Ausbildung oder Studium etwas dazu lernt, dürfte ziemlich viel Glück gehabt haben. Oder er studiert direkt einen Bachelor in IT-Security und hat tatsächlich einen guten Prof für die Vorlesung erwischt. Das dürfte aber die Ausnahme sein. Ich würde ohnehin nicht bereits im Bachelor eine Spezialisierung wählen, dafür gibt es Master-Studiengänge.
Die Entwicklung eigener Tools wird mit steigender Erfahrung notwendig sein und ist mehr ein natürlicher Anpassungsprozess an eventuell nicht ausreichende oder nicht vorhandene Tools. Wer bereits Erfahrung im Programmieren oder in der Software-Entwicklung besitzt hat es hier deutlich leichter, auch wenn Penetration Testing nicht Anwendungsentwicklung bedeutet.
Die Professionalisierung vom Hacking (Punkte 6 und 7)
Professionelle Penetrationstests weisen immer eine strukturierte Vorgehensweise auf. Wer einfach „drauflos hackt“ wird vielleicht etwa finden, sicherlich nicht alles und vor allem wird der Test nicht reproduzierbar sein. Damit sinkt die Aussagekraft eines Penetrationstests enorm – eine ordentliche Vorgehensweise ist im professionellen Umfeld dringend erforderlich. Diverse Ansätze sind frei verfügbar (z.B. OSSTMM). Daran sollte man sich zumindest erst einmal orientieren, bis man in der Lage ist eventuell notwendige Anpassungen vorzunehmen.
Nach einem Penetrationstest muss noch der Bericht dazu erstellt werden. Dieser muss klar verständlich, vollständig und am Zielpublikum ausgerichtet sein (was nie einheitlich sein wird). Wichtig ist es dabei auch, schreiben zu können: Schriftlich Sachverhalte darlegen oder aufzeigen können. Konkrete Formulierungen wählen. Sichere Rechtschreibung und Grammatik.
Fazit
Die Anforderungen an Pentester sind sehr hoch. Der Weg dorthin erfordert ein hohes Maß an Interesse, intrinsische Motivation und Eigeninitiative. Niemand wird einem den Weg dorthin im Detail vorgeben und ich glaube auch nicht, dass man das regelrecht planen kann. Wer gerne Sicherheitslücken entdeckt und Spaß dabei hat, der soll den Weg dorthin einschlagen.
Mittlerweile sind die Kurs-Materialien der binsec academy GmbH zum „Pentest Training“ öffentlich und kostenlos verfügbar: https://binsec.wiki/de/security/howto/pentest-training/
Der initiale Artikel stammt aus 2014 und wurde 2022 aktuallisiert:
Sven
Danke für deine Zusammenfassung zum Thema PenTesting. Fand ich wirklich informativ.
Eine Frage hätte ich noch:
Wenn man sich generell für das Thema Penetration Testing, sichere Software, Sicherheitslücken, Angriffsszenarien, usw. interessiert, hast du da eventuell ein paar Literaturempfehlungen (Bücher, Links, egal)? Du schreibst zwar in deinem Bericht, dass es viel Literatur gibt, gehst aber nicht genauer darauf ein. Und es gibt zum Thema Hacking/Exploitation schon einige Bücher, aber es sich sicher nicht alle empfehlenswert.
Vielleicht hast du ja ein paar Tipps. :)
Danke und Gruß
Sven
Patrick Sauer
Schön, freut mich! Ich habe gerade keine Link-/Buchsammlung griffbereit. Ich werde in der nächsten Zeit einmal eine erstellen und sie in einem eigenen Beitrag veröffentlichen.
Dennis
Hey, danke für den Klasse Bericht und ja wie du schon geschrieben hast richtig pentest kann man meiner Meinung nach auch nicht einfach so als Ausbildung lernen zumal, dass eher eine Lebenseinstellung sein muss damit man auch gut ist. Ich würde selbst naher Zukunft mich in die Richtung pentest bewegen, weil mir das einfach Spaß macht Schwachstellen auszunutzen.
LG Dennis
Noah
Sehr interessanter Artikel, befinde mich immoment in der 8. Schulstufe in der Schweiz. Mein absoluter Traum wäre der Beruf als Penetrations Tester mit eigener Firma. Können Sie mir eine Lehre als Systemtechnicker mit Berufsmatura raten bzw abraten? Andere option wäre das höhere Gymnasium. Wörde mich auf eine Antwort bzw pber eine Mail freuen.
Mit freundlichen Grüßen Noah👍🏻
Patrick Sauer
Hallo,
ich muss ganz ehrlich sagen, ich kenne mich mit dem österreichischen System nicht wirklich aus. Ich kann nur empfehlen eher erst einmal allgemein in die Informatik-Richtung zu gehen (möglichst irgendwie praxisnah) und danach sich in diesem Bereich zu spezialisieren.
Viele Grüße
Patrick
Noah
Hallo Patrick,
stehe vor der entscheidung in richtung Systemtechnik oder Applikationsentwicklung zu gehen.
Welche richtung bringt mich mehr zum Ziel Penetrationstester.
Könnten wir mal skypen?
Würde mich über eine antwort freuen.
Patrick Sauer
Hi Noah,
im Prinzip halte ich das nicht für so wichtig. Zumal Pentesting auch ein breiter Bereich ist: Pentests von (Web-)Anwendungen, IT-Systemen, IoT, Embedded Systems, usw.
Ich würde immer überlegen: Was interessiert mich mehr? Und das machen! Hohes Interesse bedeutet hohe Motivation und das resultiert in „gut darin sein“…
Ich weiß, das ist keine konkrete Antwort. Aber meiner Erfahrung nach kann man seinen Lebenslauf nicht vorab planen. Ich würde immer schauen, was mir am meisten Spaß macht..
Viele Grüße
Patrick
Robin
Ein wirklich toller Beitrag.
Ich hab aber noch eine Frage:
Ich steh vor der Entscheidung eine Ausbildung zum Fachinformatiker für Systemintegration oder eine Studium an einer Fachhochschule zu machen. Wäre es besser ein Studium zu machen oder würde das keine Rolle spielen wenn man am Ende die gewissen Zertifikate hat bzw. würde ich mit einer Ausbildung und genügend Berufserfahrung die gleichen Chancen besitzen Pentester zu werden ( von Firmen angenommen zu werden) wie mit einem Studium?
Ich bedanke mich schon Mal im Voraus für ihre Antwort und hoffe, dass sie mir weiterhelfen können.
MfG
Patrick Sauer
Also meine rein subjektive Meinung: Studium im Informatikbereich ist besser als eine Ausbildung zum Fisi. Ideal fände ich es während einem Studium Praxiserfahrung als Werkstudent zu sammeln. Eine Ausbildung ist aber kein „Hindernis“.. ich würde es nur selbst nicht machen.
Michael Greco
Herzlichen Dank an Patrick Sauer für diese erstklassige Zusammenfassung.
Ich scheine auf dem richtigen Weg zu sein. Pentesting interessiert mich ungemein und ich halte es auch für extrem wichtig. Daher drücke ich nochmal die Schulbank ( mit 46 ) und mache eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung.
Gleichzeitig fuchse ich mich in Kali Linux und die entsprechenden Tools ein und lerne als Autodidakt, Python.
Steve
Hi Patrick und danke für einen gelungenen Artikel.
Ich habe noch eine Frage: wie wird man ein BSI zertifizierter Pentester? Auf der BSI konnte ich keine weiteren Informationen finden.
Patrick Sauer
Danke :-).
Die Infos vom BSI findet man hier:
https://www.bsi.bund.de/DE/Themen/ZertifizierungundAnerkennung/Stellen/IS_REV_PEN/Antrag_AnerkennungZertifizierung/Antrag_AnerkennungZertifizierung_node.html
Hans
Hi Patrick,
schöner Beitrag.
Warum ist das Mehr an Mathe- & Theorie von der Uni hinderlicher als der Lerninhalt an der FH? Gehört das Brechen von Verschlüsselungen nicht wirklich zum Pentesten? Weil ich den Eindruck habe, bei IT-Einbruchsmeldungen wurden immer mal wieder Verschlüsselungen ausgehebelt – nagut, nicht direkt gebrochen, sondern nur umgangen. Glaub darin liegt dann der Unterschied: reinkommen, egal wie, aber keinen Nobelpreis dabei abstauben ;-)
Danke,
Hans
Patrick Sauer
Hi Hans,
nein, das Brechen von Verschlüsselungen gehört eigentlich weniger zum Aufgabengebiet eines Pentesters, außer die Krypto oder das Hashing ist so schwach, dass es sich lohnt – und dann eher Bruteforce o.ä. Ansonsten ist das eher eine Disziplin der klassischen Informatik / Mathematik z.B. Schwachstellen in RSA aufzudecken.
Viele Grüße
Patrick
MacOS
Hallo, vielen Dank für den spannenden Artikel zum Thema Hacker Schutz! Beste Grüsse