Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ein Anfänger versuchte, eine kaputte Lisp-Maschine zu reparieren, indem er den Strom aus- und wieder anschaltete.
Als Knight sah, was der Schüler tat, sagte er streng: "Du kannst eine Maschine nicht reparieren, indem du sie einfach ausschaltest, ohne zu verstehen, was falsch läuft."
Knight schaltete die Maschine aus und wieder ein.
Die Maschine funktionierte.
Im letzten halben Jahrhundert war einer der Orte, an denen eine ausgeprägte Hackerkultur im Sinne des Lernens und Erschaffens herrschte, das Massachusetts Institute of Technology (MIT) und insbesondere sein Artificial Intelligence Lab. Die Hacker am MIT haben eine Sprache und Kultur entwickelt, die Worte und einen einzigartigen Sinn für Humor hervorgebracht hat. Das vorangehende Zitat ist ein KI-Koan, der den Koans des Zen nachempfunden ist, die zur Erleuchtung führen sollen. Auch dieses Koan ist eines meiner Lieblingszitate, denn es sagt aus: Es ist wichtig zu wissen, wie die Dinge funktionieren. Knight bezieht sich übrigens auf Tom Knight, einen hoch angesehenen Programmierer am AI Lab des MIT.
Das Ziel dieses Buches ist es, den Lesern die Möglichkeiten von Kali Linux durch die Brille der Sicherheitstests zu zeigen. Die Idee ist, dass du besser verstehst, wie und warum die Tools funktionieren. Kali Linux ist eine sicherheitsorientierte Linux-Distribution und daher bei Leuten beliebt, die Sicherheitstests oder Penetrationstests entweder als Sport oder aus Berufung durchführen. Obwohl es auch als Allzweck-Linux-Distribution und für forensische und andere verwandte Aufgaben eingesetzt werden kann, wurde es ursprünglich mit Blick auf Sicherheitstests entwickelt. Daher konzentriert sich der Großteil des Buches auf die Verwendung der Werkzeuge, die Kali bereitstellt. Viele dieser Tools sind bei anderen Linux-Distributionen nicht unbedingt leicht verfügbar. Die Tools können zwar installiert und manchmal auch aus dem Quellcode erstellt werden, aber die Installation ist einfacher, wenn sich das Paket im Repository der Distribution befindet.
Was dieses Buch behandelt
Da Kali aus der Perspektive des Sicherheitstestens einführen will, werden die folgenden Themen behandelt:
- Grundlagen von Kali Linux
-
Linux hat eine lange Geschichte, die bis in die 1960er Jahre mit Unix zurückreicht. In diesem Kapitel geht es um die Hintergründe von Unix, damit du besser verstehst, warum die Werkzeuge von Linux so funktionieren, wie sie funktionieren, und wie du sie am besten effizient nutzen kannst. Außerdem gehen wir auf die Kommandozeile ein, da wir dort im weiteren Verlauf des Buches viel Zeit verbringen werden, und auf die Desktops, die dir zur Verfügung stehen, damit du eine komfortable Arbeitsumgebung hast. Wenn du ein Linux-Neuling bist, bereitet dich dieses Kapitel auf den Rest des Buches vor, damit du nicht überfordert bist, wenn wir anfangen, uns mit den verfügbaren Tools zu beschäftigen.
- Grundlagen der Netzwerksicherheitsprüfung
-
Die Dienste, mit denen du am meisten vertraut bist, hören auf das Netzwerk. Auch Systeme, die mit dem Netzwerk verbunden sind, können angreifbar sein. Um dich besser in die Lage zu versetzen, Tests im Netzwerk durchzuführen, werden wir einige Grundlagen über die Funktionsweise von Netzwerkprotokollen behandeln. Wenn du wirklich tief in die Sicherheitsprüfung einsteigst, wirst du feststellen, dass ein Verständnis der Protokolle, mit denen du arbeitest, von unschätzbarem Wert ist. Wir werden auch einen Blick auf Tools werfen, die für Stresstests von Netzwerkstacks und Anwendungen eingesetzt werden können.
- Aufklärungsarbeit
-
Wenn du Sicherheitstests oder Penetrationstests durchführst, besteht eine gängige Praxis darin, dein Ziel aufzuklären. Es gibt verschiedene offene Quellen, die dir helfen, Informationen über dein Ziel zu sammeln. Das Sammeln von Informationen hilft dir nicht nur in späteren Phasen deiner Prüfung, sondern liefert auch viele Details, die du mit der Organisation teilen kannst, für die du die Prüfung durchführst. Diese Details können ihnen helfen, den Fußabdruck der Systeme, die für die Außenwelt zugänglich sind, richtig zu bestimmen. Informationen über eine Organisation und die Menschen darin können Angreifern schließlich als Sprungbrett dienen.
- Auf der Suche nach Schwachstellen
-
Angriffe auf Organisationen entstehen durch Schwachstellen. Wir werden uns Schwachstellen-Scanner ansehen, die einen Einblick in die technischen (im Gegensatz zu den menschlichen) Schwachstellen deines Zielunternehmens geben können. Das Ziel von Sicherheitstests ist es, der Organisation, für die du testest, Einblicke in potenzielle Schwachstellen und Gefährdungen zu geben. Die Identifizierung von Schwachstellen wird dir dabei helfen.
- Automatisierte Exploits
-
Auch wenn Metasploit die Grundlage für die Durchführung von Sicherheitstests oder Penetrationstests ist, gibt es auch andere Tools. Wir befassen uns mit den Grundlagen der Verwendung von Metasploit, aber auch mit einigen anderen Tools, die für die Ausnutzung der Schwachstellen zur Verfügung stehen, die von den in anderen Teilen des Buches besprochenen Tools gefunden wurden.
- Metasploit beherrschen
-
Metasploit ist ein dichtes Stück Software. Es kann lange dauern, bis man sich daran gewöhnt hat, es effektiv zu nutzen. In Metasploit gibt es fast 2.000 Exploits und über 500 Nutzlasten. Wenn du diese miteinander kombinierst, erhältst du Tausende von Möglichkeiten, um mit entfernten Systemen zu interagieren. Darüber hinaus kannst du deine eigenen Module erstellen. Wir werden uns mit Metasploit beschäftigen und nicht nur die Grundlagen für rudimentäre Exploits behandeln.
- Drahtlose Sicherheitstests
-
Heutzutage hat jeder ein drahtloses Netzwerk. So verbinden sich mobile Geräte wie Telefone und Tablets, ganz zu schweigen von vielen Laptops, mit Unternehmensnetzwerken. Aber nicht alle drahtlosen Netzwerke sind optimal konfiguriert. Kali Linux verfügt über Tools, mit denen du Wireless-Tests durchführen kannst. Dazu gehören das Scannen nach drahtlosen Netzwerken, das Einfügen von Frames und das Knacken von Passwörtern.
- Testen von Webanwendungen
-
Ein Großteil des Handels findet über Webschnittstellen statt. Außerdem sind viele sensible Informationen über Webschnittstellen verfügbar. Unternehmen müssen darauf achten, wie verwundbar ihre wichtigen Webanwendungen sind. Kali enthält zahlreiche Tools, mit denen du Webanwendungen überprüfen kannst. Wir werfen einen Blick auf proxy-basierte Tests sowie auf andere Tools, die du für automatisierte Tests verwenden kannst. Das Ziel ist es, der Organisation, für die du die Tests durchführst, ein besseres Verständnis für die Sicherheitslage dieser Anwendungen zu vermitteln.
- Passwörter knacken
-
Das Knacken von Passwörtern ist nicht immer erforderlich, aber es kann sein, dass du gebeten wirst, sowohl entfernte Systeme als auch lokale Passwortdatenbanken auf die Komplexität der Passwörter und die Schwierigkeit des Fernzugangs zu testen. Kali hat Programme, die dir beim Knacken von Passwörtern helfen - sowohl beim Knacken von Passwort-Hashes, wie in einer Passwortdatei, als auch beim Erzwingen von Anmeldungen bei Remote-Diensten wie SSH, VNC und anderenRemote-Zugriffsprotokollen.
- Fortgeschrittene Techniken und Konzepte
-
Du kannst alle Werkzeuge aus dem Arsenal von Kali nutzen, um umfangreiche Tests durchzuführen. Irgendwann musst du jedoch über die vorgefertigten Techniken hinausgehen und deine eigenen entwickeln. Das kann bedeuten, dass du deine eigenen Exploits erstellst oder deine eigenen Tools schreibst. Wenn du besser verstehst, wie Exploits funktionieren und wie du deine eigenen Tools entwickeln kannst, bekommst du einen Einblick in die Richtung, die du einschlagen kannst. Wir werden uns mit der Erweiterung einiger Kali-Tools und mit den Grundlagen gängiger Skriptsprachen beschäftigen.
- Reverse Engineering und Programmanalyse
-
Zu verstehen, wie Programme funktionieren, kann ein wichtiger Teil der Schwachstellenprüfung sein, da du oft nicht über den Quellcode verfügst. Außerdem muss Malware analysiert werden. Für diese Art von Arbeit gibt es Tools zum Disassemblieren, Debuggen und Dekompilieren.
- Digitale Forensik
-
Auch wenn dieses Thema nicht speziell auf Sicherheitstests abzielt, sind einige der Tools, die für die Forensik verwendet werden, nützlich zu wissen. Außerdem handelt es sich um eine Kategorie von Tools, die von Kali Linux installiert werden. Schließlich ist Kali eine sicherheitsorientierte Distribution und beschränkt sich nicht auf Penetrationstests oder andere Sicherheitstests.
- Melden
-
Auch wenn es nicht direkt um das Testen geht, ist die Berichterstattung wichtig, denn nur so kannst du bezahlt werden. Kali hat viele Tools, die dir bei der Erstellung dieses Berichts helfen können. Wir zeigen dir, wie du dir während deiner Prüfung Notizen machst und wie du den Bericht erstellst.
Neu in dieser Ausgabe
Diese Ausgabe enthält ein neues Kapitel über digitale Forensik, da es eine bedeutende Sammlung von Tools gibt, die für diesen Zweck verwendet werden können. Neben Netzwerk-Tools wie Wireshark und anderen, die in anderen Kapiteln besprochen werden, gibt es auch Tools, die für die Festplatten-Forensik sowie für die Identifizierung von Malware und einige Speichererfassungen verwendet werden können.
Der Abschnitt über Reverse Engineering und Programmanalyse aus der vorherigen Ausgabe wurde zu einem komplett neuen Kapitel erweitert. Darin werden auch das von der NSA entwickelte Tool Ghidra sowie andere nützliche Tools für Reverse Engineering und Programmanalyse behandelt.
Natürlich werden neue Tools, die in aktualisierten Versionen von Kali verfügbar sind, hier behandelt, obwohl die Abdeckung der Tools von Kali nicht umfassend ist, da Tools kommen und gehen und es Hunderte von Paketen mit Tools für verschiedene sicherheitsbezogene Zwecke gibt.
Für wen dieses Buch ist
Ich hoffe, dass dieses Buch etwas für Leserinnen und Leser mit den unterschiedlichsten Erfahrungen enthält. Die Hauptzielgruppe sind jedoch Menschen, die vielleicht ein wenig Linux- oder Unix-Erfahrung haben, aber sehen wollen, worum es bei Kali überhaupt geht. Dieses Buch ist auch für Leute gedacht, die die Sicherheitstests mit den Tools von Kali Linux besser in den Griff bekommen wollen. Wenn du bereits Erfahrung mit Linux hast, kannst du z.B. Kapitel 1 auslassen. Du kannst auch jemand sein, der bereits mit einigen gängigen Tools Webanwendungen getestet hat, aber sein Spektrum an Fähigkeiten erweitern möchte.
Der Wert und die Wichtigkeit von Ethik
Ein Wort zur Ethik - du wirst sehen, dass dieses Thema oft auftaucht, weil es so wichtig ist, dass es sich lohnt, es zu wiederholen. Sehr oft. Für Sicherheitstests brauchst du eine Erlaubnis. Was du wahrscheinlich tust, ist in den meisten Ländern illegal. Wenn du ohne Erlaubnis in fremde Systeme eindringst, kannst du dir eine Menge Ärger einhandeln. Wenn du oben auf die Legalität hinweist, wird die Aufmerksamkeit der Leute geweckt.
Neben der Legalität geht es auch um die Ethik. Sicherheitsexperten, die Zertifizierungen erwerben, müssen einen Eid auf ihre ethischen Praktiken ablegen. Eine der wichtigsten Regeln dabei ist, Informationsressourcen nicht zu missbrauchen. Die CISSP-Zertifizierung beinhaltet einen Ethikkodex, in dem du dich verpflichtest, nichts Illegales oder Unethisches zu tun.
Tests auf Systemen, für die du keine Erlaubnis hast, sind nicht nur potenziell illegal, sondern nach den Standards unserer Branche auch unethisch. Es reicht nicht aus, jemanden in dem Unternehmen zu kennen, das du testen willst, und dessen Erlaubnis einzuholen. Du brauchst die Erlaubnis eines Geschäftsinhabers oder einer Person mit entsprechender Verantwortung, die dir diese Erlaubnis erteilt. Außerdem ist es am besten, wenn du die Erlaubnis schriftlich hast. So ist sichergestellt, dass beide Parteien auf derselben Seite stehen. Es ist auch wichtig, dass du dir im Voraus über den Umfang der Prüfung im Klaren bist. Das Unternehmen, für das du prüfst, hat möglicherweise Einschränkungen, was du tun darfst, welche Systeme und Netzwerke du anfassen darfst und zu welchen Zeiten du die Tests durchführen kannst. Lass dir das alles schriftlich geben. Im Voraus. Das ist deine "Get Out of Jail Free"-Karte. Schreibe den Prüfumfang auf und halte dich dann daran.
Und: Kommuniziere, kommuniziere, kommuniziere. Tu dir selbst einen Gefallen. Lass dir die Erlaubnis nicht einfach schriftlich geben und verschwinde dann, ohne deinem Kunden mitzuteilen, was du vorhast. Kommunikation und Zusammenarbeit bringen gute Ergebnisse für dich und das Unternehmen, für das du testest. Außerdem ist es in der Regel einfach das Richtige zu tun.
Habt innerhalb der ethischen Grenzen Spaß!
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Kennzeichnet neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen. Wird innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width
-
Wird für Programmlistings und Codebeispiele verwendet.
Constant width
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.
Wie du uns kontaktierst
Bitte wende dich mit Kommentaren und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-889-8969 (in den Vereinigten Staaten oder Kanada)
- 707-827-7019 (international oder lokal)
- 707-829-0104 (Fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/learning-kali-linux-2e aufrufen .
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media
Schau uns auf YouTube: https://youtube.com/oreillymedia
Danksagungen
Ein weiterer Dank geht an Courtney Allen, die mich gebeten hat, die erste Ausgabe zu schreiben und mir mein erstes O'Reilly-Tierbuch besorgt hat, und natürlich an meine Agentin Carole Jelen, die mir immer wieder neue Aufgaben besorgt hat und mir über die Jahre eine große Unterstützung war. Danke auch an meine Lektorin, Rita Fernando. Danke auch an die technischen Prüfer: Ben Trachtenberg, Dean Bushmiller und Jess Males.
Get Kali Linux lernen, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.