Deine Kali-Linux-Umgebung einrichten

LinuxBeginner
Jetzt üben

Einführung

Kali Linux ist eine Linux-Distribution für Sicherheitstests. Dieser Kurs beginnt mit den alltäglichen Terminalkenntnissen, die du vor dem Einsatz von Sicherheitswerkzeugen brauchst. Linux- oder Docker-Vorkenntnisse sind nicht erforderlich.

Deine LabEx-Maschine läuft mit Ubuntu und beherbergt einen separaten Kali-Container. Ein Container stellt eigene Dateien und Programme bereit und nutzt dabei den Linux-Kernel des Hosts gemeinsam mit diesem. Das Lab bereitet diese Umgebung für dich vor. Du meldest dich in Kali als normaler Benutzer an, identifizierst das System, liest die Befehlshilfe und speicherst eine kleine Aufzeichnung der Umgebung. In diesem ersten Lab gibt es kein Scan-Ziel.

Verwende während des gesamten Labs die Terminal-Oberfläche. Du brauchst weder einen Desktop noch ein Docker-Hub-Konto oder einen Schritt zur Softwareinstallation.

Kali aufrufen und deine erste Datei schreiben

In diesem Schritt betrittst du die vorbereitete Kali-Umgebung, bestimmst deinen Benutzer und dein Arbeitsverzeichnis und schreibst eine kurze Textdatei.

Das Terminal ist das Textfenster; die Shell ist das Programm, das deine Befehle liest. Klicke in das Terminal, tippe einen Befehl ein und drücke Enter. Kopiere nur den Befehl, nicht die davor angezeigte Eingabeaufforderung.

Das anfängliche Terminal gehört zum Ubuntu-Host und läuft unter labex. Das Lab stellt einen Befehl namens kali bereit, der im vorbereiteten Container eine Bash-Shell öffnet. Die Einrichtung des Containers ist bereits abgeschlossen; du musst selbst keine Docker-Befehle ausführen.

kali

Deine Eingabeaufforderung sieht jetzt so aus:

kali@kali-training:/home/labex/project$

Dabei ist kali dein Benutzername, kali-training der Name dieses Containers und der Pfad dein aktuelles Verzeichnis. Das abschließende $ kennzeichnet üblicherweise einen normalen Benutzer; eine Eingabeaufforderung für den Administrator root verwendet häufig #. Eingabeaufforderungen lassen sich anpassen. Bestätige die Identität daher mit whoami, das den effektiven Benutzernamen ausgibt:

whoami

Erwartete Ausgabe:

kali

Du arbeitest als normaler Benutzer und nicht als root. Administrative Vorgänge werden später im Kurs eingeführt.

Mit pwd (print working directory) findest du heraus, wo Dateien mit relativen Namen geschrieben werden:

pwd

Erwartete Ausgabe:

/home/labex/project

Ein mit / beginnender Pfad ist ein absoluter Pfad im Dateisystem. Dieses Projektverzeichnis wird unter demselben Pfad mit dem Ubuntu-Host geteilt. Dateien, die du hier speicherst, bleiben daher für LabEx zugänglich. Andere Containerpfade, etwa /etc/os-release, gehören zu Kali. Das Home-Verzeichnis des Containerbenutzers ist /home/kali; es unterscheidet sich vom gemeinsamen Projektverzeichnis.

echo gibt eine Nachricht aus. Einfache Anführungszeichen halten die Wörter als wörtlichen Text zusammen. Der Shell-Operator > leitet die Ausgabe in eine Datei statt auf den Bildschirm. Dabei wird die Datei erstellt oder ihr vorhandener Inhalt ersetzt. Erstelle damit deine erste Übungsdatei:

echo 'Kali practice started' > welcome.txt

Es wird keine Ausgabe erwartet: Die Nachricht wurde in welcome.txt in deinem aktuellen Verzeichnis geschrieben. cat liest eine Datei und gibt ihren Inhalt aus:

cat welcome.txt

Erwartete Ausgabe:

Kali practice started

Damit hast du bestätigt, dass du im Kali-Arbeitsbereich eine Datei erstellen und lesen kannst. Bleibe für den nächsten Schritt in dieser Kali-Shell. Wenn du das Terminal schließt, öffne ein neues Terminal und führe erneut kali aus. Mit exit innerhalb von Kali kehrst du zum Host zurück; der Container und deine Projektdateien werden dadurch nicht gelöscht.

Kali identifizieren und seine Versionsinformationen speichern

In diesem Schritt liest du die Systemkennung von Kali, nutzt die integrierte Befehlshilfe und speicherst eine Versionsaufzeichnung, ohne eine bestimmte Versionsnummer vorauszusetzen.

Linux-Distributionen stellen /etc/os-release als Textdatei mit KEY=value-Einträgen bereit. /etc enthält Dateien für Systemkonfiguration und Systemkennung. Lies die Datei in der Kali-Shell, die du in Schritt 1 geöffnet hast:

cat /etc/os-release

Suche in der Ausgabe nach diesen Einträgen:

PRETTY_NAME="Kali GNU/Linux Rolling"
...
ID=kali
...

ID identifiziert die Distribution; PRETTY_NAME ist ihr lesbarer Name. Mit VERSION beginnende Einträge beschreiben die Version, sofern sie bereitgestellt werden, etwa VERSION_ID, VERSION oder VERSION_CODENAME. Das abgenommene Lab-Image enthält diese Felder derzeit, doch Linux-Distributionen liefern nicht alle dieselben Versionsfelder. Lies die tatsächlich angezeigten Werte, statt eine Version aus einer Anleitung zu kopieren. Wenn bei ID der Wert ubuntu steht, bist du noch auf dem Host: Führe kali aus und wiederhole dann den Befehl.

Kali ist eine Rolling-Distribution, deren Software sich im Lauf der Zeit ändert. Dieses Lab verwendet ein festes Image, damit die Übung reproduzierbar bleibt. Du musst keine Software aktualisieren oder Upgrades durchführen, um die Umgebung zu identifizieren. Ein minimaler Kali-Container enthält außerdem nicht jedes Sicherheitswerkzeug.

Viele Programme bieten die Option --help, um ihre Verwendung zu erklären. Eine Option verändert das angeforderte Verhalten; --help fordert Nutzungshinweise an, statt eine Datei zu lesen. Probiere es mit cat aus:

cat --help

Nahe dem Anfang solltest du Folgendes sehen:

Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.

[FILE] ist ein Platzhalter für Dateipfade und kein Text, den du wörtlich eingeben sollst. Optionale Teile stehen in eckigen Klammern. Die Hilfe bestätigt, dass Dateiinhalte normalerweise auf die Standardausgabe gelangen, die du bisher im Terminal gelesen hast.

Verwende erneut > aus Schritt 1, um diese Ausgabe zu speichern. Diesmal liefert der Befehl die tatsächlichen Versionsinformationen statt einer von dir eingegebenen Nachricht:

cat /etc/os-release > kali-release.txt

Das liest /etc/os-release und schreibt eine separate Datei in dein Projektverzeichnis. Die Datei mit der Systemkennung wird nicht verändert. Lies deine gespeicherte Aufzeichnung:

cat kali-release.txt

Die Ausgabe sollte mit der zuvor gelesenen Quelle übereinstimmen, einschließlich ID=kali und aller verfügbaren VERSION-Einträge. Die vollständige kleine Datei bewahrt die Originalwerte und Anführungszeichen, ohne Filterbefehle zu erfordern, die du noch nicht gelernt hast. Du hast jetzt eine lesbare Aufzeichnung der Umgebung in /home/labex/project/kali-release.txt.

Zusammenfassung

Du hast vom Ubuntu-Host aus einen vorbereiteten Kali-Container betreten, die Eingabeaufforderung eines normalen Benutzers erkannt und deine Identität sowie dein Arbeitsverzeichnis bestätigt. Du hast eine Textdatei erstellt und gelesen, cat --help verwendet und die tatsächlichen Versionsinformationen von Kali im gemeinsamen Arbeitsbereich gespeichert.

In der zugehörigen Challenge erstellst du mit denselben Fähigkeiten eine korrekte Versionsaufzeichnung in einer neuen, unabhängigen Umgebung.