Linux Basics für Hacker - OccupyTheWeb - E-Book

Linux Basics für Hacker E-Book

OccupyTheWeb

0,0

Beschreibung

  • Linux-Grundlagen für Hacking und IT-Sicherheit: idealer Einstieg in Kali Linux für angehende Hacker und Penetration Tester
  • Praxisnahes Lernen mit Kali Linux: Linux-Konzepte, Netzwerkkonfiguration
  • Hacking- und Security-Grundlagen: Anonymität, Sicherheit und Scripting mit Bash und Python
  • Schritt-für-Schritt-Anleitungen und Übungen: Sicherheitslücken erkennen, analysieren und praktisch nachvollziehen
  • Aktualisierte Inhalte: neue Sicherheitskonzepte und Logging-Funktionen sowie ein Kapitel zu KI in der Cybersicherheit

Linux-Basics für Hacker – Grundlagen für Hacking, Penetration Testing und IT-Sicherheit mit Kali Linux

Für alle, die sich erstmals mit Hacking, Cybersicherheit und Penetration Testing beschäftigen, ist Linux-Basics für Hacker ein praxisnaher Einstieg. Mit Kali Linux, einer speziell für digitale Forensik und Penetration Testing entwickelten Linux-Distribution, erlernen Sie die Grundlagen von Linux und machen sich mit den Werkzeugen und Konzepten vertraut, die für den sicheren und kontrollierten Umgang mit Linux-Systemen erforderlich sind.

Linux verstehen – im Security-Kontext

Sie erfahren, wie Kali Linux in einer virtuellen Maschine installiert wird, und lernen die wichtigsten Linux-Konzepte kennen. Dazu gehören die Arbeit im Terminal, Textverarbeitung, Dateirechte und Verzeichnisberechtigungen sowie der Umgang mit Umgebungsvariablen. Darauf aufbauend werden grundlegende Konzepte aus IT-Sicherheit, Anonymität und Hacking vermittelt.

Scripting, Pentesting und praktische Übungen

Ein Schwerpunkt liegt auf dem Scripting mit Bash und Python , um Sicherheitslücken systematisch zu identifizieren und zu analysieren. Zahlreiche Schritt-für-Schritt-Anleitungen und praktische Übungen helfen dabei, das Gelernte direkt anzuwenden und zu vertiefen.

Behandelt werden unter anderem:

  • Manipulation von Netzwerkinformationen und Systemlogs mit journalctl
  • Netzwerkerkennung, WLAN-Analyse und Mitschnitt von Netzwerkverkehr
  • Anonymes Surfen mit Tor , Proxys und VPNs sowie verschlüsselte Kommunikation
  • Entwicklung eigener Skripte zur Identifikation potenzieller Angriffspunkte
  • Schwachstellenanalyse typischer Dienste wie MySQL , Apache und OpenSSH
  • Entwicklung eigener Hacking-Tools, z. B. für Passwort-Cracking

Aktualisierte und erweiterte Auflage

Diese deutschsprachige Ausgabe basiert auf der 2. englischen Auflage, die umfassend aktualisiert wurde – unter anderem mit neuen Sicherheitskonzepten für Root-Rechte, Änderungen bei Bluetooth und Logging-Funktionen sowie einem neuen Kapitel zum Einsatz von Künstlicher Intelligenz in der Cybersicherheit.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 346

Veröffentlichungsjahr: 2026

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Stimmen zum Buch

»Wenn Sie gerade erst anfangen oder sich zum Expertenniveau hocharbeiten, ist der Kauf dieses Buchs vermutlich eine der besten Maßnahmen, um Ihre Kompetenzen auf dem Gebiet der Cybersecurity weiterzuentwickeln.«

– Sandra Henry-Stocker, Network World

»Die hier vorgestellten Informationen können selbst einem normalen Benutzer helfen, sich mit dem Linux-Betriebssystem vertraut zu machen, ohne dass er sich von komplexeren, sicherheitsrelevanten Themen und Anwendungen überfordert fühlen muss. Zwar könnten wir alle von mehr Aufmerksamkeit in Sicherheitsfragen profitieren, doch vielleicht inspiriert ›Linux Basics für Hacker‹ ja die nächste Generation angehender Technikexperten dazu, zu den Security-Rockstars von morgen zu werden.«

– Tim Everson, The Ethical Hacker Network

»Linux Basics für Hacker ist von Anfang an praktisch. Sein schneller und direkter Einstieg in die Erkundung und Benutzung eines Linux-Systems ist mir sehr willkommen.«

– Jesse Smith, Distrowatch Weekly

»Eine knackige, gut geschriebene und ausgesprochen effektive Einführung in Linux für angehende Pentester und SOC-Analytiker … und ein ideales erstes Linux-Buch für alle aufstrebenden Mitglieder von Red oder Blue Teams, dessen Lektüre unbedingt zu empfehlen ist.«

– Cybrary

»Wenn Sie in die Informatik einsteigen und sich schnell mit Linux- und Unix-artigen Betriebssystemen vertraut machen wollen, dann werden Sie es mit diesem Buch schaffen, Ihre Mitstudierenden zu überrunden und weit hinter sich zu ­lassen.«

– Greg Laden, Greg Laden’s Blog

Inhalt

Impressum

Über den Autor

Über den technischen Gutachter

Vorwort

Danksagung

Einführung

Was Sie in diesem Buch erwartet

Was ist ethisches Hacking?

Penetrationstests

Militär und Spionage

Wieso Hacker Linux nutzen

Linux ist Open Source

Linux ist transparent

Linux bietet eine granulare Kontrolle

Die meisten Hacking-Tools sind für Linux geschrieben

Die Zukunft gehört Linux/Unix

Kali Linux herunterladen

Virtuelle Maschinen

VirtualBox installieren

Ihre virtuelle Maschine einrichten

Kali auf der VM installieren

Kali einrichten

Kali über das Windows Subsystem for Linux installieren

Kapitel 1Die Grundlagen

1.1 Einführende Begriffe und Konzepte

1.2 Eine Tour durch Kali

1.2.1 Das Terminal

1.2.2 Das Linux-Dateisystem

1.3 Grundlegende Befehle unter Linux

1.3.1 Sich selbst finden mit pwd

1.3.2 Ihr Login mit whoami prüfen

1.3.3 Durch das Linux-Dateisystem navigieren

1.3.4 Hilfe bekommen

1.3.5 Das Handbuch aufrufen

1.4 Suchen und finden

1.4.1 Mit locate suchen

1.4.2 Mit whereis Binärdateien suchen

1.4.3 Mit which Binärdateien in der PATH-Variablen suchen

1.4.4 Mit find noch leistungsfähigere Suchen durchführen

1.4.5 Filtern mit grep

1.5 Dateien und Verzeichnisse modifizieren

1.5.1 Dateien erzeugen

1.5.2 Ein Verzeichnis anlegen

1.5.3 Eine Datei kopieren

1.5.4 Eine Datei umbenennen

1.5.5 Eine Datei entfernen

1.5.6 Ein Verzeichnis entfernen

1.6 Gehen Sie jetzt spielen!

1.7 Übungen

Kapitel 2Textmanipulation

2.1 Dateien betrachten

2.1.1 Den Anfang finden

2.1.2 Das Ende finden

2.1.3 Die Zeilen nummerieren

2.2 Text filtern mit grep

2.3 Suchen und Ersetzen mit sed

2.4 Dateien betrachten mit more und less

2.4.1 Die Anzeige steuern mit more

2.4.2 Anzeigen und Filtern mit less

2.5 Zusammenfassung

2.6 Übungen

Kapitel 3Netzwerke analysieren und konfigurieren

3.1 Netzwerke analysieren mit ifconfig

3.2 Netzwerkstatistiken mit netstat und ss

3.3 Drahtlose Netzwerkgeräte mit iwconfig prüfen

3.4 Ihre Netzwerkinformationen ändern

3.4.1 Eine neue IP-Adresse zuweisen

3.4.2 Netzmaske und Broadcast-Adresse ändern

3.4.3 Ihre MAC-Adresse fälschen

3.4.4 Neue IP-Adressen vom DHCP-Server aus zuweisen

3.5 Das Domain Name System manipulieren

3.5.1 Mit dig das DNS untersuchen

3.5.2 Ihren DNS-Server ändern

3.5.3 Ihre eigene IP-Adresse zuordnen

3.6 Zusammenfassung

3.7 Übungen

Kapitel 4Software hinzufügen und entfernen

4.1 Die Verwendung von apt für die Verwaltung von Software

4.1.1 Nach einem Paket suchen

4.1.2 Software hinzufügen

4.1.3 Software entfernen

4.1.4 Updates von Paketen

4.1.5 Upgrades von Paketen

4.2 Repositorys zu Ihrer sources.list-Datei hinzufügen

4.3 Einen GUI-basierten Installer benutzen

4.4 Software installieren mit git

4.5 Zusammenfassung

4.6 Übungen

Kapitel 5Datei- und Verzeichnis­berechtigungen kontrollieren

5.1 Verschiedene Arten von Benutzern

5.2 Berechtigungen setzen

5.2.1 Einem einzelnen Benutzer die Eigentümerschaft gewähren

5.2.2 Einer Gruppe die Eigentümerschaft gewähren

5.3 Berechtigungen überprüfen

5.4 Berechtigungen ändern

5.4.1 Berechtigungen mithilfe der Dezimalnotation ändern

5.4.2 Berechtigungen mit UGO ändern

5.4.3 root die Ausführberechtigung für ein neues Tool gewähren

5.5 Mit Masken sicherere Standardberechtigungen setzen

5.6 Spezielle Berechtigungen

5.6.1 Mit SUID temporäre root-Rechte gewähren

5.6.2 Mit SGID die Gruppenberechtigungen des root-Benutzers gewähren

5.6.3 Das veraltete Sticky Bit

5.6.4 Spezielle Berechtigungen, Rechteeskalation und der Hacker

5.7 Zusammenfassung

5.8 Übungen

Kapitel 6Prozessverwaltung

6.1 Prozesse anzeigen

6.1.1 Filtern nach dem Prozessnamen

6.1.2 Mit top die ressourcenhungrigsten Prozesse finden

6.2 Prozesse verwalten

6.2.1 Mit nice die Priorität von Prozessen ändern

6.2.2 Prozesse beenden

6.2.3 Prozesse im Hintergrund ausführen

6.2.4 Einen Prozess in den Vordergrund holen

6.3 Prozesse zeitgesteuert ausführen

6.4 Zusammenfassung

6.5 Übungen

Kapitel 7Benutzerumgebungsvariablen verwalten

7.1 Die Standard-Shell auf bash ändern

7.2 Umgebungsvariablen anzeigen und manipulieren

7.2.1 Alle Umgebungsvariablen anzeigen

7.2.2 Nach bestimmten Variablen filtern

7.2.3 Variablenwerte für eine Sitzung ändern

7.2.4 Variablenänderungen permanent machen

7.3 Ihren Shell-Prompt ändern

7.4 Ihren PATH ändern

7.4.1 Die PATH-Variable erweitern

7.4.2 Wie Sie die PATH-Variable nicht erweitern sollten

7.5 Eine benutzerdefinierte Variable anlegen

7.6 Zusammenfassung

7.7 Übungen

Kapitel 8bash-Skripte schreiben

8.1 Ein Crashkurs in bash

8.2 Ihr erstes Skript: »Hello, Hackers-Arise!«

8.2.1 Ausführberechtigungen setzen

8.2.2 HelloHackersArise ausführen

8.2.3 Mit Variablen und Benutzereingaben Funktionalität hinzufügen

8.3 Ihr erstes Hacker-Skript: Nach offenen Ports scannen

8.3.1 Ihre Aufgabe

8.3.2 Ein einfacher Scanner

8.3.3 Eine verbesserte Variante des MySQL-Scanners

8.4 Gebräuchliche eingebaute bash-Befehle

8.5 Zusammenfassung

8.6 Übungen

Kapitel 9Komprimieren und archivieren

9.1 Was ist Komprimierung?

9.2 Dateien mit tar zusammenfassen

9.3 Dateien komprimieren

9.3.1 Mit gzip komprimieren

9.3.2 Mit bzip2 komprimieren

9.3.3 Mit compress komprimieren

9.4 Bit für Bit kopieren oder physische Kopien von Speichergeräten erstellen

9.5 Zusammenfassung

9.6 Übungen

Kapitel 10Verwaltung von Dateisystem und Speichergeräten

10.1 Das Geräteverzeichnis /dev

10.1.1 Wie Linux Speichergeräte repräsentiert

10.1.2 Laufwerkspartitionen

10.1.3 Zeichen- und Blockgeräte

10.1.4 Block-Geräte und Informationen mit lsblk und lsusb auflisten

10.2 Mounten und unmounten

10.2.1 Speichergeräte manuell mounten

10.2.2 Unmounten mit umount

10.3 Dateisysteme überwachen

10.3.1 Informationen über gemountete Laufwerke erhalten

10.3.2 Auf Fehler überprüfen

10.4 Zusammenfassung

10.5 Übungen

Kapitel 11Das Logging-System

11.1 Das Dienstprogramm journalctl

11.2 Log-Prioritäten und Facilitys

11.3 journalctl-Abfragen

11.4 Mit journalctl Ihre Spuren verwischen

11.5 Das Logging deaktivieren

11.6 Zusammenfassung

11.7 Übungen

Kapitel 12Dienste benutzen und missbrauchen

12.1 Dienste starten, stoppen und neu starten

12.2 Mit dem Apache-Webserver einen HTTP-Server erstellen

12.2.1 Erste Schritte mit Apache

12.2.2 Die Datei index.html bearbeiten

12.2.3 Ein bisschen HTML hinzufügen

12.2.4 Sehen, was passiert

12.3 OpenSSH und der Raspberry-Pi-Spion

12.3.1 Den Raspberry Pi einrichten

12.3.2 Den Raspberry-Pi-Spion bauen

12.3.3 Die Kamera konfigurieren

12.3.4 Beginnen Sie mit dem Spionieren

12.4 Informationen aus MySQL/MariaDB extrahieren

12.4.1 MySQL oder MariaDB starten

12.4.2 Mit SQL interagieren

12.4.3 Ein Passwort festlegen

12.4.4 Auf eine entfernte Datenbank zugreifen

12.4.5 Mit einer Datenbank verbinden

12.4.6 Datenbanktabellen erkunden

12.4.7 Die Daten untersuchen

12.5 Zusammenfassung

12.6 Übungen

Kapitel 13Sicher und anonym werden

13.1 Wie das Internet Sie verrät

13.2 Das Onion-Router-System

13.2.1 Wie Tor funktioniert

13.2.2 Sicherheitsbedenken

13.3 Proxy-Server

13.3.1 Proxys in der Konfigurationsdatei festlegen

13.3.2 Weitere interessante Optionen konfigurieren

13.3.3 Noch ein Wort zur Sicherheit

13.4 Virtuelle private Netzwerke

13.5 Verschlüsselte E-Mail

13.6 Zusammenfassung

13.7 Übungen

Kapitel 14Drahtlose Netzwerke verstehen und untersuchen

14.1 Wi-Fi-Netzwerke

14.1.1 Grundlegende WLAN-Befehle

14.2 Wi-Fi-Aufklärung mit aircrack-ng

14.3 Bluetooth ausfindig machen und damit verbinden

14.3.1 Wie Bluetooth funktioniert

14.3.2 Bluetooth scannen und auskundschaften

14.4 Zusammenfassung

14.5 Übungen

Kapitel 15Den Linux-Kernel und ladbare Kernel-Module verwalten

15.1 Was ist ein Kernel-Modul?

15.2 Die Kernel-Version prüfen

15.3 Kernel-Tuning mit sysctl

15.4 Kernel-Module verwalten

15.4.1 Mit modinfo weitere Informationen finden

15.4.2 Mit modprobe Module hinzufügen und entfernen

15.4.3 Ein Kernel-Modul hinzufügen und entfernen

15.5 Zusammenfassung

15.6 Übungen

Kapitel 16Aufgaben automatisieren mit Job-Scheduling

16.1 Ein Event oder einen Job für die automatische Ausführung planen

16.1.1 Eine Backup-Aufgabe planen

16.1.2 Ihren MySQLscanner mit crontab planen

16.1.3 crontab-Kürzel

16.2 Mit rc-Skripten Jobs beim Systemstart ausführen

16.2.1 Linux-Runlevel

16.2.2 Dienste zu rc.d hinzufügen

16.3 Über eine GUI Dienste zum Boot-Skript hinzufügen

16.4 Zusammenfassung

16.5 Übungen

Kapitel 17Grundlagen des Python-Skriptings für Hacker

17.1 Python-Module hinzufügen

17.2 Der Einstieg in das Skripting mit Python

17.2.1 Variablen

17.2.2 Kommentare

17.2.3 Funktionen

17.3 Listen

17.4 Module

17.5 Objektorientierte Programmierung (OOP)

17.6 Netzwerkkommunikation in Python

17.6.1 Einen TCP-Client erstellen

17.6.2 Einen TCP-Listener erstellen

17.7 Dictionarys, Kontrollanweisungen und Schleifen

17.7.1 Dictionarys

17.7.2 Kontrollstrukturen

17.7.3 Schleifen

17.8 Ihre Hacking-Skripte verbessern

17.9 Ausnahmen und Passwort-Cracker

17.10 Zusammenfassung

17.11 Übungen

Kapitel 18Künstliche Intelligenz für Hacker

18.1 Zusammenarbeit ist entscheidend

18.2 Die wichtigsten Player im Bereich der KI

18.3 KI in der Cybersicherheit einsetzen

18.4 Social-Engineering-Angriffe mit KI

18.5 Mit KI ein bash-Skript schreiben

18.6 Zusammenfassung

18.7 Übungen

Impressum

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen National­bibliografie; detaillierte bibliografische Daten sind im Internet über https://portal.dnb.de/opac.htm abrufbar.

ISBN 978-3-7475-1023-01. Auflage 2026

www.mitp.de

E-Mail: [email protected]: +49 7953 / 7189 - 079Telefax: +49 7953 / 7189 - 082

© 2026 mitp Verlags GmbH & Co. KG, Augustinusstr. 9a, DE 50226 Frechen

Copyright © 2025 by OccupyTheWeb. Title of English-language original: Linux Basics for Hackers, 2nd Edition, ISBN 9781718503540, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States 94103. The German-language 1st edition Copyright © 2026 by mitp Verlags GmbH & Co. KG under license by No Starch Press Inc. All rights reserved

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Dieses E-Book verwendet das EPUB-Format und ist optimiert für die Nutzung mit Apple Books auf dem iPad von Apple. Bei der Verwendung von anderen Readern kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des E-Books das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine E-Books vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die E-Books mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert. Bei Kauf in anderen E-Book-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.

Lektorat: Janina Vervost Sprachkorrektorat: Christine Hoffmeister Covergestaltung: Christian Kalkert Bildnachweis: Josh Ellingsonelectronic publishing: Petra Kleinwegen

Für meine drei wunderbaren Töchter. Ihr bedeutet mir alles.Und für die tapferen Kämpferinnen, Kämpfer und Cyber-Krieger der Ukraine,I die seit drei Jahren mutig einer der größten Armeen der Welt trotzen. IEuer Können und eure Courage sind eine Inspiration für uns alle.

Über den Autor

OccupyTheWeb (OTW) ist das Pseudonym des Gründers und hauptsächlichen Autors der Hacker- und Pentester-Trainingswebsite https://www.hackers-arise.com. Er war College-Professor und ist seit mehr als zwanzig Jahren in der IT-Branche aktiv. Er hat Hacker in den gesamten Vereinigten Staaten von Amerika ausgebildet, darunter auch bei den verschiedenen Institutionen des US-Militärs (Army, Air Force und Navy) sowie den US-Geheimdiensten (CIA, NSA und DNI), und spielte eine entscheidende Rolle beim Widerstand der Hacker-Gemeinschaft gegen die russische Invasion der Ukraine. Darüber hinaus ist er ein begeisterter Mountainbiker und Snowboarder.

Über den technischen Gutachter

Artur Zielinski ist ein Penetrationstester, der sich vor allem auf die offensive Sicherheit konzentriert (Penetrationstests, ethisches Hacking, Red-Teaming, OSINT, ICS/SCADA-Hacking und Biohacking). Zielinski bietet für Schulkinder außerdem Aktivitäten zum Thema Cybersecurity an (ein Tag im Leben eines ethischen Hackers, Cybersecurity-Wettbewerbe und -Escape-Rooms). Und er hat drei fantastische Kinder.

OccupyTheWeb

Linux Basics für Hacker

Einstieg und Hacking-Grundlagen mit Kali Linux: Netzwerke, Scripting und Security

Vorwort

Willkommen zur neuen, aktualisierten 2. Auflage von Linux Basics for Hackers!

Ich möchte ganz zu Beginn all meinen Lesern danken, die die 1. Auflage zu einem solch überwältigenden Erfolg gemacht haben1. Linux Basics for Hackers war nicht nur das am besten verkaufte Linux-Buch auf Amazon.com, sondern auch das am besten verkaufte Betriebssystembuch auf Amazon.com, das alle Windows-10- und -11-Bücher weit hinter sich gelassen hat. Ich bin so dankbar. Ich glaube, die Leute mögen dieses Buch.

Die 1. Auflage von Linux Basics for Hackers wurde 2017 geschrieben und 2018 veröffentlicht. Bei Linux im Allgemeinen und Kali im Besonderen hat sich seither viel verändert. Mit dieser 2. Auflage wollen wir dieses Buch in die Gegenwart (2025) holen und neue Tools und Techniken vorstellen, die den Einsatz von Linux in einer Cybersecurity-Umgebung erleichtern.

Eine der großen Veränderungen, die Sie bemerken werden, ist die Verwendung von sudo vor allen Befehlen, die root-Berechtigung erfordern. In der ersten Auflage haben wir uns am root-Zugang angemeldet und von dort aus weitergearbeitet. Als Angreifer macht man das oft genauso, doch als Lernende sollten Sie es vermeiden, sich als root anzumelden, wenn es nicht absolut notwendig ist. In dieser Ausgabe betrachte ich das als eine Sicherheitsmaßnahme für alle, die Linux mithilfe meines Buchs erlernen, und jedem Befehl, der root-Rechte braucht, wird daher ein sudo vorangestellt.

Gelegentlich ändern sich die Dienstprogramme unter Linux. Dies ist in der Zwischenzeit tatsächlich passiert, als die systemd-Dienstprogramme die SysV-Dienstprogramme ersetzt haben. Diese Programme kontrollieren den System- und Service-Manager unter Linux. Sie beeinflussen die Art und Weise, wie Dienste in Linux gestartet und gestoppt werden. Sie werden zum Beispiel bemerken, dass wir einen Dienst statt mit dem Befehl service (SysV) nun mit dem Befehl ­systemctl (systemd) starten. Beide funktionieren, aber Linux nutzt nun massiv den zweitgenannten dieser Befehle. Der erstgenannte wird wahrscheinlich in absehbarer Zukunft als überholt (deprecated) gelten und nicht weiter gepflegt werden, sodass Sie gut daran tun, sich an den neuen Stil zu gewöhnen.

Kali Linux nutzt als Standard-Shell jetzt die Z-Shell (zsh). Falls Sie gerade erst in Linux einsteigen, sollten Sie bei der bash-Shell (Bourne-again-Shell) bleiben, da nahezu jedes andere Linux-System die bash nutzt und nicht die Z-Shell. Zum Glück haben uns die Kali-Entwickler eine einfache Möglichkeit gegeben, in ihrer GUI-Anwendung kali-tweaks zur bash zurückzuwechseln.

Wir haben außerdem die Abschnitte zu Bluetooth und zu den Linux-Protokollierungsfunktionen aktualisiert, da sich beides in den vergangenen Jahren beträchtlich verändert hat.

Kapitel 18 schließlich diskutiert die Zukunft der künstlichen Intelligenz in unserer Branche. Künstliche Intelligenz wird Sie nicht überflüssig, sondern besser machen. Öffnen Sie sich dieser Möglichkeit. Diejenigen, die es ablehnen, etwas dazuzulernen, werden bald überflüssig sein. Alle anderen dagegen könnten künftig an der Spitze voranschreiten.

Ich hoffe, dass Ihnen dieses Buch noch besser gefällt als die 1. Auflage.

1 Anm. zur Übersetzung: Die 1. Auflage dieses Buchs ist nicht in deutscher Sprache erschienen. Der Autor bezieht sich hier auf die englischsprachige Originalausgabe.

Danksagung

Dieses Buch wäre ohne die Hilfe verschiedener wichtiger Personen nicht zustande gekommen.

Zunächst einmal möchte ich Bill Pollock, dem Herausgeber von No Starch Press, dafür danken, dass er an dieses Buch geglaubt und es unterstützt hat.

Anschließend möchte ich den gewissenhaften Anstrengungen meines Fachgutachters Artur Zielinski meine Anerkennung aussprechen. Er hat dafür gesorgt, dass der technische Inhalt des Buchs korrekt ist. Alle verbliebenen Fehler und Auslassungen gehen voll und ganz auf meine Kappe.

Und schließlich danke ich all den engagierten Mitarbeitenden bei No Starch Press für ihre ausgezeichnete Arbeit beim Produzieren und Vermarkten dieses Buchs. Dankeschön!

Einführung

Hacking ist die wichtigste Fertigkeit des 21. Jahrhunderts! Ich sage das nicht so leichthin. Die Schlagzeilen, die uns seit einigen Jahren jeden Morgen erwarten, bestätigen es. Nationen spähen einander aus, Cyberkriminelle stehlen Milliarden Dollar, digitale Würmer erpressen Lösegelder von ihren Opfern, politische Gegner beeinflussen Wahlen und Kriegsparteien schalten die Kampfmittel ihrer Feinde aus. Betrachten Sie nur einmal den Cyberkrieg zwischen der Ukraine und Russland als Beispiel. Diese Ereignisse sind alle das Werk von Hackern und man beginnt jetzt erst, ihre Macht in unserer zunehmend digitalen Welt zu verstehen.

Ich beschloss, das Buch zu schreiben, nachdem ich mit Zehntausenden angehenden Hackern bei Null-Byte, Hackers Arise (https://www.hackers-arise.com) und in nahezu jedem Zweig von US-Militär, Nachrichtendiensten und Ermittlungsbehörden gearbeitet habe (einschließlich NSA, DIA, CIA und FBI). Diese Erfahrungen haben mich gelehrt, dass viele aufstrebende Hacker kaum oder gar keine Erfahrungen mit Linux haben. Dieser Mangel an Erfahrung ist die größte Hürde, die ihrem Weg zum Profi im Weg steht. Die meisten der besten Hacker-Tools laufen unter Linux, sodass Sie zumindest grundlegende Linux-Kenntnisse benötigen, wenn Sie professioneller Hacker werden wollen. Ich habe dieses Buch geschrieben, um Ihnen über diese Hürde zu helfen.

Hacking ist im IT-Bereich ein Eliteberuf. Entsprechend erfordert es ein umfassendes und detailliertes Verständnis von IT-Konzepten und -Technologien. Linux ist das grundlegende Fundament. Ich empfehle Ihnen dringend, die Zeit und Energie aufzuwenden, um es zu verstehen, wenn Sie Hacking und Informationssicherheit tatsächlich als Karriereweg wählen möchten.

Dieses Buch richtet sich nicht an erfahrene Hackerinnen oder Linux-Admins. Stattdessen ist es für all jene gedacht, die noch am Anfang des aufregenden Wegs von Hacking, Cybersecurity und Pentesting stehen. Es soll auch keine vollständige Abhandlung über Linux oder Hacking sein, sondern will lediglich als Startpunkt in diese Welten dienen. Es beginnt mit den wesentlichen Linux-Elementen und einigen Skripting-Grundlagen in bash und Python. Wo immer es angemessen erscheint, nutze ich Hacking-Beispiele, um die Linux-Prinzipien zu verdeutlichen.

In dieser Einführung erhalten Sie einen Einblick in die Entwicklung des ethischen Hackings für die Cybersecurity und ich zeige Ihnen die Vorgehensweise für das Aufsetzen einer virtuellen Maschine, damit Sie auf Ihrem System Kali Linux installieren können, ohne das Betriebssystem zu stören, das Sie bereits benutzen.

Was Sie in diesem Buch erwartet

In den ersten Kapiteln machen Sie sich mit den Grundlagen von Linux vertraut. Kapitel 1 stellt Ihnen das Dateisystem und das Terminal vor und zeigt Ihnen einige grundlegende Befehle. In Kapitel 2 erfahren Sie, wie Sie Text manipulieren, um Software und Dateien zu finden, zu untersuchen und zu verändern.

In Kapitel 3 befassen Sie sich mit Netzwerken. Sie werden nach Netzwerken scannen, Informationen über Verbindungen finden und sich selbst tarnen, indem Sie Ihre Netzwerk- und DNS-Informationen verschleiern.

Kapitel 4 lehrt Sie, Software zu installieren, zu entfernen und zu aktualisieren. ­Außerdem erfahren Sie, wie Sie Ihr System auf dem neuesten Stand halten.

In Kapitel 5 manipulieren Sie Datei- und Verzeichnisberechtigungen, um zu kontrollieren, wer worauf zugreifen darf. Sie lernen außerdem einige Eskalationstechniken für Berechtigungen kennen.

In Kapitel 6 erfahren Sie, wie Sie Dienste verwalten. Dazu gehört das Starten und Stoppen von Prozessen und das Zuweisen von Ressourcen, um Ihnen eine größere Kontrolle zu gewähren. In Kapitel 7 arbeiten Sie mit Umgebungsvariablen für eine optimale Leistung, zur größeren Bequemlichkeit und sogar zur Tarnung. Sie werden Variablen suchen und filtern, Ihre PATH-Variable ändern und neue Umgebungsvariablen erzeugen.

Kapitel 8 führt Sie in das bash-Skripting ein, quasi ein Muss für jeden ernsthaften Hacker. Sie lernen die Grundlagen der bash kennen und schreiben ein Skript zum Scannen nach Ziel-Ports, die Sie später vielleicht infiltrieren werden.

Kapitel 9 und 10 vermitteln Ihnen einige grundlegende Kenntnisse für die Dateiverwaltung. Sie erfahren hier, wie Sie Dateien komprimieren und archivieren, um Ihr System sauber zu halten, wie Sie ganze Speichergeräte kopieren und Informationen zu Dateien und verbundenen Festplatten erhalten.

In den später folgenden Kapiteln steigen Sie tiefer in die Hacking-Themen ein. In Kapitel 11 benutzen und manipulieren Sie das Protokollierungs- bzw. das Loggingsystem, um an Informationen zu den Aktivitäten Ihres Ziels zu gelangen und Ihre eigenen Spuren zu verwischen. Kapitel 12 zeigt Ihnen, wie Sie drei wichtige Linux-Dienste benutzen und missbrauchen: den Apache-Webserver, OpenSSH und MySQL. Sie werden einen Webserver anlegen, einen Remote-Kamera-Spion bauen und Datenbanken und deren Schwachstellen kennenlernen. In Kapitel 13 lernen Sie, wie Sie mit Proxy-Servern, dem Tor-Netzwerk, virtuellen privaten Netzwerken und verschlüsselten E-Mails sicher und anonym bleiben.

In Kapitel 14 geht es um drahtlose Netzwerke. Sie lernen die grundlegenden Netzwerkbefehle kennen, knacken dann Wi-Fi-Access-Points, machen Bluetooth-Signale ausfindig und verbinden sich mit Bluetooth-Geräten.

Kapitel 15 taucht dann tiefer in Linux selbst ein. Es gibt einen Überblick darüber, wie der Kernel funktioniert und wie man seine Treiber missbrauchen kann, sodass sie bösartige Software ausliefern. In Kapitel 16 erwerben Sie wichtige Fähigkeiten, um Ihre Hacking-Skripte zu automatisieren. Kapitel 17 lehrt Sie grundlegende Python-Konzepte und Sie entwickeln zwei Hacking-Tools: einen Scanner zum Ausspähen von TCP/IP-Verbindungen und einen einfachen Passwort-Cracker. Kapitel 18 untersucht die Schnittstelle von Hacking und künstlicher Intelligenz, stellt einige grundlegende Konzepte vor und demonstriert, wie die KI Sie bei der Cybersecurity unterstützen kann.

Was ist ethisches Hacking?

Mit der Vergrößerung des Felds der Informationssicherheit in den letzten Jahren ging ein dramatisches Wachstum im Bereich des ethischen Hackings einher, das auch als White-Hat-Hacking bezeichnet wird (in alten Western waren die mit den weißen Hüten immer die Guten). Ethisches Hacking ist die Praxis des Infiltrierens und Ausspähen eines Systems, um dessen Schwächen zu ermitteln und es besser abzusichern. Ich unterteile das Feld des ethischen Hackings in zwei Hauptkomponenten: das Durchführen von Penetrationstests für ein rechtmäßiges Informationssicherheitsunternehmen und Tätigkeiten für die militärischen oder zivilen Nachrichtendienste Ihres Lands. Beides sind rasant wachsende Bereiche und die Nachfrage ist riesig.

Penetrationstests

Da das Sicherheitsbewusstsein von Unternehmen immer weiter zunimmt und die Kosten für Sicherheitsvorfälle exponentiell ansteigen, sind viele große Organisationen dazu übergegangen, die Sicherheitsdienste an externe Vertragspartner auszulagern. Zu den wichtigsten Sicherheitsdiensten zählt das Penetration Testing (auch: Pen Testing oder Pentesting). Ein Penetrationstest ist im Prinzip ein legal beauftragter Hack, der die Schwächen des Netzwerks und der Systeme eines Unternehmens aufdecken soll.

Im Allgemeinen führen Organisationen zuerst eine Schwachstellenanalyse durch, um potenzielle Schwächen in ihren Netzwerken, Betriebssystemen und Diensten zu finden. Ich schreibe extra »potenziell«, da dieser Schwachstellenscan eine beträchtliche Anzahl von falsch-positiven Ergebnissen enthält (Dinge, die als Schwachstellen identifiziert werden, obwohl sie es nicht sind). Aufgabe eines Penetrationstesters ist der Versuch, diese Schwachstellen zu hacken bzw. zu »pene­trieren«. Nur so kann die Organisation feststellen, ob die Schwachstelle real ist, und beschließen, Geld und Zeit aufzuwenden, um sie zu schließen.

Militär und Spionage

Nahezu jede Nation auf der Erde betreibt heute Cyberspionage und Cyberkriegsführung. Der Cyberkrieg in der Ukraine hat uns diese Art der Kriegsführung noch einmal deutlich ins Bewusstsein gerufen, als Hacker aus der ganzen Welt begonnen haben, den Kampf der Ukraine zu unterstützen. (Eine entscheidende Rolle in diesem Cyberkrieg spielen die Hacker von https://www.hackers-arise.com.) In weniger hitzigen Zeiten muss man einfach nur einen Blick auf die Schlagzeilen werfen, um zu sehen, dass Regierungen Cyberaktivitäten nutzen, um militärische und industrielle Systeme auszuspionieren und sogar anzugreifen.

Im Laufe der Zeit werden die Auswirkungen des Hackens in diesen militärischen und nachrichtendienstlichen Aktivitäten immer mehr an Bedeutung gewinnen. Stellen Sie sich einen Krieg der Zukunft vor, in dem Hacker Zugriff auf die Kriegspläne der Gegner gewinnen und deren Stromnetz, Ölraffinerien und Wasserversorgungssysteme ausschalten können. In einer solchen Welt sind Hacker eine ­wesentliche Komponente der Verteidigung eines Lands.

Wieso Hacker Linux nutzen

Warum nun ziehen Hacker Linux anderen Betriebssystemen vor? Zum größten Teil liegt dies daran, dass Linux ein viel höheres Maß an Kontrolle über einige unterschiedliche Aspekte bietet.

Linux ist Open Source

Im Gegensatz zu Windows ist Linux Open Source, was bedeutet, dass der Quellcode des Betriebssystems frei verfügbar ist. Entsprechend könnten Sie ihn nach Belieben verändern und manipulieren. Falls Sie versuchen, ein System auf eine Weise zu verwenden, die nicht vorgesehen war, ist es wichtig, den Quellcode verändern zu können.

Linux ist transparent

Um effektiv zu hacken, müssen Sie Ihr eigenes Betriebssystem kennen und verstehen und zu einem großen Teil auch das Betriebssystem, das Sie angreifen. Linux ist vollkommen transparent, das heißt, man kann all seine Bestandteile sehen und manipulieren.

Anders ist es bei Windows. Microsoft setzt alles daran, es Ihnen so schwer wie möglich zu machen, die inneren Abläufe seiner Betriebssysteme kennenzulernen. Man weiß nie so ganz genau, was »unter der Motorhaube« vor sich geht, während bei Linux ein Scheinwerfer direkt auf jede einzelne Komponente des Betriebssystems strahlt. Dadurch ist das Arbeiten mit Linux deutlich effektiver.

Linux bietet eine granulare Kontrolle

Linux ist granular. Das bedeutet, dass Sie ein nahezu unendliches Maß an Kontrolle über das System haben. Unter Windows können Sie nur das kontrollieren, was Microsoft Ihnen zugesteht. Unter Linux kann praktisch alles über das Terminal kontrolliert werden, und zwar von der obersten Systemebene bis ins kleinste Detail. Darüber hinaus ist das Verfassen und Ausführen von Skripten unter Linux in beliebigen Skriptsprachen einfach und effektiv.

Die meisten Hacking-Tools sind für Linux geschrieben

Deutlich mehr als 90 % aller Hacking-Tools sind für Linux geschrieben. Es gibt natürlich Ausnahmen, wie Cain & Abel und Wikto, aber diese bestätigen die Regel. Selbst wenn Hacking-Tools wie Metasploit oder nmap für Windows portiert werden, bieten sie nicht alle Möglichkeiten, die Ihnen unter Linux zur Verfügung stehen.

Die Zukunft gehört Linux/Unix

Das klingt jetzt vermutlich ziemlich drastisch, aber ich glaube fest daran, dass die Zukunft der Informationstechnologie Linux- und Unix-Systemen gehört. Microsoft hatte seine große Zeit in den 1980er- und 1990er-Jahren, aber sein Wachstum hat sich verlangsamt.

Seit das Internet seinen Siegeszug begonnen hat, war Linux/Unix aufgrund seiner Stabilität, Zuverlässigkeit und Robustheit das Betriebssystem der Wahl für Webserver. Auch heute noch wird Linux/Unix bei zwei Dritteln aller Webserver eingesetzt und dominiert den Markt. Eingebettete Systeme in Routern, Switches und anderen Geräten verwenden fast immer einen Linux-Kernel und die Welt der Virtualisierung ist von Linux dominiert – sowohl VMware als auch Citrix setzen auf dem Linux-Kernel auf.

Mehr als 80 % der Mobilgeräte laufen mit Unix oder Linux (iOS ist Unix und Android ist Linux). Wenn Sie also glauben, dass die Zukunft des Computings bei Mobilgeräten wie Tablets und Smartphones liegt (und das lässt sich nur schwer abstreiten), dann ist Linux/Unix die Zukunft. Microsoft Windows besetzt nur 7 % des Mobilgerätemarkts. Ist das wirklich der Zug, auf den Sie aufspringen wollen?

Kali Linux herunterladen

Bevor Sie loslegen können, müssen Sie Kali Linux herunterladen und auf Ihrem Computer installieren. Dies ist die Linux-Distribution, mit der Sie in diesem Buch arbeiten werden. Linux wurde 1991 von Linus Torvalds als Open-Source-Alternative zu Unix entwickelt. Da es Open Source ist, programmieren freiwillige Entwickler den Kernel, die Dienstprogramme und die Anwendungen. Es gibt also keine übergeordnete Unternehmensleitung, die diese Entwicklungsarbeiten beaufsichtigt und entsprechend kann es passieren, dass Konventionen und Standardisierungen ein wenig lax gehandhabt werden.

Kali Linux wurde von Offensive Security als Hacking-Betriebssystem entwickelt und baut auf einer Linux-Distribution namens Debian auf. Es gibt viele Linux-Distributionen und Debian gehört zu den besten. Vermutlich sind Sie mit Ubuntu, einer beliebten Desktop-Distribution von Linux, vertraut. Andere Distributionen sind Red Hat, CentOS, Mint, Arch und SUSE. Obwohl alle den gleichen Linux-Kernel (das Herzstück des Betriebssystems, das die CPU, den RAM usw. kontrolliert) verwenden, bringt jede Distribution ihre eigenen Dienstprogramme, Anwendungen und grafischen Schnittstellen (GNOME, KDE und andere) für unterschiedliche Zwecke mit. Dadurch sieht jede dieser Linux-Distributionen ein bisschen anders aus und fühlt sich auch ein bisschen anders an. Kali wurde für Penetrationstester und Hacker entwickelt und enthält eine entsprechende Auswahl an Hacking-Tools.

Ich empfehle Ihnen dringend, Kali für dieses Buch zu verwenden. Sie können zwar auch eine andere Distribution einsetzen, müssen dann aber die verschiedenen Tools manuell herunterladen und installieren, die hier vorgestellt und benutzt werden, was eine Menge Zeit und Aufwand für Sie bedeuten würde. Sollte Ihre Distribution darüber hinaus nicht auf Debian basieren, könnte es andere kleinere Unterschiede geben. Sie können Kali von https://www.kali.org herunterladen und installieren.

Hinweis

Falls Sie Kali lieber über Windows Subsystem for Linux (WSL) auf einem Computer installieren wollen, auf dem Windows läuft, gehen Sie weiter zum Abschnitt »Kali über das Windows Subsystem for Linux« am Ende des Kapitels.

Klicken Sie auf der Homepage auf den Download-Link ziemlich genau in der Mitte oder auf Get Kali oben auf der Seite. Sie gelangen auf eine Seite mit verschiedenen Auswahlmöglichkeiten. Es ist nun wichtig, den richtigen Download zu wählen. Wenn Sie ein Installer-Image herunterladen wollen, müssen Sie entscheiden, welche Version Sie haben wollen. Das hängt von der Art Ihres Prozessors ab.

Um festzustellen, welcher CPU-Typ auf Ihrem System zum Einsatz kommt, werfen Sie einen Blick in die Systemsteuerung bzw. die Systemeinstellungen. Bei einem einigermaßen aktuellen Rechner ist dies eine 64-Bit-CPU. Laden Sie also die passende Kali-Variante herunter und installieren Sie diese. Falls Sie einen älteren Computer haben, der noch eine 32-Bit-CPU benutzt, klicken Sie zuerst auf Installation Documentation und dann auf Installing old i386 images. Dort erfahren Sie, dass Kali seit Oktober 2024 nicht mehr für 32-Bit-Systeme entwickelt wird. Es gibt aber noch (Stand: Sommer 2025) alte Images, die Sie herunterladen können. Näheres finden Sie im unteren Teil der Seite.

Zurück auf der Download-Seite der aktuellen Kali-Versionen haben Sie die Möglichkeit, den Download über HTTP oder über Torrent auszuführen. Mit HTTP wird Kali genau wie andere Downloads direkt auf Ihr System heruntergeladen und im Ordner Downloads abgelegt. Der Torrent-Download ist der Peer-to-Peer-Download, den auch viele Datei-Sharing-Sites verwenden. Sie benötigen eine passende Anwendung wie etwa BitTorrent, um diese Option zu nutzen. Die Kali-Datei wird dann in den Ordner heruntergeladen, den die Torrenting-Anwendung für ihre Downloads verwendet.

Es gibt natürlich auch Versionen für andere CPU-Typen wie etwa die ARM-Architektur, die in vielen Mobilgeräten zu finden ist. Sollten Sie einen Raspberry Pi, ein Tablet oder ein anderes Mobilgerät verwenden, scrollen Sie nach unten und wählen Sie die passende Option. Android-Benutzer werden eher auf Kali NetHunter setzen.

Sie sollten Kali nun heruntergeladen haben. Bevor Sie nun jedoch irgendetwas installieren, möchte ich Ihnen virtuelle Maschinen vorstellen. Im Allgemeinen ist es für Einsteiger zum Lernen und Üben am besten, ein virtuelles Kali-Image herunterzuladen und in einer virtuellen Maschine wie VirtualBox oder VMware Workstation auszuführen.

Virtuelle Maschinen

Die Technologie der virtuellen Maschinen (VM) erlaubt es Ihnen, mehrere Betriebssysteme auf einer einzigen Hardware zu betreiben, also etwa Ihrem Laptop- oder Desktop-Computer. Sie können weiterhin das Ihnen vertraute Windows- oder macOS-System benutzen und innerhalb dieses Betriebssystems dann eine VM von Kali Linux ausführen. Sie müssen also Ihr vorhandenes Betriebssystem nicht überschreiben, um Linux zu lernen.

Es gibt zahlreiche VM-Anwendungen von VMware, Oracle, Microsoft und anderen Anbietern. Alle sind ausgezeichnet. Ich will Ihnen hier zeigen, wie Sie das kostenlose VirtualBox von Oracle herunterladen und installieren.

VirtualBox installieren

Sie können VirtualBox von https://www.virtualbox.org herunterladen. Klicken Sie auf den Download-Link oben auf der Seite und wählen Sie das VirtualBox-Paket für Ihr aktuystem, das die neue Heimatder Host für Ihre VirtualBox-VM werden soll. Achten Sie darauf, die neueste Version herunterzuladen. Wenn der Download abgeschlossen ist, klicken Sie auf die Setup-Datei. Sie werden vom üblichen Setup-Wizard begrüßt. Klicken Sie auf Next, sodass sich der Custom Setup-Dialog öffnet (Abbildung E.1).

Abb. E.1: Der Custom Setup-Dialog

Hinweis

Diese Anweisungen wurden zur Verwendung unter Windows geschrieben. Falls Sie einen Mac benutzen, könnte das Vorgehen etwas anders aussehen, sollte aber ebenfalls zu bewältigen sein.

Klicken Sie in diesem Dialog einfach auf Next. Klicken Sie so lange auf Next, bis Sie zu einer Netzwerkschnittstellen-Warnung gelangen. Dort klicken Sie auf Yes.

Klicken Sie auf Install, um die Installation zu starten. Sie werden währenddessen vermutlich mehrmals aufgefordert, Gerätesoftware zu installieren. Hierbei handelt es sich um die virtuellen Netzwerkgeräte, die für die Kommunikation Ihrer VMs erforderlich sind. Klicken Sie jeweils auf Install.

Wenn die Installation abgeschlossen ist, klicken Sie auf Finish.

Ihre virtuelle Maschine einrichten

Richten Sie nun Ihre VM ein. VirtualBox startet, sobald Sie es installiert haben (ist das nicht der Fall, öffnen Sie es manuell), und begrüßt Sie mit dem VirtualBox-Manager (Abbildung E.2).

Abb. E.2: Der VirtualBox Manager

Da Sie eine neue VM mit Kali Linux anlegen wollen, klicken Sie oben auf New. Dies öffnet den Create Virtual Machine-Dialog.

Geben Sie Ihrer VM einen Namen (es ist eigentlich egal, wie dieser lautet; ich habe einfach kali genommen) und wählen Sie dann Linux aus dem Type-Drop-down-Menü. Wählen Sie schließlich Debian (64-bit) aus dem dritten Drop-down-Menü (falls Sie wider Erwarten die 32-Bit-Version von Kali benutzen, wählen Sie entsprechend die Debian-32-Bit-Version aus). Klicken Sie auf Next und Sie sehen einen Dialog, in dem Sie angeben können, wie viel RAM Sie dieser neuen VM zuweisen wollen.

Als Faustregel empfehle ich Ihnen, nicht mehr als 25 % des gesamten System-RAM zu benutzen. Falls Sie also 4 GB auf Ihrem physischen oder Host-System installiert haben, wählen Sie einfach 1 GB für Ihre VM. Haben Sie 16 GB auf ­Ihrem physischen System, dann wählen Sie 4 GB (oder 4096 MB). Je mehr RAM Sie Ihrer VM geben, umso besser und schneller läuft sie. Sie müssen aber auch ausreichend RAM für Ihr Host-Betriebssystem sowie andere VMs lassen, die Sie vielleicht gleichzeitig ausführen wollen. Ihre VMs nutzen keinen RAM, wenn sie inaktiv sind, aber natürlich brauchen sie Platz auf der Festplatte.

Klicken Sie Next, um zum Hard Disk-Dialog zu gelangen. Wählen Sie Create Virtual Hard Disk und klicken Sie auf Create. Sie werden gefragt, welchen Dateityp Ihre Festplatte haben soll. Nehmen Sie die vorgeschlagene Variante VDI.

Im nächsten Dialog können Sie entscheiden, ob die Festplatte, die Sie erzeugen, dynamisch zugewiesen werden oder eine feste Größe haben soll. Falls Sie sich für Dynamically Allocated entscheiden, nimmt das System nur dann die gesamte Maximalgröße in Beschlag, die Sie für die virtuelle Festplatte reservieren, wenn Sie sie wirklich benötigen, sodass ungenutzter Festplattenplatz für Ihr Host-System zur Verfügung steht. Ich empfehle Ihnen, diese dynamische Zuweisung zu wählen.

Klicken Sie auf Next und wählen Sie dann, wie viel Festplattenplatz Sie der VM zuweisen wollen und wo sich die VM befinden soll (Abbildung E.3).

Abb. E.3: Zuweisen des Festplattenplatzes

Vorgegeben ist ein Wert von 8 GB. Ich finde das eigentlich ein bisschen wenig und empfehle Ihnen, wenigstens 20 GB bis 25 GB Plattenplatz zu reservieren. Denken Sie daran, wenn Sie den Festplattenplatz dynamisch zuweisen, dann wird er nur belegt, wenn das wirklich erforderlich ist. Es kann schwierig sein, die Festplatte zu erweitern, nachdem sie einmal zugewiesen wurde, weshalb es sinnvoll ist, gleich zu Beginn mehr Platz für sie bereitzustellen.

Nachdem Sie nun auf Create geklickt haben, sind Sie bereit!

Kali auf der VM installieren

An dieser Stelle sollten Sie einen Dialog sehen, der dem in Abbildung E.4 ähnelt. Sie müssen nun Kali installieren. Auf der linken Seite des VirtualBox-Managers müsste ein Hinweis darauf zu erkennen sein, dass Kali VM ausgeschaltet ist. Klicken Sie auf den Start-Button (das grüne Pfeil-Icon).

Abb. E.4: Der Willkommensbildschirm der VirtualBox

Der VirtualBox-Manager fragt Sie nun, wo die Startfestplatte zu finden ist. Sie haben bereits ein Festplatten-Image mit der Erweiterung .iso heruntergeladen. Es sollte in Ihrem Download-Ordner liegen (falls Sie allerdings Torrent zum Herunterladen von Kali verwendet haben, befindet sich die .iso-Datei im Download-Ordner Ihrer Torrenting-Anwendung). Klicken Sie auf das Ordner-Icon auf der rechten Seite, navigieren Sie zum Download-Ordner und wählen Sie die Kali-Image-Datei aus (Abbildung E.5).

Abb. E.5: Auswahl der Startfestplatte

Klicken Sie nun auf Start. Herzlichen Glückwunsch, Sie haben Kali jetzt auf einer virtuellen Maschine installiert!

Kali einrichten

Kali öffnet nun einen Dialog wie in Abbildung E.6, wo Sie verschiedene Start­optionen einstellen können. Ich schlage vor, dass Sie als Anfängerin oder Anfänger die grafische Installation wählen. Sie können mithilfe der Tastatur durch das Menü navigieren.

Falls Sie bei der Installation von Kali in Ihrer VirtualBox eine Fehlermeldung erhalten, kann das daran liegen, dass Sie im BIOS Ihres Systems die Virtualisierung nicht aktiviert haben. Jedes System und sein BIOS sind ein bisschen anders, sodass Sie sich bei Ihrem Hersteller informieren oder online nach Lösungen für Ihr System und BIOS suchen sollten. Darüber hinaus müssen Sie auf Windows-Systemen wahrscheinlich alle konkurrierenden Virtualisierungsprogramme wie etwa Hyper-V deaktivieren. Auch hier sollte eine Internetsuche nach Ihrem System passende Hinweise liefern.

Abb. E.6: Auswahl der Installationsmethode

Als Nächstes werden Sie gebeten, Ihre Sprache auszuwählen. Nehmen Sie die Sprache, mit der Sie am besten arbeiten können, und klicken Sie dann auf Con­tinue. Anschließend wählen Sie Ihren Ort, klicken auf Continue und legen dann Ihr Tastaturlayout fest.

Wenn Sie auf Continue klicken, durchläuft VirtualBox einen Prozess, bei dem Ihre Hardware und die Netzwerkanschlüsse analysiert werden. Warten Sie dies einfach geduldig ab. Schließlich werden Sie von einem Dialog wie in Abbildung E.7 begrüßt, in dem man Sie auffordert, Ihr Netzwerk zu konfigurieren.

Abb. E.7: Einen Hostnamen eingeben

Zuerst werden Sie nach dem Namen Ihres Hosts gefragt. Sie können ihn ganz beliebig benennen. Ich selbst bin beim vorgegebenen Namen kali geblieben.

Anschließend werden Sie nach dem Domainnamen gefragt. Es ist nicht erforderlich, hier etwas einzugeben. Klicken Sie auf Continue. Der nächste Dialog, den Sie auch in Abbildung E.8 sehen, ist sehr wichtig. Seit Kali 2020 stellt Kali Ihnen einen Benutzernamen und ein Passwort bereit, die beide auf kali voreingestellt sind.

Abb. E.8: Ein Passwort einstellen

Unter Linux ist der root-Benutzer der allmächtige Systemadministrator. In diesem Fall sind Sie ein normaler Benutzer namens kali. Sie können ein beliebiges Passwort einstellen, das Sie für sicher halten. Wäre dies ein physisches System im Internet, dann würde ich Ihnen empfehlen, ein sehr langes und komplexes Passwort zu benutzen, um die Wahrscheinlichkeit zu verringern, dass ein Angreifer es einfach knacken kann. Da dies aber eine VM ist, auf die man erst zugreifen kann, nachdem Ihr Host-Betriebssystem übunden wurdehat, ist die Passwort-Authentifizierung nicht ganz so wichtig. Wählen Sie dennoch weise!

Klicken Sie auf Continue. Sie werden nun aufgefordert, Ihre Zeitzone einzustellen. Machen Sie dies und fahren Sie dann fort.

Im nächsten Dialog werden Sie nach Festplattenpartitionen gefragt (eine Partition ist ein Teil bzw. Segment Ihrer Festplatte). Wählen Sie Guided – use entire disk. Kali sucht daraufhin Ihre Festplatten und richtet automatisch einen Partitionierer ein.

Kali warnt Sie nun, dass alle Daten auf der Festplatte, die Sie gewählt haben, gelöscht werden …, aber keine Sorge! Dies ist eine virtuelle Festplatte und die Platte ist neu und leer, sodass tatsächlich gar nichts passiert. Klicken Sie auf Continue.

Kali fragt Sie nun, ob Sie alle Dateien in eine Partition legen wollen oder ob Sie lieber separate Partitionen haben möchten. Wäre dies ein Produktionssystem, würden Sie vermutlich getrennte Partitionen für /home, /var und /tmp wählen. Da Sie dies jedoch als Lernsystem in einer virtuellen Umgebung benutzen werden, ist es sicher für Sie, einfach All files in one partition zu wählen.

Nun werden Sie gefragt, ob Sie Ihre Änderungen auf die Festplatte schreiben wollen. Wählen Sie Finish partitioning and write changes to disk. Kali fragt noch einmal nach, ob Sie die Änderungen wirklich auf der Festplatte speichern möchten. Wählen Sie Yes und klicken Sie auf Continue (Abbildung E.9).

Abb. E.2: Der VirtualBox Manager

Kali beginnt nun, das Betriebssystem zu installieren. Das kann eine Weile dauern, seien Sie also geduldig. Holen Sie sich einen Tee oder Kaffee und lesen Sie ein bisschen.

Nachdem die Installation abgeschlossen ist, werden Sie gefragt, ob Sie einen Netzwerk-Mirror benutzen wollen. Das ist nicht notwendig, weshalb Sie hier auf No klicken.

Anschließend fragt Kali Sie, ob Sie den Grand Unified Bootloader (GRUB) installieren wollen, den Sie in Abbildung 10 sehen. Ein Bootloader erlaubt es Ihnen, zwischen unterschiedlichen Betriebssystemen zum Booten zu wählen. Das heißt, wenn Sie Ihre VM booten, können Sie entweder Kali oder ein anderes Betriebssystem booten. Wählen Sie Yes und klicken Sie auf Continue.

Abb. E.10: GRUB installieren

Im nächsten Dialog werden Sie gefragt, ob Sie den GRUB-Bootloader automatisch oder manuell installieren wollen. Aus Gründen, die immer noch nicht ganz klar sind, neigt Kali bei Wahl der zweiten Option dazu, nach der Installation abzustürzen und einen leeren Bildschirm anzuzeigen. Wählen Sie Enter device manually.

Geben Sie im nächsten Dialog an, wo der GRUB-Bootloader installiert werden soll (vermutlich wird es so etwas sein wie /dev/sda). Klicken Sie sich zum nächsten Dialogfenster durch, das Ihnen mitteilen sollte, dass die Installation abgeschlossen ist.

Herzlichen Glückwunsch! Sie haben Kali installiert. Klicken Sie auf Continue. Kali versucht nun einen Neustart und Sie werden eine Reihe von Codezeilen ­sehen, die über einen leeren Bildschirm laufen, bevor Sie schließlich von Kalis Login-Bildschirm begrüßt werden, den Sie auch in Abbildung E.11 sehen.

Abb. E.11: Der Kali-Login-Bildschirm

Melden Sie sich mit dem Benutzernamen kali und dem Passwort kali bzw. mit dem von Ihnen vorher festgelegten Passwort an. Sie sollten nun auf den Kali-Desktop gelangen (Abbildung E.12).

Abb. E.12: Der Kali-Home-Bildschirm

Sie sind nun bereit, Ihre Reise in die aufregende Welt des Hacking zu beginnen! Herzlich willkommen!

Kali über das Windows Subsystem for Linux installieren

Für alle, die eine weniger zudringliche Methode suchen, um Linux auszuführen, bietet Microsoft das Windows Subsystem for Linux (WSL). Damit können Sie das Betriebssystem Linux kennenlernen, ohne den Aufwand mit einer VM zu betreiben. Nachteilig ist in diesem Fall, dass viele Netzwerk- und damit Hacking-Möglichkeiten nicht zugänglich sind. Das heißt, Sie können mit diesem Subsystem zwar Linux kennenlernen, aber nicht das Hacken. Dennoch zeige ich Ihnen hier, wie Sie dieses WSL auf Ihrem Windows-Betriebssystem installieren.

Der erste Schritt besteht darin, WSL zu aktivieren. Öffnen Sie die PowerShell, indem Sie an der Eingabeaufforderung powershell aufrufen oder im Anwendungsmenü PowerShell eingeben. Tippen Sie dann am PowerShell-Prompt Folgendes ein:

PS>Enable_windowsOptionalFeature -Online –FeatureName Microsoft-Subsystem-Linux Do you want to restart the computer to complete this operation now?[Y] Yes [N] No [?] Help (default is Y):

Wie Sie sehen können, fragt PowerShell Sie dann, ob Sie Ihr System neu starten wollen, um WSL einzuschalten. Drücken Sie Enter.

Nachdem Sie diese Funktion aktiviert und das System neu gestartet haben, müssen Sie Kali installieren. Begeben Sie sich in den Microsoft Store (https://apps.microsoft.com/). Dort sollten Sie Icons für viele wichtige Linux-Distributionen sehen. Klicken Sie auf Kali Linux und dann auf Laden.

Kali wird heruntergeladen. Dies ist eine Kali-Version, die auf die wesentlichen Elemente beschränkt ist, sodass der Download vergleichsweise schnell erfolgen sollte. Wenn er beendet ist, werden Sie nach einem Benutzernamen und einem Passwort gefragt.

Die Minimalversion, die Sie gerade installiert haben, enthält kaum bzw. keine Tools (das hängt ein bisschen von Ihrer Definition des Worts Tool ab). Sie müssen also noch alle Kali-Tools herunterladen. Geben Sie den folgenden Befehl ein, um sie aus dem Kali-Repository zu aktualisieren, zu erweitern und zu installieren:

$ sudo apt update && sudo apt upgrade -y && sudo apt install kali-linux-everything -y

Sie müssen Ihren Benutzernamen und Ihr Passwort eingeben, um fortfahren zu können. Die Installation kann eine Weile dauern, also ist jetzt wieder eine gute Gelegenheit für eine Tee- bzw. Kaffeepause und ein paar Seiten in Ihrem aktuellen Buch (oder eine Toilettenpause, falls Sie in der letzten Pause viel getrunken haben).

Beachten Sie, dass sich diese Version von Linux in mehrerlei Hinsicht von derjenigen unterscheidet, die Sie über VirtualBox installieren würden. Zum einen hat das Linux-System dieselbe IP-Adresse und MAC-Adresse wie das Windows-System. Das ist ein wichtiger Unterschied zur VirtualBox-Version, bei der die Schnittstellen eigene IP- und MAC-Adressen haben. (Um diese Information einzusehen, führen Sie sudo ipconfig unter Linux und ipconfig auf der Windows-Eingabeaufforderung aus und vergleichen Sie die Ergebnisse.)

Ein weiterer Unterschied ist, dass bei diesem virtualisierten Linux verschiedene Funktionen nicht standardmäßig aktiviert sind. Eine dieser Funktionen ist ping, das Linux-Dienstprogramm, mit dem Sie testen, ob ein Host läuft. Wenn Sie versuchen, ein anderes System in Ihrem lokalen Netzwerk oder https://www.google.com anzupingen, bekommen Sie diese kryptische Nachricht zurück:

ping:socket: Operation not permitted

Um ping auf Ihrem frisch installierten Kali-System einzuschalten, geben Sie folgenden Befehl ein:

$ sudo setcapcap_net_raw+p /bin/ping

Anschließend sollten Sie in der Lage sein, http://www.google.com anzupingen.

Sie sind nun bereit, Kali unter Windows zu benutzen! Für erfahrene Linux-Benutzerinnen und -Benutzer erleichtert es WSL, ihre Tools und Skripte zu testen. Für professionelle Penetrationstests empfehle ich dennoch eine native Installation.

Kapitel 1Die Grundlagen