Einrichtung Ihrer Kali Linux-Umgebung

Kali LinuxBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, wie Sie eine Kali Linux-Umgebung mithilfe von Docker innerhalb der LabEx-VM einrichten und erkunden. Kali Linux ist eine leistungsstarke, Debian-basierte Distribution, die speziell für Penetration Testing und Aufgaben im Bereich der Cybersicherheit entwickelt wurde. Durch die Ausführung von Kali Linux in einem Docker-Container können Sie eine isolierte Umgebung schaffen, um Sicherheitstools zu üben, ohne das Host-System zu beeinträchtigen.

Sie beginnen damit, einen Kali Linux Docker-Container herunterzuladen und zu starten, greifen auf dessen Terminal zu und überprüfen die Einrichtung. Anschließend erkunden Sie grundlegende Terminalbefehle, sehen sich an, wie apt in Kali Linux verwendet wird, und prüfen die Kali-Version sowie Systeminformationen, um sicherzustellen, dass alles korrekt konfiguriert ist. Für Lernende im Free-Tier konzentriert sich dieses Lab auf das Verständnis des Paketmanagement-Workflows, da die VM keine externen Paket-Mirrors erreichen kann. Diese praktische Erfahrung bildet eine solide Grundlage für die Arbeit mit Kali Linux in einer containerisierten Umgebung.

Starten des Kali Linux Docker-Containers

In diesem Schritt laden Sie ein Kali Linux Docker-Image herunter, starten es in der LabEx-VM-Umgebung und greifen auf das Terminal zu. Docker ermöglicht es Ihnen, Anwendungen in isolierten Containern auszuführen, und Kali Linux ist eine spezialisierte Linux-Distribution für Cybersicherheit und Penetration Testing. Die Ausführung von Kali in einem Container sorgt für eine saubere, portable Einrichtung zum Lernen und Experimentieren.

Bevor wir beginnen, klären wir einige grundlegende Konzepte für Anfänger:

  • Docker: Docker ist eine Plattform, mit der Sie Anwendungen in Containern erstellen und ausführen können. Ein Container ist eine leichtgewichtige, isolierte Umgebung, die ein Betriebssystem und die notwendigen Tools enthält.
  • Kali Linux: Kali Linux ist eine Debian-basierte Linux-Distribution für Sicherheitstests, die mit vorinstallierten Tools für Penetration Testing und digitale Forensik ausgestattet ist.
  • Docker-Container: Ein Container ist eine laufende Instanz eines Docker-Images. Sie beginnen damit, das offizielle Kali Linux-Image herunterzuladen und daraus einen Container zu erstellen.

Lassen Sie uns nun das Kali Linux-Image herunterladen, den Container starten und auf das Terminal zugreifen. Alle Vorgänge werden im Standardverzeichnis /home/labex/project durchgeführt. Befolgen Sie diese Schritte sorgfältig.

  1. Öffnen Sie ein Terminal in der LabEx-VM-Umgebung. Sie können dies tun, indem Sie auf das Terminal-Symbol auf dem Xfce-Desktop klicken oder das in der LabEx-Oberfläche bereitgestellte Terminal verwenden.

  2. Bestätigen Sie, dass Sie sich im Standard-Arbeitsverzeichnis befinden, indem Sie diesen Befehl ausführen:

    pwd

    Die Ausgabe sollte wie folgt lauten:

    /home/labex/project

    Falls Sie sich nicht in /home/labex/project befinden, navigieren Sie mit folgendem Befehl dorthin:

    cd /home/labex/project
  3. Laden Sie das offizielle Kali Linux-Image von Docker Hub herunter. Führen Sie den folgenden Befehl aus:

    Hinweis für Free-User: Überspringen Sie den folgenden Befehl, wenn Sie den Free-Tier nutzen, da die VM Docker Hub nicht erreichen kann. Das Kali-Image wurde bereits durch das Setup-Skript heruntergeladen.

    docker pull kalilinux/kali-rolling

    Dieser Befehl lädt das neueste Kali Linux-Image herunter. Sie sehen den Fortschritt des Downloads im Terminal.

    Bild, das den Fortschritt des Docker-Downloads zeigt
  4. Überprüfen Sie, ob das Kali Linux-Image erfolgreich heruntergeladen wurde. Führen Sie aus:

    docker images

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    kalilinux/kali-rolling latest    xxxxxxxx       X days ago     XXXMB
  5. Starten Sie nun einen neuen Container aus dem Kali Linux-Image. Führen Sie diesen Befehl aus, um den Container im Hintergrund zu starten:

    docker run -d --name kali-container -it kalilinux/kali-rolling /bin/bash

    Hier ist die Erläuterung dieses Befehls:

    • docker run: Erstellt und startet einen neuen Container.
    • -d: Führt den Container im Detached-Modus (im Hintergrund) aus.
    • --name kali-container: Benennt den Container zur einfachen Referenzierung.
    • -it: Kombiniert -i (interaktiv) und -t (tty), um die Interaktion mit dem Terminal des Containers zu ermöglichen.
    • kalilinux/kali-rolling: Gibt das zu verwendende Image an.
    • /bin/bash: Startet eine Bash-Shell innerhalb des Containers.

    Nach der Ausführung dieses Befehls gibt Ihr Terminal die Container-ID zurück, was anzeigt, dass der Container nun im Hintergrund läuft.

    Überprüfen Sie den Status des Containers mit:

    docker ps

    Sie sollten den laufenden Container mit seiner ID sehen.

  6. Verbinden Sie sich mit dem laufenden Container mit:

    docker exec -it kali-container /bin/bash

    Sie befinden sich nun im Terminal des Containers. Sie bleiben für alle weiteren Schritte innerhalb dieses Terminals. Beenden Sie den Container nicht, es sei denn, Sie werden dazu aufgefordert. Falls Sie ihn versehentlich beenden, können Sie sich mit demselben Befehl wie oben wieder verbinden.

    Bild, das den Zugriff auf das Container-Terminal zeigt

Herzlichen Glückwunsch. Sie haben das Kali Linux Docker-Image erfolgreich heruntergeladen, einen Container gestartet und auf dessen Terminal zugegriffen. Im nächsten Schritt überprüfen Sie, ob die Umgebung korrekt eingerichtet ist, während Sie im Container bleiben.

Erkunden des Kali Linux-Terminals

In diesem Schritt erkunden Sie die Terminal-Schnittstelle innerhalb des Kali Linux Docker-Containers. Das Terminal ist der primäre Weg, um mit Linux-Systemen zu interagieren, insbesondere bei Kali Linux, wo die meisten Tools zeilenbasiert sind. Dieser Schritt hilft Ihnen, sich mit grundlegenden Befehlen und der Container-Umgebung vertraut zu machen.

Gehen wir einige Schlüsselkonzepte für Anfänger durch:

  • Terminal: Ein Terminal ist eine textbasierte Schnittstelle zur Interaktion mit dem Betriebssystem. Es ermöglicht Ihnen, Befehle auszuführen, Dateien zu verwalten und Einstellungen zu konfigurieren.
  • Bash-Shell: Bash (Bourne Again Shell) ist der Standard-Kommandozeilen-Interpreter in Kali Linux. Er verarbeitet die von Ihnen eingegebenen Befehle.
  • Root-Benutzer: Der root-Benutzer verfügt über vollständigen administrativen Zugriff unter Linux. Innerhalb dieses Containers sind Sie als root angemeldet, was Ihnen die volle Kontrolle gibt.

Da Sie sich bereits aus dem vorherigen Schritt im Kali Linux-Container befinden, beginnen wir mit der Erkundung des Terminals mittels grundlegender Befehle. Befolgen Sie diese Anweisungen sorgfältig.

  1. Bestätigen Sie Ihren aktuellen Standort innerhalb des Containers durch Ausführen von:

    pwd

    Die Ausgabe sollte wie folgt lauten:

    /

    Dies zeigt, dass Sie sich im Wurzelverzeichnis (Root-Verzeichnis) des Dateisystems innerhalb des Containers befinden.

  2. Listen Sie den Inhalt des aktuellen Verzeichnisses auf, um die Struktur des Dateisystems zu sehen. Führen Sie aus:

    ls

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

    Dies sind Standard-Linux-Verzeichnisse. Zum Beispiel enthält bin Binärdateien und etc Konfigurationsdateien.

  3. Überprüfen Sie Ihre Benutzeridentität durch Ausführen von:

    whoami

    Die Ausgabe sollte wie folgt lauten:

    root

    Dies bestätigt, dass Sie als root-Benutzer innerhalb des Containers arbeiten.

    Ausgabe des Befehls uname -a in Kali
  4. Bleiben Sie für die nächsten Schritte innerhalb des Container-Terminals. Geben Sie nicht exit ein, da dies die Verbindung zum Container trennt. Falls Sie versehentlich beenden, verbinden Sie sich vom Host-Terminal aus erneut mit docker exec -it kali-container /bin/bash.

Herzlichen Glückwunsch. Sie haben die Terminal-Schnittstelle des Kali Linux-Containers mit grundlegenden Befehlen erkundet. Im nächsten Schritt aktualisieren Sie das System, um sicherzustellen, dass es über die neuesten Pakete und Sicherheitspatches verfügt.

Überprüfung der Kali Linux-Paketverwaltung

In diesem Schritt überprüfen Sie, wie die Paketverwaltung von Kali Linux innerhalb des Docker-Containers funktioniert, und sehen sich die Befehle zum Aktualisieren des Systems und zur Installation von Sicherheitstools an. Es ist wichtig zu beachten, dass das Basis-Kali Linux Docker-Image standardmäßig keine vorinstallierten Sicherheitstools enthält. Diese Designentscheidung hält das Basis-Image klein und ermöglicht es Benutzern, nur die Tools zu installieren, die sie tatsächlich benötigen.

Gehen wir einige wichtige Konzepte für Anfänger durch:

  • Paketmanager: Ein Paketmanager kümmert sich um die Installation, Aktualisierung und Entfernung von Softwarepaketen. Kali Linux, das auf Debian basiert, verwendet apt (Advanced Package Tool) als Paketmanager.
  • apt update: Dieser Befehl aktualisiert den lokalen Paketindex, indem er die neuesten Paketinformationen von Online-Repositories abruft. Er installiert nichts, sondern aktualisiert nur die Liste der verfügbaren Pakete.
  • Kali Linux Tool-Sammlungen: Kali Linux bietet verschiedene Metapakete zur Installation von Tools an:
    • Einzelpakete: Installation spezifischer Tools einzeln (z. B. nmap, wireshark, metasploit-framework)
    • kali-linux-headless: Ein minimales Set an Tools für Headless-Systeme, das die gängigsten Kommandozeilen-Tools enthält
    • kali-linux-large: Eine umfassende Sammlung, die die meisten Sicherheitstools von Kali Linux enthält (~450 Tools)

Da Sie sich bereits aus dem vorherigen Schritt im Terminal des Kali Linux-Containers befinden, lassen Sie uns die Befehle zum Aktualisieren des Systems und zur Installation von Tools untersuchen. Befolgen Sie diese Anweisungen sorgfältig.

  1. Überprüfen Sie, ob der apt-Paketmanager innerhalb des Containers verfügbar ist. Führen Sie diesen Befehl aus:

    apt --version

    Sie sehen eine Ausgabe ähnlich der folgenden:

    apt 2.x.x (amd64)

    Dies bestätigt, dass der Standard-Kali-Paketmanager installiert und einsatzbereit ist, sobald Netzwerkzugriff besteht.

  2. Überprüfen Sie den Befehl zum Aktualisieren des Paketindex. Dies ist der Befehl, den Sie innerhalb des Containers ausführen würden, wenn Internetzugriff verfügbar ist:

    apt update

    Hinweis für Free-User: Führen Sie apt update in der Free-Tier-VM nicht aus. Der Container kann die externen Kali-Paket-Mirrors nicht erreichen, daher wird der Befehl mit einem Timeout abbrechen. Sie müssen für dieses Lab nur verstehen, was dieser Befehl bewirkt.

    Wenn Netzwerkzugriff verfügbar ist, sehen Sie eine Ausgabe ähnlich der folgenden:

    Get:1 http://kali.download/kali kali-rolling InRelease [30.5 kB]
    Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [18.1 MB]
    ...
    Fetched 18.5 MB in 5s (3,700 kB/s)
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
  3. Sie haben verschiedene Optionen zur Installation von Tools. Lassen Sie uns jeden Ansatz verstehen:

    a. Installation einzelner Tools (falls Sie nur bestimmte Tools benötigen):

    apt -y install <package-name>

    Zum Beispiel: apt -y install nmap wireshark

    b. Installation der Headless-Sammlung (für ein minimales Set an gängigen Tools):

    ## SIE MÜSSEN DIESEN BEFEHL NICHT AUSFÜHREN
    apt -y install kali-linux-headless

    Dies ist gut für grundlegende Sicherheitstests und bei begrenzten Ressourcen geeignet.

    c. Installation der Large-Sammlung (für umfassende Sicherheitstests):

    ## SIE MÜSSEN DIESEN BEFEHL NICHT AUSFÜHREN
    apt -y install kali-linux-large

    Dies enthält die meisten Sicherheitstools, erfordert jedoch mehr Speicherplatz und Installationszeit.

  4. Überprüfen Sie für dieses Lab den Befehl zur Installation der grundlegenden Tool-Sammlung:

    apt -y install kali-linux-headless

    Hinweis für Free-User: Führen Sie diesen Befehl in der Free-Tier-VM nicht aus. Er erfordert das Herunterladen von Paketen von Kali-Mirrors, was in dieser Umgebung blockiert ist.

    Das Flag -y bestätigt automatisch alle Eingabeaufforderungen, sodass die Installation ohne Unterbrechung fortgesetzt werden kann. Die Ausgabe sieht ähnlich aus wie:

    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      <package1> <package2> ...
    ...
    Setting up <package1> ...
    Setting up <package2> ...

    Wenn Internetzugriff verfügbar ist, nimmt dieser Prozess einige Zeit in Anspruch, da viele Pakete heruntergeladen und installiert werden. Das Metapaket kali-linux-headless bietet eine praktische Auswahl an Kommandozeilen-Sicherheitstools für Kali Linux.

    Wenn Sie eine kostenpflichtige Umgebung mit Internetzugriff nutzen, können Sie den Befehl ausführen und auf den Abschluss warten. In der Free-Tier-VM fahren Sie nach der Überprüfung einfach fort.

  5. Bleiben Sie für den nächsten Schritt im Terminal des Containers. Geben Sie nicht exit ein. Falls Sie versehentlich beenden, verbinden Sie sich vom Host-Terminal aus erneut mit docker exec -it kali-container /bin/bash.

Herzlichen Glückwunsch. Sie haben bestätigt, dass apt im Kali-Container verfügbar ist, und die Befehle zum Aktualisieren des Paketindex sowie zur Installation gängiger Kali-Tool-Sammlungen überprüft. Im nächsten Schritt prüfen Sie die Version und Systeminformationen von Kali Linux.

Überprüfung der Kali Linux-Version und Systeminformationen

In diesem Schritt überprüfen Sie die Version von Kali Linux und sammeln grundlegende Systeminformationen innerhalb des Docker-Containers. Die Kenntnis der Version und der Systemdetails hilft bei der Fehlerbehebung und stellt die Kompatibilität mit Sicherheitstools sicher.

Lassen Sie uns einige Schlüsselkonzepte für Anfänger erklären:

  • Versionsinformationen: Die Version von Kali Linux gibt das Release oder den Build an, den Sie verwenden. Kali folgt einem Rolling-Release-Modell, was bedeutet, dass es kontinuierliche Updates anstelle von festen Versions-Releases erhält.
  • Systeminformationen: Dies umfasst Details zum Kernel (dem Kern des Betriebssystems), der Hardware-Architektur und anderen Systemdaten. Befehle und Systemdateien stellen diese Informationen zur Überprüfung bereit.
  • Befehlsausgabe: Linux-Befehle zeigen oft detaillierte Informationen im Terminal an. Das Erlernen der Interpretation dieser Ausgabe ist nützlich, um Ihr System zu verstehen.

Da Sie sich bereits aus dem vorherigen Schritt im Terminal des Kali Linux-Containers befinden, fahren wir mit der Überprüfung der Version und Systeminformationen fort. Befolgen Sie diese Anweisungen sorgfältig.

  1. Überprüfen Sie die Kali Linux-Version, indem Sie den Inhalt der Datei /etc/os-release anzeigen. Führen Sie diesen Befehl aus:

    cat /etc/os-release

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    PRETTY_NAME="Kali GNU/Linux Rolling"
    NAME="Kali GNU/Linux"
    VERSION_ID="2023.3"
    VERSION="2023.3"
    VERSION_CODENAME="kali-rolling"
    ID=kali
    ID_LIKE=debian
    HOME_URL="https://www.kali.org/"
    SUPPORT_URL="https://forums.kali.org/"
    BUG_REPORT_URL="https://bugs.kali.org/"
    ANSI_COLOR="1;31"

    Dies zeigt Details wie die Version (z. B. 2023.3) und den Codenamen (kali-rolling). Die genaue Version kann je nach Image-Update variieren.

  2. Sammeln Sie Informationen über den Kernel und die Systemarchitektur. Führen Sie diesen Befehl aus:

    uname -a

    Die Ausgabe sieht ähnlich aus wie:

    Linux xxxxxxxxxxxx 5.10.0-0.deb10.9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux

    Dies zeigt die Kernel-Version (z. B. 5.10.0) und die Architektur (z. B. x86_64 für 64-Bit) an. Die genauen Details können abweichen.

  3. Überprüfen Sie den Hostnamen des Containers. Führen Sie diesen Befehl aus:

    hostname

    Die Ausgabe ist eine eindeutige Kennung, wie zum Beispiel:

    xxxxxxxxxxxx

    Dies ist der Hostname des Containers, der automatisch von Docker generiert wird und für jede Instanz eindeutig ist.

  4. Bleiben Sie im Terminal des Containers, wenn Sie weiter erkunden möchten. Wenn Sie zum Terminal der LabEx-VM zurückkehren müssen, geben Sie exit ein. Sie können sich jederzeit später mit docker exec -it kali-container /bin/bash wieder verbinden.

Herzlichen Glückwunsch. Sie haben die Kali Linux-Version und Systeminformationen mit einfachen Befehlen überprüft. Damit ist die grundlegende Einrichtung und Erkundung einer Kali Linux-Umgebung in einem Docker-Container abgeschlossen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie eine Kali Linux-Umgebung mithilfe von Docker in der LabEx-VM einrichten und verwalten. Sie haben damit begonnen, einen Kali Linux Docker-Container herunterzuladen und zu starten, auf dessen Terminal zuzugreifen und die Einrichtung zu überprüfen. Anschließend haben Sie die Terminal-Schnittstelle mit grundlegenden Befehlen erkundet, um die Umgebung zu verstehen. Sie haben außerdem überprüft, wie Kali apt für die Paketverwaltung verwendet, und gelernt, dass Free-Tier-Umgebungen keine externen Paket-Mirrors erreichen können, weshalb Paketaktualisierungen und -installationen in diesem Lab als Referenzbefehle behandelt werden müssen. Abschließend haben Sie die Kali Linux-Version und Systeminformationen überprüft, um die Einrichtung zu bestätigen. Diese Schritte vermittelten ein grundlegendes Verständnis für die Arbeit mit Kali Linux in einer containerisierten Umgebung für Aufgaben im Bereich der Cybersicherheit.