
Roadmap für einen autodidaktischen Hacker
Hacking ist die Kunst, Dinge auf unvorhergesehene Weise zu nutzen. Wenn zum Beispiel die Testversion einer Software bald abläuft, kannst du sie vielleicht verlängern, indem du das Datum deines Computers auf die letzte Woche zurückstellst. Das ist Hacking.
Es gibt keinen „einzig richtigen Weg“, Hacking zu lernen, weil der Begriff sehr weit gefasst ist. Deshalb ist der Zweck dieses Leitfadens, eine Richtung vorzugeben, statt einen Fahrplan zu liefern.
Wenn du findest, dass etwas ergänzt oder verbessert werden sollte, erstelle bitte ein Issue.
Ich halte es für wichtig, seine Wurzeln zu kennen, also sprechen wir darüber, ohne den Ursprung überzuanalysieren.
In den 1960er Jahren nutzten Telefonnetze eine Reihe von Tönen, um Telefonanrufe zu verarbeiten. Eine Gruppe von Leuten fand heraus, wie alles funktionierte, und schaffte es, die von diesen Netzen verwendeten 2600-Hz-Frequenztöne nachzubilden. Wie taten sie das? Indem sie in eine Pfeife bliesen, die es gratis zu den Frühstücksflocken gab. Diese Handlung wurde Phreaking genannt, und die Leute, die sie ausführten, wurden Phreaks genannt.
Denny Teresi, einer der Phreaks, sagte in einem Interview:
„Es ging nicht nur darum, die Telefongesellschaft auszunehmen, es war die technische Herausforderung – ob wir es schaffen würden.“
Sie taten es, weil es ein faszinierendes Problem war, das es zu lösen galt, und sie sehen wollten, ob sie es lösen konnten. Genau das ist die Hacking-Kultur, auch heute noch.
Wenn du Medikamente verkaufen willst, brauchst du nur einen Ort, um sie zu lagern, und reichst den Kunden, was sie brauchen. Wenn du hingegen Heilmittel für Krankheiten entwickeln willst, musst du wissen, wie der menschliche Körper und alles andere funktioniert. Ergibt Sinn, oder? Dasselbe gilt fürs Hacken. Wenn du wirklich gut darin werden willst, etwas zu hacken und neue Techniken dafür zu entwickeln, musst du verstehen, wie es funktioniert.
Wenn du Informationen hast, von denen du denkst, dass sie für andere nützlich sein könnten, teile sie über soziale Medien, Foren oder Blogs. Es wird dir in vielerlei Hinsicht nutzen:
Sei neugierig, experimentiere viel, baue coole Scheiße, genau darum geht es, so hat alles angefangen. Wenn du dein Leben damit verbringst, Techniken und Werkzeuge zu nutzen, die andere entwickelt haben, was ist dann der Sinn, einen so coolen Weg wie diesen zu wählen?
Der Fahrplan enthält einige gute Ressourcen sowie einige Themen, die du selbst googeln und darüber lesen musst. Dies ist kein einfacher „Schritt-für-Schritt-Leitfaden“ oder eine Sammlung von Ressourcen.
Lies bzw. schaue dir Zeug an, notiere die Begriffe, die du nicht verstehst, google sie und lerne sie aus mindestens 3 verschiedenen Quellen; notiere erneut Begriffe, die du nicht verstehst, und wiederhole den Vorgang. Warum mindestens 3 Quellen? Weil die Informationen, die ein Ersteller liefert, auf das beschränkt sind, was er weiß; wenn man sie von 3 verschiedenen Erstellern bekommt, erhält man ein besseres Verständnis des Themas aus verschiedenen Perspektiven.
Ich werde diese Methodik im gesamten Leitfaden als „rekursives Lernen“ bezeichnen.
Hacking hat viele Bereiche, z. B. Reverse Engineering, Web-Hacking, Car-Hacking usw., aber einige Dinge sind unabhängig vom Bereich hilfreich, also sprechen wir zuerst darüber.
Es hilft dir, die Maschine, die du jeden Tag stundenlang benutzt, tiefer zu verstehen und eine wertvolle Perspektive zu gewinnen, die ich nicht wirklich in Worte fassen kann.
Denk daran, du musst nur die Grundlagen kennen, denn dieses Wissen wird sich weiterentwickeln, wenn du neugierig bist und Fragen stellst wie: „Was passiert, wenn du eine Datei löschst? Wenn sie auf dem Gerät bleiben, wie wird dann Speicherplatz freigegeben? Wenn sie wirklich weg sind, wie können Wiederherstellungsprogramme sie wiederherstellen?“
Ressourcen:
Zu verstehen, wie das Internet (und andere Netzwerke) funktionieren, ist essenziell, weil Netzwerke überall sind.
Themen für den Einstieg ins rekursive Lernen:
IP address, MAC address, port, client & server, dns, tcp, udp, proxy, tls/ssl, vpn
Ressourcen:
Du wirst viel Zeit im Terminal verbringen, egal ob du Programme ausführst oder auf entfernte Server zugreifst. Du kannst jedes Betriebssystem verwenden, aber ich empfehle Linux-basierte Betriebssysteme, einfach weil du alles daran modifizieren kannst, was die Essenz des Hackens ist. Ubuntu ist eine großartige Linux-Distribution für Anfänger.
Um zu verstehen, wie eine bestimmte Software funktioniert (das macht es leicht, sie zu hacken), und um deine eigene Software für Hacking und andere Aufgaben zu erstellen.