· 

Wie wird man Hacker?

1. Einführung

Wie wird man Hacker? Kurz gesagt: nicht über Nacht und nur mit viel Übung, Kreativität sowie Austausch mit anderen aus der Szene. Man wird außerdem niemals wirklich ausgelernt haben und sein Wissen ständig erneuern müssen, da immer wieder neue Schwachstellen bzw. Exploits bekannt werden. Besonders dann, wenn man eine neue Anwendung programmiert oder eine Webseite aufsetzt, sind noch viele Fehler vorhanden, die man auch als erfahrener nicht immer auf dem Schirm hat. Zwar kann man sich hunderte Guidelines zum "Secure-Coding" durchlesen, doch am Ende reich oft z. B. nur eine fehlende Input-Prüfung aus, um potentiell ein ganzes System zu infiltrieren. Wenn man bei einer interaktiven Webseite auch nur ein einziges mal vergisst, spitze Klammern oder andere kritische Benutzereingaben in einem Input-Feld zu escapen, dann kann das eine Gefahr für die gesamte Anwendung bedeuten.

Viele stellen sich Hacking fälschlicherweise wie in zahlreichen Filmen vor, in denen der Protagonist nur wenige Sekunden Zeit hat, um sich in ein System reinzuhacken, was ihm dann auf mysteriöse Art und Weise mit GIMP über einen zweiten Bildschirm gelingt. Spaß beiseite: die Darstellung in Film und Fernsehen ist oftmals völlig überzogen, da man (verständlicherweise) versucht, den Zuschauer zu unterhalten.

Ich möchte nun mit den Klischees ein wenig aufräumen und zeigen, auf was man sich einlässt, wenn man sich dazu entscheidet, ein "Hacker" (ich betone hier die Anführungszeichen) zu werden.


2. Was ist überhaupt ein Hacker?

Zunächst einmal ist die Frage zu klären, was man überhaupt unter einem Hacker versteht. Hierbei gibt es nämlich völlig unterschiedliche Definitionen, die ebenfalls nur selten mit dem, was einem in den Medien entgegenschlägt, d'accord geht. Der Security-Insider definiert Hacker wie folgt: 

"Hacker sind technisch versierte Personen im Hard- und Softwareumfeld. Sie finden Schwachstellen von Systemen, um auf sie aufmerksam zu machen oder sie für bestimmte Zwecke wie unbefugtes Eindringen oder zur Veränderung von Funktionen zu nutzen." Quelle: Security-Insider

Das ist bereits eine durchaus passende Definition. Für mich persönlich ist ein Hacker jedoch jemand, der kreativ mit Hard- und Software umgeht und sie für vom Hersteller nicht vorgesehene Dinge zweckentfremdet. Auch Personen, die eigenständig Life-Hacks entwickeln (wenn sie, was in seltenen Fällen zutrifft, gut gemacht sind), können nach dieser Definition als Hacker bezeichnet werden.

Du wirst diesen Artikel aber vermutlich nicht angeklickt haben, um zu erfahren, wie man ein Life-Hacker wird, sondern wie man in IT-Systeme eindringt. Nun, auch auf diese Frage wirst du keine Schritt-für-Schritt-Anleitung präsentiert bekommen. Du erhältst aber zahlreiche Tipps, wie du das nötige Wissen aufbauen kannst und welches Wissen du überhaupt benötigst.


3. Arten von Hackern

Bevor  ich dir den langen und steinigen Weg zum Hacker beschreibe, musst du zuerst wissen, welche Arten von Hackern es gibt. Abhängig von der Motivation des Hackers kann man nämlich unterschiedliche Hacker-Klassen definieren.

3.1 White-Hat Hacker

White-Hat Hacker firmieren auch unter der Bezeichnung Ethical Hacker. Hierbei handelt es sich um "die Guten", die innerhalb des gesetzlichen Rahmens versuchen, Schwachstellen in Computernetzwerken oder Rechnern von Unternehmen zu finden. Dies macht die Berufsgruppe der sogenannten Penetrationstester. 

3.2 Grey-Hat Hacker

Grey-Hat Hacker bewegen innerhalb eines gesetzlichen Graubereichs. Ethische Fragen, die das Hacking betreffen, legen sie zu ihren Gunsten aus und rechtfertigen damit ihr Handeln. Bspw. veröffentlichen sie IT-Schwachstellen in Unternehmen, um sie damit zum Handeln zu bewegen. Betroffene werden dabei also nicht um Erlaubnis gefragt. Auch die Motivation kann eher materiell statt ethisch/ideell begründet sein. Allerdings verbirgt sich im Handeln von Grey-Hat Hackern oft eine in Teilen vertretbare positive Motivationsgrundlage wie z. B. "dass Unternehmen XY so nachlässig mit seinen Daten umgeht, kann einfach nicht geduldet werden". Dennoch sollte man in solchen Fällen eher den offiziellen Weg des Rechtsstaats gehen.

 

3.3 Black-Hat Hacker

Black-Hat Hacker beschreibt diejenige Gruppe, die in Nachrichtenberichten genannt werden, wenn es um kriminelle Aktivitäten im Internet geht. Sie missbrauchen ihre erworbenen Kenntnisse, um Systeme mit Maleware zu infizieren, um dadurch z. B. illegal an Geld zu kommen. Auch Benutzernamen, Passwörter, intime Fotos (zwecks Erpressung), Geschäftsgeheimnisse und Kreditkarteninformationen zählen zu ihrem  Diebesgut. Sie verwenden nicht nur technische, sondern auch menschliche Schwachstellen in IT-Systemen.

3.4 Script-Kiddies

Script-Kiddies sind "Hacker", die ausschließlich auf vorgefertigte Skripts und Tools zurückgreifen, um Ziele anzugreifen. Sie besitzen oft kaum bis keine Fachkenntnisse und nutzen Hacking zur Selbstdarstellung oder um mutwillig Schaden anzurichten.

3.5 Hacktivisten

Hacktivisten sind politisch motivierte Hacker. Oft wollen sie mit ihrem Handeln dem öffentlichen Wohl dienen bzw. Meinungsfreiheit fördern und fordern. Allerdings verwenden sie dazu oft illegale Methoden. Nicht selten werden dabei auch Unbeteiligte in Mitleidenschaft gezogen. Die wohl bekannteste Hacktivisten-Gruppe ist Anonymous.


4. Ein Studium oder eine Ausbildung?

Jetzt da du weißt, welche Arten von Hackern es gibt und welcher Gruppe du dich am ehesten zugehörig fühlst, musst du Wissen im Bereich der modernen Informationstechnik aufbauen. Wie machst du das? Nun, ein Studium oder eine Ausbildung im Informatik-Umfeld ist ein guter Startpunkt. Ich sage hier bewusst Studium und Ausbildung, da in beiden Fällen viel Wissen aufgebaut wird. Vor allem solltest du ein breites Wissen aufbauen, d. h. sich nur auf einen speziellen Teil zu fokussieren, wird langfristig mit ziemlicher Sicherheit fehlschlagen, da IT-Systeme für gewöhnlich sehr heterogen sind, d. h. aus sehr vielen unterschiedlichen Hard- und Softwarekomponenten zusammengesetzt sind.

Zudem ist es wichtig, dass du ein Leben lang lernst. Gerade in Zeiten des schnellen Technologienwandels ist es wichtig, dass du immer auf dem neuesten Stand bleibst. Schwachstellen, die es noch vor einem Jahr gab, sind mittlerweile möglicherweise bereits geschlossen, bieten aber durch die bereits angesprochene Komplexität neue Einfallstore. 

Außerdem solltest du der englischen Sprache mächtig sein. Programmiersprachen selbst und die Kommunikation im IT-Umfeld erfolgt auf Englisch! Deswegen solltest du in der Lage sein, Meldungen über IT-Vorfälle und Angriffstechniken auch aus ausländischen Medien zu verstehen.

Meiner Ansicht nach solltest du vor allem in drei großen Bereichen so viel Wissen wie möglich aufbauen, nämlich

  • Betriebssysteme,
  • Netzwerktechnik und 
  • Rechnerarchitektur

Im Bereich Betriebssysteme solltest du dich nicht nur auf Windows oder Linux beschränken, sondern auch über theoretische Konzepte und Implementierungen von Betriebssystemen Bescheid wissen. Eine gute Lernmethode ist es, sich den Source-Code von Linux zu besorgen (der ist quelloffen) und daran die Konzepte nachzuvollziehen.

 

Netzwerktechnik ist vor allem deshalb wichtig, weil viele Angriffe remote stattfinden und das Internet nichts anderes als ein gigantisches Netzwerk ist. Wenn du weißt, wie die einzelnen Systeme miteinander kommunizieren, kannst du ggf. diese Kommunikation abhören, stören, faken.

 

Für Seitenkanalangriffe werden außerdem physikalische Kenntnisse und Wissen über den Aufbau von Rechnern benötigt.

 

Außerdem solltest du mindestens eine objektorientierte und eine Skript-Programmiersprache beherrschen. Vor allem die Programmier- und Darstellungssprachen des Webs (HTML, CSS, JavaScript, PHP, SQL, ...) sollten dir nicht fremd sein. Ein Hacker muss ein sehr breit aufgestelltes Wissen besitzen.


5. Capture The Flag (CTF)

Am besten lernt man an realen Beispielen. Oder Beispielen, die der Realität zumindest sehr nahe kommen. Im Internet gibt es einige Seiten, auf denen man Capture The Flag (kurz CTF) "spielen" kann. Dabei handelt es sich, wie beim klassischen CTF aus dem Sportunterricht, um ein Spiel, bei dem du bestimmte Sicherheitslücken (z. B. auf einem Server) ausnutzen und eine "Flagge" fangen bzw. zur Anzeige bringen musst. Diese steht am Ende eines nicht selten langen Prozesses aus Ausprobieren, Verzweiflung, erneutes Ausprobieren, erneutes Verzweifeln und einem abschließend zielführenden Einfall.

Im Team lernt man oft besser als alleine und profitiert so von den Erfahrungen anderer. Auf der Cyber Security Challenge Germany kannst du im Team gegen andere antreten und dich verschiedenen Aufgaben aus dem IT-Security-Umfeld stellen. 


6. Keine Scheu vor Frameworks!

Du solltest dich übrigens nicht dafür schämen, wenn du vorgefertigte Tools und Frameworks verwendest. Es muss nicht immer alles vom der Pieke auf neu programmiert werden. Beim Bau eines Autos wird nicht jedesmal das Rad neu erfunden. Damit du kein Script-Kiddie wirst, solltest du dich allerdings stets damit auseinandersetzen, was du da gerade machst, warum das Tool funktioniert und wie du es für eine bestimmte Situation anpassen kannst. 

Auch erfahrene Hacker nutzen Kali-Linux, Backtrack-Linux, sqlmap, Wireshark, hashcat und viele weitere Pentesting-Betriebssysteme bzw. Werkzeuge.


7. Keine Angst vor Mathe!

Vor allem dann, wenn du im Bereich der Kryptologie unterwegs bist, kommst du um Mathematik nicht herum. Um Verschlüsselungen zu knacken oder selbst sichere Verschlüsselungsmethoden zu entwerfen, sind sehr tiefgehende Mathematik-Kenntnisse notwendig (insbesondere im Bereich der Algebra und Zahlentheorie).

Aber auch fernab der Kryptologie schadet es nicht, wenn du Kenntnisse im Bereich der Mathematik oder zumindest mathematisches Denken vorweisen kannst. Dazu zählt vor allem auch die Fähigkeit, sich lange auf ein bestimmtes Problem konzentrieren und lange (auch nach vielen Rückschlägen) immer noch durchhalten zu können. Kein Hack wird beim ersten Versuch reibungsfrei gelingen.


8. Soziale Kompetenz

Der Mensch ist bekanntlich die größte Schwachstelle in einem IT-System. Deshalb solltest du gute soziale Fähigkeiten und tiefe Kenntnisse der menschlichen Psychologie besitzen, um an dem Informationssystem vorbei an Benutzerdaten, Passwörter und ähnliches zu kommen. Bei einem Penerationstest werden für gewöhnlich auch die Mitarbeiter durch Social Engineering getestet. Die Fähigkeit, sich in andere hineinversetzen zu können, ist auch beim Erraten von Passwörtern bzw. Guessing-Angriffen hilfreich.


9. Fazit

Der Weg zum Hacker ist alles andere als leicht. Im Gegenteil:  Du wirst viele Rückschläge erleben und immer wieder an den Rand deiner Kenntnisse stoßen. Aber gerade das macht den Reiz an diesem Gebiet aus, da du ständig etwas Neues lernst und permanent intellektuell gefordert bist.